JP4430282B2 - Work schedule creation support system - Google Patents

Work schedule creation support system Download PDF

Info

Publication number
JP4430282B2
JP4430282B2 JP2002165499A JP2002165499A JP4430282B2 JP 4430282 B2 JP4430282 B2 JP 4430282B2 JP 2002165499 A JP2002165499 A JP 2002165499A JP 2002165499 A JP2002165499 A JP 2002165499A JP 4430282 B2 JP4430282 B2 JP 4430282B2
Authority
JP
Japan
Prior art keywords
condition
work
work schedule
additional
violation
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.)
Expired - Fee Related
Application number
JP2002165499A
Other languages
Japanese (ja)
Other versions
JP2004013487A5 (en
JP2004013487A (en
Inventor
精也 長谷川
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 JP2002165499A priority Critical patent/JP4430282B2/en
Publication of JP2004013487A publication Critical patent/JP2004013487A/en
Publication of JP2004013487A5 publication Critical patent/JP2004013487A5/ja
Application granted granted Critical
Publication of JP4430282B2 publication Critical patent/JP4430282B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、看護婦や警備員などの勤務表(勤務予定表)を作成する勤務表作成支援システム、特に、作成中の勤務表において作成者が指定した個所を自動的に修正し、新たな勤務表を提示することができる勤務表作成支援システムに関する。
【0002】
【従来の技術】
病院においては、例えば各病棟ごとに看護婦の勤務表が作成される。その勤務表は、婦長等によって作成されるが、その作成に当たっては様々な制約条件を考慮しなければならない。すなわち、勤務表の作成者は、有給休暇などの各看護婦の勤務の希望、各種行事、資格や能力上の要請などの多くの条件を満足するよう作成する必要がある。勤務表で表されるスケジュールは、通常、勤務者と勤務日とによる2次元マトリックスで表現されるが、2次元マトリックス上の各要素には、縦方向及び横方向の他の要素(同じ勤務日の他の勤務者又は同一勤務者の他の勤務日)に設定されている要素値(すなわち日勤、夜勤、休み等の勤務区分)、更に各要素値の集計値を参照し、各制約条件に違反しないように調整しながら適切な要素値を割り付けなければならない。
【0003】
しかし、全ての条件を満足する勤務表を最初から完璧に作成することは通常は困難である。従って、実際の婦長等が勤務表を作成するときは、勤務表をとりあえず完成させて、その勤務表に対して違反した条件を解消するように手作業で修正を加えていくようにしている。このように、従来においては、多くの条件を反映させた勤務表を作成するために多大な負担・労力を要しているのが現状である。
【0004】
このような勤務表の作成に要する負担を軽減するために、勤務表をコンピュータが自動作成するための各種支援システムが提案されている。この種のシステムでは、一般に数理計画的手法あるいは知識工学的手法のいずれかを用いることが多いが、いずれにしても婦長等の作成者が考慮している諸条件を何らかのモデルによってコンピュータ内で表現する必要がある。例えば、特開平4−15865号では、制約条件を知識ベースモデルによって表現し、最初に設定した知識ベースで自動作成したスケジュール表を見ながら、各制約条件の優先順位を変更の指針として作成者が手作業により知識ベースの改善を図り、次回以降の自動作成時により良い解を得ようとする提案がなされている。
【0005】
【発明が解決しようとする課題】
しかしながら、勤務表を作成するための条件は非常に複雑であり、実用的な時間で条件を満たす勤務表を作成するのは困難である。従って、人間の考える条件をより反映させるために、実用的なシステムでは自動作成した勤務表に対して後から修正する機能が不可欠になる。前述した従来例においても、自動作成したスケジュール表においてその表の中の一つまたは複数の要素を、作成者が明示的に指定した別の値に変更することによりスケジュール表を修正していた。前述したように、スケジュール表や勤務表を作成するためには多くの制約条件が設定されている。勤務表の一要素値を変更することによっていずれかの制約条件違反は解消するかもしれないが、他の制約条件の違反が新たに発生する可能性もある。例えば、ある勤務日の夜勤勤務者が所定数に達していないという条件に違反しているためにAさんの勤務区分を夜勤に変更すると、今度はAさんの勤務状況を、夜勤は連続させないという条件や1か月の夜勤日数の所定数を超えさせないと言う条件に違反させてしまう可能性がある。更に、Aさんの勤務についての違反を解消するためにAさんの他の勤務日の夜勤を日勤に変更すると、その変更した勤務日の夜勤勤務者が所定数に達しなくなってしまう可能性がある。
【0006】
すなわち、勤務表作成に関する制約条件の多くは、勤務表の複数の要素に関連しているため、一般に一つの要素の値を変更した場合には、付随して他の要素の値も同時に変更する必要が生じる場合が少なくない。このため、最初に決定した要素変更が妥当なものであったかどうかは、その要素変更に付随した他の要素変更を行ってみないとわからない。しかし、要素変更に付随してどのように変更すべきかは容易にわからない。また、変更する要素値の候補が複数存在する場合には、どの要素値を選択すればよいのかも容易に特定できない場合もある。
【0007】
このため、勤務表作成者は、作成された勤務表において一つの「修正したい状態」を解消するためにさまざまな要素変更の試行錯誤を行う必要があり、これが勤務表作成者にとって大きな負担となり、満足できる勤務表を作成することは困難となっていた。
【0008】
本発明は以上のような問題を解決するためになされたものであり、その目的は、勤務表作成の際の修正に関して、作成者が修正したいと考える勤務状態を指示するだけで、その勤務状態の修正に付随して他の要素に設定された要素値を効果的に自動修正することのできる勤務表作成支援システムを提供することにある。
【0009】
【課題を解決するための手段】
以上のような目的を達成するために、本発明に係る勤務表作成支援システムは、各勤務者の勤務状況を表す2次元マトリクスを含む勤務表を作成する勤務表作成支援システムにおいて、勤務表を作成するための作成条件を記憶する割付条件記憶手段と、勤務表について前記作成条件に対する条件違反度を示すペナルティ値を計算し、当該ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記2次元マトリクス上に各勤務区分を割り付ける初期割付処理を実行することによって勤務表を作成する初期割付処理手段と、前記作成した勤務表について前記作成条件に対する条件違反を警告表示する警告表示手段と、前記作成した勤務表を修正する際の追加条件を記憶する追加条件記憶手段と、前記警告表示された条件違反のうち任意の条件違反を勤務表作成者が入力指定することによって当該条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定する入力手段と、勤務表について前記作成条件に対する違反度を示すペナルティ値及び前記追加条件に対する条件違反度を示す追加ペナルティ値を計算し、当該ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記初期割付処理手段が割り付けた2次元マトリクス上の各勤務区分を変更する修正割付処理を実行することによって勤務表を作成する修正割付処理手段とを有し、前記修正割付処理手段は、前記修正割付処理によって作成された勤務表において前記追加条件に対する条件違反が解消されないと、当該追加条件に対する追加ペナルティ値に加重を課した追加ペナルティ値を再設定し、前記ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、前記修正割付処理を再度実行することを特徴とする。
【0010】
上記構成によれば、勤務表上にある条件違反の個所や、条件違反ではないが作成者が修正したいと考える状態などを入力手段から指示すると、その指示に従った上でなるべく最初の割付条件に合致するように勤務表を修正することができる。この際、勤務表作成者は、勤務表の個々の要素に対して要素値の変更操作を行う必要がなくなり、作成者の負担を大幅に軽減することができるとともに自らの意思を勤務表に反映させることができる。
【0011】
また、前記修正割付処理手段は、勤務表を作成する際に、前記追加条件記憶手段に記憶されている追加条件に対する条件違反が解消するまで前記修正割付処理を反復して行い、前記修正割付処理の反復実行過程において、その反復回数に応じた加重を課した追加ペナルティ値を再設定して評価値を計算することを特徴とする。
【0015】
本発明に係る勤務表作成支援システムは、各勤務者の勤務状況を表す2次元マトリクスを含む勤務表を作成する勤務表作成支援システムにおいて、勤務表を作成するための作成条件を記憶する割付条件記憶手段と、勤務表について前記作成条件に対する条件違反度を示すペナルティ値を計算し、当該ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記2次元マトリクス上に各勤務区分を割り付ける初期割付処理を実行することによって勤務表を作成する初期割付処理手段と、前記作成した勤務表について前記作成条件に対する条件違反を警告表示する警告表示手段と、前記作成した勤務表を修正する際の追加条件を記憶する追加条件記憶手段と、前記警告表示された条件違反のうち任意の条件違反を勤務表作成者が入力指定することによって当該条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定する入力手段と、勤務表について前記作成条件に対する違反度を示すペナルティ値及び前記追加条件に対する条件違反度を示す追加ペナルティ値を計算し、当該ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記初期割付処理手段が割り付けた2次元マトリクス上の各勤務区分を変更する修正割付処理を実行することによって勤務表を作成する修正割付処理手段とを有し、前記警告表示手段は、前記作成した勤務表について前記作成条件に対して条件違反が生じている当該勤務表上の勤務状況部分を明示することで当該条件違反を警告表示し、前記入力手段は、前記警告表示手段により警告表示された前記勤務状況部分のうち、入力指定された勤務状況部分の条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定することを特徴とする。
【0016】
この構成によれば、勤務表作成者が修正したいと考えるものに対して入力手段において警告表示の個所を指定した場合に、当該警告表示のもとになっている条件違反から追加条件を構成することができ、勤務表作成者が必要と考える追加条件入力をより簡便に行うことができる。
【0017】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0018】
図1は、本発明に係る勤務表作成支援システムの一実施の形態を示した機能ブロック構成図である。本実施の形態における勤務表作成支援システムは、割付条件記述部2、入力部4、評価値計算部6、追加条件記憶部8、勤務表作成処理部10、表示処理部12及び勤務表保存部14を有している。また、勤務表作成処理部10には割付実行部16及び修正実行部18が、表示処理部12には違反判定部20、違反記憶部22及び警告表示部24が、それぞれ含まれている。
【0019】
割付条件記述部2には、勤務表を作成するための作成条件、換言すると勤務表の2次元マトリクス上に勤務区分を割り付けるための割付条件が予め記憶されている。入力部4は、勤務表作成前にあるいは追加的に割付条件記述部2に記憶させる割付条件を入力し、設定する。また、勤務表を修正する際に追加する条件の入力、更に勤務表の2次元マトリクス(以下、「勤務表マトリクス」)に対する修正入力を直接受け付ける。追加条件記憶部8には、入力部4を介して勤務表作成者により入力指定された追加条件が記憶される。また、修正実行部18で実行された修正試行回数が追加条件毎に記録される。評価値計算部6は、勤務表作成処理部10が作成した勤務表が割付条件記述部2に設定登録されている割付条件と追加条件記憶部8に記憶されている追加条件にどれだけ違反しているか、その条件違反度を示す評価値を算出する。
【0020】
勤務表作成処理部10は、割付条件記述部2に設定登録されている割付条件と追加条件記憶部8に記憶されている追加条件に基づいて、所定規則に従い2次元マトリクス上に各勤務区分を割り付ける割付処理を実行することによって勤務表を作成する。勤務表作成処理部10に含まれている割付実行部16は、評価値計算部6から得られる評価値がなるべく小さくなるように勤務表マトリクスの各要素値を決定する。勤務表保存部14は、割付処理された勤務表を記憶する。修正実行部18は、入力部4からの指示や追加条件記憶部8に記憶されている追加条件に従って、勤務表マトリクス上の追加条件違反状態が解消されるように割付実行部16を制御する。
【0021】
表示処理部12は、勤務表や違反した条件を表示するための手段である。表示処理部12に含まれている違反判定部20は、表示された勤務表における条件違反を検出し、違反記憶部22に記憶する。警告表示部24は、違反判定部20により条件違反が検出されたときにその違反に対する警告表示を行う。
【0022】
図2は、本実施の形態における勤務表作成処理部10により作成され、表示処理部12により表示される勤務表の一例を示した図である。本実施の形態における勤務表は、各勤務者の勤務状況を示す2次元マトリクス(勤務表マトリクス)を含んでいる。割付領域は、勤務表作成を行う所定期間(例えば1か月)にわたって各勤務者(職員)の勤務区分が割り付けられる領域であって、割付結果である勤務表が表示される。その左端には病棟に所属する職員名が列記され、その上端には日付が記載されている。図中の「日」、「準」、「深」、「休」、「有」、「振」、「特」、「代」は表示分類に従う出勤休暇の区分を示し、この例ではそれぞれ「日勤」、「準夜勤」、「深夜勤」、「休み」、「有給休暇」、「振替休暇」、「特別休暇」、「代休」を意味している。後述する自動割付を実行させると、生成された割付結果がこの領域に表示される。また、勤務表作成者がマウス、キーボード等の入力部4を用いて勤務を直接入力することも可能である。また、図中において左側に示されるハッチがかかった部分は、前月の最終週の勤務状況を表しており、例えば当月第1週の割付の勤務パターン条件を判断する際に必要に応じて参酌される。
【0023】
横集計領域において、横方向には判断分類(勤務回数集計用)に従う出勤休暇の区分が示され、それに対応して縦方向に沿って、各職員ごとの勤務回数の集計欄がある。ここには勤務表の作成を行う期間全体に渡って、勤務の回数を集計した値が表示される。割付領域で勤務表作成者による入力や自動割付によって勤務が変更された場合、各集計値もリアルタイムに更新される。
【0024】
実働集計領域においては、勤務表作成期間内における各職員ごとの実働時間の集計が表示される。割付領域で勤務表作成者による入力や自動割付によって勤務が変更された場合には、この集計値もリアルタイムに更新される。
【0025】
縦集計領域において、縦方向には判断分類職員数(集計用)に従う出勤休暇の区分が示され、横方向に沿って各区分ごとの勤務者数が表示される。また、後述のように、下部のタブを選ぶことにより、職員の属性あるいはグループごとに集計を切り換えて表示することができる。割付領域において勤務表作成者による入力や自動割付によって勤務が変更された場合には、この集計値もリアルタイムに更新される。
【0026】
上記の横集計表及び縦集計表においては、勤務表の基礎をなす表示分類とは異なる集計用の判断分類に従って集計が行われており、このため、勤務表作成者が従来頭の中で行っていた再計算を不要にでき、勤務表の集計やチェックをより簡単に行うことができるという利点がある。
【0027】
図2に示されるように、本実施の形態における勤務表作成支援システムにおいては、勤務表及び各集計表において、割付条件に違反した個所が反転表示により警告表示され、どの部分が条件違反個所であるか容易に特定できる。この例では、各長円によって補充説明がなされているように、「勤務パターン条件違反」、「勤務間隔条件違反」、「職員組合せ条件違反」、「勤務供給条件違反」、「実働集計条件違反」が指摘されている。
【0028】
更に、このシステムにおいて、警告表示があった個所にポインタを移動させてマウスクリックを行う、あるいは一定時間ポインタを停止させることにより、図示されるように、その警告内容を表示させることができる。図示の例では、矩形の吹き流し表示によって「「休」と「休」の間隔が7日です。」というメッセージが表示されている。よって、これらの機能を利用して、勤務表の作成をより容易化・迅速化できる。なお、図2では、違反の種類を長円で囲み示し、また、マウスカーソルで指示されている違反部分の違反内容(警告内容)を矩形の吹き流しで示しているが、これらの表示/非表示を切り替え可能としてもよい。
【0029】
縦集計領域の下部には、上記のように、職員グループ名を表す幾つかのタブがあり、そのタブの選択によって特定グループに属する職員の集計表を表示可能である。ここで、図2は、「全体」のタブを選択した例であり、5日の全看護婦に対する準夜勤の人数が2名となっているため、勤務需要条件を満たしていないことを示している。なお、勤務区分の種類や分類、集計方法に関しては、本発明の要旨ではないため詳細な説明は省略するが、本願と同一出願人による特開2000−99569号公報に記載された内容をそのまま使用することができる。
【0030】
ここで、本実施の形態における割付条件記述部2に登録される割付条件について例を挙げて説明する。本実施の形態では割付条件を、勤務需要条件、 勤務供給条件、勤務パターン条件、勤務間隔条件、割付単位条件及び職員組み合わせ条件という種別に分類して扱っている。勤務需要条件というのは、1日の職員数の上限、下限、目標人数を職員の資格と勤務ごとに定めた条件であり、[例1]職員全員に対して日勤を下限10名〜上限12名とする(重み100)、[例2]夜勤リーダー資格の職員に対して準夜勤務を下限1名とする(重み200)などである。勤務供給条件というのは、所定期間(例えば 1ヶ月)内での各職員の勤務回数の上限、下限、目標回数の条件であり、[例1]職員Aの1ヶ月間の準夜勤務を下限4回とする(重み50)、[例2]各職員とも 1ヶ月間の休みを下限7回とする(重み30)などである。勤務パターン条件というのは、一人の職員について着目した場合に、回避したいあるいは推奨したい勤務のならびを定めた条件であり、[例1]病棟の全職員について準夜 深夜のならびを回避する(重み20)、[例2]職員Cは、深夜深夜深夜のならびを回避する(重み100)などである。勤務間隔条件というのは、一人の職員について着目した場合に、勤務と勤務の間隔の上限を定めた条件であり、[例]休みと休みの間隔は上限5日とする(重み150)などである。割付単位条件とうのは、職員がある日に行いたいまたは行いたくない勤務を定めた条件であり、[例1]職員Dの5月1日は準夜と深夜を回避する(重み500)、[例2]職員Eの5月10日は休みまたは日勤を推奨する(重み200)などである。職員組み合わせ条件というのは、ある職員が同じ勤務を一緒に行いたいまたは行いたくない職員を定めた条件であり、[例1]職員Fは、準夜勤務で職員Gまたは職員Hとは組まない(重み70)、[例2]職員Iは、日勤で職員Jまたは職員Kと組む(重み80)などである。割付条件記述部2には、上記のように勤務表作成にあたって必要とされる割付条件が登録されるが、本実施の形態においては、各割付条件に対応させて重みを予め設定しておく。重みは、勤務表を作成する上での各割付条件の重要度を示す値であり、本実施の形態では大きい数の方が重要な条件となる。もちろん、小さい方を重要としてもよく、この場合は以降に詳述する評価値比較による評価の判断は逆になる。割付条件は、評価値計算部6及び違反判定部20により利用される。なお、ここでは、代表的な割付条件を列挙したが、この例に限定されるものではなく、勤務表を作成する業種、職種、業務規模等によって適切な条件の種類や重みを設定すればよい。
【0031】
次に、本実施の形態における動作について説明する。まず、図3に示したフローチャートを用いて、最初に初期割付を行い、その結果を修正することにより勤務表を作成する基本的な処理の全体の流れについて説明する。なお、割付処理に必要な割付条件は上記の通り割付条件記述部2に予め登録されているものとする。
【0032】
ステップ100における初期割付処理では、割付実行部16が評価値計算部6から得られる評価値がなるべく小さくなるよう勤務表マトリクスの要素値を決定する。初期割付では、まだ追加条件が設定されていないので、評価値計算部6は、割付条件記述部2に設定されている割付条件を用いて勤務表の評価値を決定する。なお、割付実行部16及び評価値計算部6における処理の詳細については後述する。
【0033】
ステップ200における表示処理では、表示処理部12が上記初期割付処理によって作成された勤務表を画面表示する。この際、違反判定部20は、割付条件記述部2の割付条件を用いて作成された勤務表に条件違反を検出したとき、その違反に該当する割付条件及びその違反内容を違反記憶部22に書き込む。そして、警告表示部24は、違反記憶部22に書き込まれた条件違反を通知するために警告表示する。
【0034】
続いて、ステップ300における分岐では、入力部4から追加条件となる入力があったかどうかが判断される。あった場合には次に述べる修正割付が行われる。入力がない場合には、ステップ400においてにおいて勤務表の作成が完了したかどうかが判断され、完了していない場合には表示処理以降の工程が繰り返し実行される。
【0035】
ステップ500における修正割付処理では、修正実行部18がまず入力部4からの入力に基づいて追加条件を構成し、追加条件記憶部8に登録する。追加条件記憶部8の内容例を図7に示す。その後、修正実行部18では割付実行部16を利用して、追加条件記憶部8に記録された追加条件に従って勤務表マトリクスを修正していく。修正実行部18における処理の詳細は後で説明する。修正割付処理が終了すると、再び表示処理に戻って同様の工程を繰り返す。
【0036】
本実施の形態における勤務表作成処理の全体の流れは、以上の通りであるが、以下に各処理について詳述する。まず最初に、初期割付処理(ステップ100)について説明する。
【0037】
本実施の形態における初期割付処理というのは、割付実行部16により実行され、予め入力されている作成条件に基づいて所定規則に従い2次元マトリクス上に各勤務区分をはじめて割り付ける処理である。なお、修正割付処理(ステップ500)においても同様に2次元マトリクス上に各勤務区分を割り付ける処理を実行するが、修正割付処理では追加条件を考慮するため、割付処理において追加条件を考慮しないで実行される割付処理を、ここでは特に初期割付処理と呼ぶこととする。もちろん、初期割付処理の際には追加条件記憶部8に追加条件は記憶されていない。
【0038】
初期割付処理において、割付実行部16は、まず勤務表マトリクスの空の要素に対して適当な要素値(勤務区分)を初期解として割り当てる。初期解の決め方の例としては、勤務表マトリクスの全要素に同じ勤務 (例えば休みなど) を割り当てる、あるいは、全ての要素の勤務をランダムに割り当てる、などの方法がある。次に、このように決定した初期解から所定のアルゴリズム、例えば山登り法、整数計画法、遺伝的アルゴリズム、シミュレーテッド・アニーリングなどの手法を用いて勤務表マトリクスの要素の値を変更する。いずれのアルゴリズムを用いる場合でも、要素の値を変更する際にはその時の勤務表マトリクスをもとに評価値計算部6で算出される評価値がなるべく小さくなるようにする。各アルゴリズムにおいて、それ以上ペナルティ値の小さい勤務表が得られなくなったり、反復回数や経過時間が既定値に達した場合に割付処理が終了となる。以下、初期割付の具体的な処理の流れを図4に示したフローチャートを用いて説明する。なお、ここでは、アルゴリズムとしては要素値のランダムな変更に基づく山登り法を用いて説明する。
【0039】
割付実行部16は、まず、反復回数を示すカウンタの値を0に初期化した後(ステップ101)、勤務表マトリクスに、休み、日勤、準夜等の勤務区分を割り当てる(ステップ102)。このときの割り当てる勤務区分は、初期値としてランダムに割り当てればよい。なお、本実施の形態では、初期値をランダムに定める例を示したが、何らかの規則に従って定めたり、全てを一様な値にするなどの方法を用いてよい。
【0040】
続いて、割付実行部16は、初期値の割り当てられた勤務表マトリクスに対する評価値を、評価値計算部6に算出させる(ステップ103)。算出した評価値は、変更前評価値として記録しておく(ステップ104)。なお、評価値算出処理の詳細については、追って説明する。次に、割付実行部16は、勤務表マトリクス中のいくつかの要素の値をランダムに変更する(ステップ105)。なお、ここではランダムに変更する例を示したが、何らかの基準に従って規則的に変更する、等の方法を用いてもよい。割付実行部16は、このように変更した勤務表マトリクスに対する評価値を評価値計算部6に改めて算出させ(ステップ106)、変更後評価値として記録する(ステップ107)。
【0041】
ここで、変更後評価値が変更前評価値よりも小さい場合には、先に実施した勤務表マトリクスにおける要素値の変更により勤務表が改善されたとみなすことができる。このときには、変更後評価値を次の変更前評価値として記録しておく(ステップ108,109)。一方、逆に変更後評価値が変更前評価値以上であった場合には、先の変更により勤務表が改善されなかったので、先のマトリクス要素の変更を元に戻す(ステップ108,110)。
【0042】
続いて、反復回数のカウンタの値を1加算する(ステップ111)。ここで、反復回数が予め設定した規定回数 (例えば1万回) を超えた場合には、処理を終了する(ステップ112)。また、経過時間が一定時間を超過した場合にも処理を終了する(ステップ113)。なお、初期割付処理の終了条件として、ここでは反復回数、経過時間の2種類を例示したが、これ以外にもある一定回数の反復において一度も勤務表の改善が見られなかった場合に終了する、等の基準により処理を終了させてもよい。上記終了条件に抵触しない場合には、ステップ105に戻って処理を繰り返す。
【0043】
次に、表示処理(ステップ200)について説明する。なお、本実施の形態において作成し、表示する勤務表に関しては、図2を用いて前述したが、勤務表の作成、表示自体は本発明の要旨ではないため説明を省略する。
【0044】
表示処理部12が上記初期割付処理によって作成された勤務表を画面表示する際、違反判定部20は、割付条件記述部2が持っている割付条件と勤務表保存部14に記憶されている勤務表とから、勤務表中の割付条件違反の有無やその発生位置を検出し、違反記憶部22に格納することは前述したとおりである。この格納される違反を例示すると、例えば、勤務需要条件に関しては、「夜勤リーダー資格の職員に対して準夜勤務を下限1名とする」という割付条件に対して「5月4日に、夜勤リーダー資格の社員に対して準夜勤務が1名未満」という違反が考えられる。 勤務供給条件に関しては、「職員Aの1ヶ月間の準夜勤務を下限4回とする」という割付条件に対して「職員Aの1ヶ月間の準夜勤務が4回未満」という違反が考えられる。勤務パターン条件に関しては、「病棟の全職員について準夜 深夜のならびを回避する」という割付条件に対して「職員Bの5月10日から11日にかけて、準夜 深夜の並びがある」という違反が考えられる。割付単位条件に関しては、「職員Aの5月1日は準夜と深夜を回避する」という割付条件に対して「職員Aの5月1日に深夜が割り付けられている」という違反が考えられる。
【0045】
条件違反の発生位置というのは、勤務者と勤務日とが交差した要素で特定されるが、必ずしも勤務表マトリクス中の単一の要素を示すとは限らず、条件の種類に応じてある特定の1日あるいは期間を示す場合もあり、また、ある特定の勤務者あるいは複数の勤務者を示す場合もある。違反判定部20が検出した条件違反は、以下の情報の組として違反記憶部22に登録される。
【0046】
勤務需要条件違反 … 勤務需要条件、日付、資格により限定される職員のグループ、勤務
勤務供給条件違反 … 勤務供給条件、職員、日付
勤務パターン条件違反 … 勤務パターン条件、職員、勤務パターン条件違反の先頭日、最終日
勤務間隔条件違反 … 勤務間隔条件、職員、勤務間隔条件違反の先頭日、最終日
割付単位条件違反 … 割付単位条件、職員、日付
職員組み合わせ条件違反 … 職員組み合わせ条件、日付、勤務、職員
違反記憶部22に記憶された条件違反は、警告表示部24において警告表示に用いたり、修正実行部18で勤務表マトリクスの修正を行う際に使用される。
【0047】
警告表示部24は、違反記憶部22に条件違反が書き込まれると、その条件違反を通知するために警告表示する。この表示の一例を図2に示した。図2に示した勤務表における警告表示例では反転表示で図示したが、表示色を変えるなどしてもよい。この例のように条件違反に該当する勤務状況部分の表示を違反していない部分と異ならせることによりその違反箇所を一目瞭然に特定することができる。
【0048】
図5には、その他の警告表示例を示した。この例では、違反内容をテキストによるリスト形式で表示している。このうち、図5(a)では、個々の条件違反を、図2が表上に示しているのに対し、テキスト文字にてメッセージとして示した。条件違反した個々の勤務状況部分に対応させているので、リストされているメッセージ数が条件違反数に等しい。これに対し、図5(b)は、割付条件に対して違反した内容をテキストによるリスト形式で表示する。つまり、図5(a)で表示される条件違反を違反の元となった割付条件毎にまとめて表示する。このように、初期割付を行った後にも割付条件に対する違反が生じている場合があるが、警告表示部24を設けたことで勤務表作成者にその違反内容を認識させることができる。なお、図2及び図5に示した警告表示は、勤務表作成者による操作に応じて切替え式に、あるいは全ての表示/非表示が制御される。
【0049】
次に、本実施の形態の特徴である修正割付処理(ステップ500)について図6に示したフローチャートを用いて説明する。
本実施の形態における修正割付処理というのは、主に修正実行部18により実行され、予め入力されている作成条件及び追加条件記憶部8に記憶されている追加条件に基づいて所定規則に従い2次元マトリクス上に各勤務区分を割り付けることにより追加条件違反状態の解消を図るために実施される処理である。
【0050】
まず、修正実行部18は、勤務表作成者が入力部4で入力した追加条件を、追加条件記憶部8に登録する(ステップ501)。ここで、入力部4を用いた追加条件の入力処理について説明する。
【0051】
初期割付処理により作成された勤務表は、図2に例示したように表示処理部12により画面表示される。初期割付処理後には、条件違反が発生することが多い。ここで、勤務表作成者が表示された勤務表上の警告表示されている個所にマウスポインタを移動させてクリックすると、その位置の情報は修正実行部18に伝えられる。修正実行部18は、そのクリック位置に対応する割付条件違反を違反記憶部22から抽出し、その割付条件違反を解消することを追加条件として新規に登録するかどうかを判定する。新規に登録しようとする追加条件が追加条件記憶部8に記録されていなければ登録する。
【0052】
また、図2に示した勤務表上で入力指定しなくても図5に示したリストの中から指定してもよい。図5(a)からの指定は、個々の条件違反を選択する点で図2からの指定と実質的に同じであるが、図5(b)の場合、リストされた違反内容に該当する勤務状況部分が複数存在することもありうる。図5(b)の例に基づくと、準夜−深夜の回避勤務パターンが割り付けられた勤務者が複数(例えば、AさんとBさん)存在する可能性がある。このような場合、修正実行部18は、Aさんの割付条件違反とBさんの割付条件違反とに分解して追加条件記憶部8に登録する。換言すると、準夜−深夜の回避勤務パターン違反という条件違反を一斉に解消したい場合には、図2又は図5(a)の形式による警告表示からではなく図5(b)の形式による警告表示から追加条件を入力指定すればよい。このように、本実施の形態では、警告表示に対応した割付条件違反を解消するための追加条件の入力を行うことができる。
【0053】
本実施の形態では、マウスクリックにより修正割付処理が自動的に開始されるように設定しているので、勤務表作成者は、表示された勤務表のある箇所でマウスクリックすると、その箇所の違反が解消されるように要素値が変更された勤務表の修正版が自動的に作成されることになる。つまり、詳細は後述するが、勤務表作成者は、条件違反を解消したい部分をクリック操作さえすれば、その箇所の変更値を入力する必要がなく、また、他の要素の要素値との関係を意識しなくてもよいので、勤務表の修正を自己の意思を反映させて極めて容易に行うことができる。
【0054】
なお、本実施の形態では、マウスクリックにより修正割付処理が自動的に開始されるように設定しているので、図2又は図5(a)による警告表示の場合は、追加条件を一つずつしか入力指定することはできないが、例えばマウスクリックにより複数の条件選択を選択操作し、別途設けた確定ボタンをマウスクリックすることにより修正割付処理が起動されるようにすれば、図5(b)と同様に複数の追加条件を一度に指定することができる。
【0055】
また、本実施の形態では、原則、条件違反した箇所を選択入力するようにしているが、付加機能として違反していない箇所を入力指定することもできる。例えば、夜勤の上限が9回のとき、Aさんの夜勤数は8回であり違反してはいないが、当該月の夜勤数を変更したいときにはAさんの8回と表示された夜勤数をクリックし、表示されたリストから「増加」、「減少」のいずれかを選択するようにしてもよい。修正割付処理により9回という上限を超えた要素値が割り付けられることはないので、9又は7以下に減らすことができる。このように、違反していない勤務状況部分や集計値部分を指定して勤務表の修正を行うことも可能である。なお、本実施の形態では、勤務表上でクリックが行われると、対応する位置情報が修正実行部18に送られて、それをもとに違反記憶部22の割付条件違反が検索されるが、対応する割付条件違反が存在しない場合は、修正実行部18により「指示された位置の要素値が現在の要素値にならないようにする」という追加条件が自動生成され、追加条件記憶部8に登録される。
【0056】
図6に戻り、修正実行部18は、上記のようにして勤務作成者に入力指定された追加条件を追加条件記憶部8に登録するが(ステップ501)、このとき、追加条件記憶部8には、同時にその追加条件に対する修正試行回数が初期値0として記憶される。この値はこれから述べる修正実行部18内の処理で使われる。追加条件記憶部8に登録された追加条件の例を図7に示す。システムの開始直後、追加条件記憶部8は空であるが、修正実行部18により追加条件と修正試行回数を組として累積的に登録されていく。追加条件記憶部8の内容は、追加条件の発生に伴って累積的に増えていくが、ある一定条件の下で削除される(ステップ517)。また、登録数が閾値を超えたら古い追加条件を自動削除する、などの方法によってその蓄積量を制限することもできる。また、作成者からの指示等によって追加条件記憶部8を空に戻す手段を設けてもよい。
【0057】
次に、修正実行部18は、追加条件記憶部8に登録された追加条件のうち、現在の勤務表マトリクスにおいて追加条件違反状態になっている追加条件を選択する(ステップ502)。本実施の形態では、基本的にステップ517でのみ登録された追加条件を削除するようにしている。従って、要素値を変更する処理(ステップ508)を含むステップ508〜516の繰り返し処理により追加条件違反が解消したとしても、その追加条件は追加条件記憶部8から削除されずに追加条件違反状態になっていない追加条件として残存する。なお、追加条件違反状態になっているかいないかは、追加条件記憶部8に登録されている各追加条件と作成されている勤務表とを付き合わせて毎回ステップ518において確認する。追加条件違反状態の追加条件が複数存在する場合は、そのうち一つの追加条件を自動選択する(ステップ502)。選択方法としては、ランダムに選択、最新に登録されたものを選択、最も先に登録されたもの(最も古いもの)を選択、試行回数の最も少ないものを選択、などの方法が考えられるが、いずれの方法を用いてもよい。なお、修正割付処理の開始時には、直前に勤務表作成者により指定された追加条件しか登録されていないはずなので、その追加条件が無条件に選択される。
【0058】
続いて、修正実行部18は、選択した追加条件に対応する修正試行回数に1を加える(ステップ503)。ここで、修正試行回数があらかじめ定めた規定回数を超過していない場合は(ステップ504)、割付実行部16により、作成された勤務表マトリクスに対する評価値を小さくするように要素値の変更を行う。なお、以降の例では初期割付処理の場合と同様に山登り法によるアルゴリズムを例にとって説明するが、ここでも他のアルゴリズム、例えば整数計画法、遺伝的アルゴリズム、シミュレーテッド・アニーリングなどの方法を用いてもよい。また、ここで用いるアルゴリズムには、初期割付処理時と別のアルゴリズムを用いてもよい。
【0059】
まず、反復回数を記録するカウンタを0に初期化する(ステップ505)。次に、現在の勤務表マトリクスに対する評価値を、評価値計算部6によって算出する(ステップ506)。ここでは、追加条件記憶部8に追加条件が登録されているため、評価値計算部6においては追加条件に対応する追加ペナルティ値も含めた評価値が計算される。すなわち、同じ勤務表に対する評価値でも、修正割付の場合 (追加条件記憶部8に追加条件がある場合) と修正割付でない場合 (追加条件記憶部が空の場合) では値が異なる。なお、評価値の算出処理の詳細については追って説明する。ここで算出した評価値は変更前評価値として記録しておく(ステップ507)。
【0060】
次に、勤務表マトリクス中のいくつかの要素の値を変更する(ステップ508)。ここでの変更方法は、初期割付の場合と同じでも異なっていてもよい。例えば、初期割付処理と同様にランダムに変更することもできるが、同一日の2名の職員の勤務を交換する、などの具体的な変更方法を1乃至複数切り替えて用いてもよい。もちろん、この方法では 1 日ごとの勤務数は変更されなくなるので、この方法は初期割付の結果で 1 日の勤務数の条件が満たされている場合のみ用いるべきであるが、そのような条件下ではランダムに変更するよりもより効率良く探索を行うことができる。ここで変更した勤務表マトリクスに対する評価値を評価値計算部6によって算出し(ステップ509)、ここで算出した評価値は変更後評価値として記録する(ステップ510)。
【0061】
ここで、変更後評価値が変更前評価値よりも小さい場合には、先に実施した勤務表マトリクスにおける要素値の変更により勤務表が改善されたとみなすことができる。このときには、変更後評価値を次の変更前評価値として記録しておく(ステップ511,512)。一方、逆に変更後評価値が変更前評価値以上であった場合には、先の変更により勤務表が改善されなかったので、先のマトリクス要素の変更を元に戻す(ステップ511,513)。
【0062】
次に、反復回数のカウンタの値を1加算する(ステップ514)。ここで、反復回数が予め設定した規定回数 (例えば1万回) を超えていない場合(ステップ515)、かつ経過時間が一定時間を超過していない場合(ステップ516)、ステップ508に戻る。一方、反復回数が予め設定した規定回数 (例えば1万回) を超えた場合(ステップ515)、あるいは経過時間が一定時間を超過した場合(ステップ516)、次に追加条件記憶部8に登録されている追加条件の条件違反が全て解消しているか判断する(ステップ518)。解消していれば、勤務作成者に指定された追加条件は勤務表に全て反映できたことになるので修正割付処理を終了する。解消されていなければ、ステップ502に戻って解消されていない条件違反が解消するまで処理を反復して行う。追加条件が全て解消したかどうか、すなわち追加条件違反状態になっているかいないかは、追加条件記憶部8に登録されている各追加条件と作成されている勤務表とを付き合わせて判定する。なお、ステップ508〜516の反復を終了させる条件として、本実施の形態では反復回数、経過時間の2種類を例示したが、これ以外にもある一定回数の反復において一度も勤務表の改善が見られなかった場合に終了する、等の基準により反復を終了してもよい。
【0063】
ここで、本実施の形態において特徴的な評価値計算部6が算出する評価値及び評価値の算出方法について詳述する。
【0064】
評価値計算部6は、割付処理において割付条件記述部2の割付条件と追加条件記憶部8の追加条件から勤務表マトリクスの勤務表に対する評価値を算出する。本実施の形態における評価値は、以下の評価関数E(x)により求める。
【0065】
E(x)=f(x)+p(x) ・・・(1)
ここで、xは勤務表マトリクス中の勤務表を示す。f(x)は目的関数であり、勤務表xが割付条件記述部2に記録されている割付条件にどの程度違反しているかを示すペナルティ値を求めるための関数である。p(x)は追加ペナルティ関数であり、勤務表xが追加条件記憶部8に登録されている追加条件にどの程度違反しているかを示す追加ペナルティ値を求める関数である。つまり、評価関数により得られる評価値は、作成条件及び追加条件に対する条件違反度を示す値であるということができる。なお、p(x)は、勤務表xに対する追加条件に対応して評価値を増加させる効果のある項であり、必ずしも上記式に限定されるものではない。すなわち、目的関数f、追加ペナルティ関数pの値が増加した場合に評価関数Eの値も増加するような形式であればどのようなものでもよい。そのような関数としては、例えば、
E(x)=f(x)×(1+k・p(x))
のようなものがある。但し、この場合はp(x)≧0となるようpを定める。kは正定数である。以下、各関数f、pについて説明する。
【0066】
割付条件の違反度を示す目的関数f(x)は、次のように定義される。
【0067】
【数1】

Figure 0004430282
ここで、ftype(x)は、割付条件の種類ごとに、勤務表xに対する割付条件違反のペナルティ値を求める関数である。ペナルティ値の計算方法の例を以下に示す。
【0068】
まず、勤務パターン条件のペナルティ値の計算方法としては、例えば「病棟の全職員について準夜−深夜のならびを回避する(重み100)」という条件があるとき、勤務表中に準夜−深夜の並びになっている個所が5個所あるならば、5×100=500をペナルティ値とすることができる。
【0069】
また、勤務供給条件として、「職員Aの1ヶ月間の準夜勤務を下限4回とする(重み50)」という条件があるとき、勤務表中の職員Aの準夜勤務の回数合計が2回ならば、職員Aの準夜勤務は条件で指定された回数を2回下回っているので、この勤務供給条件に対するペナルティ値は、2×50=100となる。
【0070】
ここでは、勤務パターン条件と勤務供給条件におけるペナルティ値の計算方法の一例を述べたが、他の条件についても条件に違反する度合いが大きいほど大きな値を与えるような計算方法を定めて計算を行ってよい。
【0071】
なお、上記の勤務パターン条件、勤務供給条件についても計算方法は上記以外の方法も考えられる。例えば、勤務供給条件のペナルティ値の計算を例にとれば、下限の条件で指定された回数(4回)を下回った量(2回)の二乗に対して重みを掛けた値をペナルティ値とする(ペナルティ値は、22×50=200となる)方法などが考えられる。
【0072】
一方、追加条件の違反度を示す追加ペナルティ関数p(x)は、以下のように定義される。
【0073】
【数2】
Figure 0004430282
ここで、pi(x)は勤務表xに対する追加条件iに対する追加条件ペナルティ値を求める関数である。この関数の一例を示すと以下のようになる。
【0074】
【数3】
Figure 0004430282
ここで、αは追加条件を評価値に反映させる度合いを示す定数、tiは追加条件iの修正試行回数、gi(x)は勤務表xに対する追加条件違反の度合いを示す関数である。
【0075】
初期割付処理のときには、追加条件はまだ入力されていないので、追加条件記憶部8には追加条件が存在しない。つまり、いかなる勤務表xに対してもp(x)=0となる。一方、追加条件記憶部8に追加条件が登録されている場合には、それらの追加条件のうち追加条件違反状態のものに対して追加ペナルティ値が計算される。ここでの追加ペナルティ値の計算方法は、目的関数の場合と同様、追加条件に違反している度合いが大きいほど大きな値をとるような方法であればよい。もちろん、目的関数と同様の計算方法を使用してもよい。
【0076】
ここで、αの値は、修正試行回数の増加に伴ってその追加条件に対するペナルティ値が他の割付条件のペナルティ値に近づくような値を適当に定めればよい。例えば、割付条件の強さの平均の1/10程度にすればよい。但し、この値に限定するものではなく、例えば、前回の反復の際に得られた勤務表の評価値に基づいて決めることも可能である。
【0077】
また、追加条件ごとに異なるαの値を設定することもできる。例えば、違反した割付条件が追加条件となっている場合、その割付条件の重みを基準に設定(例えば、対応割付条件の重み値の1/10)とすれば、各追加条件のαの値は、対応する割付条件の重み値によって異なってくる。また、割付条件とは独立させて、αの値をどの追加条件の違反を優先的に解消させるかという優先度として用いることもできる。
【0078】
ここで、評価値算出の一例として、図7に示すような3種類の追加条件が追加条件記憶部8に登録されているとき、図2に示す勤務表に対するペナルティ値の計算方法の例を以下に示す。なお、α=10とする。
【0079】
勤務表は、追加条件「職員「加藤」の2日〜3日の準夜−深夜の並びを回避する」に違反している。よって、この追加条件は追加条件違反状態である。この追加条件に対する違反の度合いgi(x)は、違反が発生している場合は1、していない場合は0の値を取るとすると、この場合はgi(x)=1となる。また、修正試行回数ti=1なので、この追加条件に対する追加条件ペナルティ値は、pi(x)=10・1・1=10となる。それ以外の2つの追加条件は、図で示された勤務表ではすでに解消されている。従って、各追加条件ペナルティ値は0となる。これより、全ての追加条件に対する追加ペナルティ関数の値はp(x)=10+0+0=10となる。
【0080】
追加ペナルティ関数により得られる追加ペナルティ値p(x)は、上記式から明らかなように、追加条件違反状態の追加条件が存在するとき、各pi(x)に修正試行回数tiを乗算して算出される。従って、割付処理を繰り返し行っているのにもかかわらず追加条件違反状態が解消されない状態が継続すると、追加ペナルティ値p(x)は増加していく。修正試行回数tiは、全ての条件違反が解消されていなければ処理の繰り返しにより図6のステップ503で加算される値なので、違反状態である追加条件の違反度合いを示すパラメータの1つであるということができる。一方、目的関数により得られるペナルティ値f(x)は、修正試行回数(反復回数)に依存しない。すなわち、割付処理が繰り返し行われると、評価値に対する追加ペナルティ値が占める割合が大きくなり、これに伴い評価値自体も大きくなってしまう。本実施の形態における割付実行部16は、評価値計算部6から得られる評価値がなるべく小さくなるように勤務表マトリクスの各要素値を決定するので、結果的に割付条件に対する違反より追加条件、すなわち勤務作成者により入力指定された条件の違反を優先的に解消するように作用する。ステップ502において追加条件違反状態の追加条件が複数存在する場合、修正実行部18は、そのうち一つの追加条件を自動選択するが、いずれの追加条件を選択しても、その選択された追加条件の修正試行回数が1加算されるので、各追加条件の追加条件ペナルティ値pi(x)の総和により得られる追加ペナルティ値p(x)は大きくなる。従って、修正実行部18が修正試行回数を加算することになる追加条件をランダムに選択しても問題はない。
【0081】
また、修正割付処理においてマトリクスの要素値変更処理(ステップ508)が繰り返し行われることによって、条件違反状態でなくなった追加条件も条件違反状態となってしまう可能性もある。しかしながら、このような場合も、割付実行部16は、修正試行回数を増やし(ステップ518,503)、マトリクスの要素値変更処理(ステップ508)を改めて行うことにより復活した条件違反を再度解消するように作用する。
【0082】
修正実行部18では、評価値計算部6から得られる評価値がなるべく小さくなるように勤務表マトリクスの各要素値を決定する手法として山登り法等の所定のアルゴリズムを用いているが、たとえこのようなアルゴリズムを用いたとしても、特定の状況下では、割付処理を繰り返し行っても評価値を小さくできない可能性がある。そこで、本実施の形態では、ステップ503で選択した追加条件の修正試行回数が予め設定した規定回数を超過した場合には(ステップ504)、その追加条件に従った勤務表の変更はできないものとみなして、選択した追加条件を追加条件記憶部8から削除する(ステップ517)。追加条件を削除した後、その他に条件違反状態の追加条件が存在しなければ、修正割付処理を終了し、解消されていなければ、ステップ502に戻って解消されていない条件違反が解消するまで処理を反復して行う(ステップ518)。
【0083】
また、本実施の形態では、修正割付処理の途中で所定のアルゴリズムを変更できるようにした。すなわち、山登り法等採用しているアルゴリズムで評価値を小さくする際に限界に達しても、整数計画法等他のアルゴリズムに変更することにより、評価値を小さくできる可能性があるからである。このアルゴリズムの変更は、勤務表作成者からの指示に従い変更するようにしてもよいし、所定回数以上反復しても評価値が小さくならないときに、修正実行部18が自動的に変更するようにしてもよい。
【0084】
なお、本実施の形態では、評価値の小さい方が改善され評価の高い勤務表が得られるものとして説明した。つまり、評価値計算部6から得られる評価値がなるべく小さくなるように勤務表マトリクスの各要素値を決定するようにしたので、条件違反しているときにはペナルティ値を加算するようにした。しかし、この大小関係を逆にしてもよいことは言うまでもない。
【0085】
以下、本実施の形態における勤務表の作成処理について具体例をあげて説明する。ここでは、具体的な処理の例として、図8で示す前提のもとに、実際に修正を行う過程の例を図9,12に示す。この例では、修正割付の過程を端的に示すために、職員4名、4日間の勤務表を例として用いた。
【0086】
図9(a)には、初期割付処理により作成され、表示された勤務表が示されている(図3のステップ100,200)。この勤務表では、職員Bの勤務状況が割付条件のうち「深夜−深夜の並びを回避する(重み90)」という勤務パターン条件に違反している。この違反箇所は反転表示されているので、作成者は、修正すべき勤務状況を容易に認識できる。作成者は、その違反箇所をクリック操作することで修正指示を入力する(図3のステップ300)。この操作に応じて修正割付処理(図3のステップ500)が開始される。
【0087】
修正割付処理では、作成者により入力指定された箇所に対応する割付条件を追加条件として追加条件記憶部8に登録する(図6のステップ501)。この初期登録時での修正試行回数は、図9(b)に示すように0である。しかしながら、追加条件はこの時点では1つのみなので、この追加条件が選択されることにより(図6のステップ502)、その追加条件の修正試行回数はすぐに加算され1になる(図6のステップ503)。図9(c)は、図9(a)を転記した図であるが、目的関数f(x)の値は上記式(2)に従い90、追加ペナルティ関数p(x)の値はα=10とすると上記式(3),(4)に従い10となるので、この勤務表における評価値、すなわち評価関数E(x)の値は上記式(1)に従い90+10=100となる(図6のステップ506)。
【0088】
ここで、図8に示した割付時の勤務表マトリクスの変更方法に従い、図6のステップ508〜516を繰り返し行うことで勤務表マトリクスの要素値を変更する。この処理では、評価値の小さい勤務表になるように要素値を変更するが、この例では、評価値の小さい勤務表へ変更できず、初期割付により作成した勤務表がそのまま残る。この結果を示した例が図9(d)になる。
【0089】
上記処理では、所定回数又は所定時間、勤務表マトリクスの要素値の変更を繰り返したにもかかわらず追加条件が解消できなかったので(図6のステップ515,516,518)、図6のステップ502に戻る。ここで、追加条件記憶部8に登録されている追加条件は1つのみなので、その追加条件が再度選択され、その修正試行回数は更に1加算され2になる(図6のステップ503)。
【0090】
そして、図9(d)に示した勤務表における評価値が計算されることになる(図6のステップ506)。この勤務表における目的関数値は90と変わらないが、追加ペナルティ値は修正試行回数が2となったことで20となる。よって、この勤務表における評価値は上記式(1)に従い90+20=110となる。このように、同じ勤務表であっても処理の繰り返しに伴い追加ペナルティ値が増えることにより評価値が大きくなる。
【0091】
ここで、上記と同様に、図6のステップ508〜516を繰り返し行うことで勤務表マトリクスの要素値を変更する。ここでの処理では、図8に示した割付時の勤務表マトリクスの変更方法に従い、図10(e)に示した矢印のように職員Bと職員Cの2日の勤務状況を入れ替えてみたとする(図6のステップ508)。入れ替えた後の勤務表を図10(f)に示す。この入れ替えにより追加条件は解消されるが、今度は職員Cの勤務状況が割付条件のうち「休み−深夜の並びを回避する(重み100)」という4番目の勤務パターン条件に違反することになる。この変更した勤務表における目的関数値は100と増えるが、追加ペナルティ値は違反している追加条件がないので0となる。これにより、変更後の勤務表における評価値は上記式(1)に従い100+0=100となる(図6のステップ509)。従って、変更後の評価値の方が小さくなるので、この勤務表を記憶する(図6のステップ512)。
【0092】
更に、図6のステップ508に戻り、図8に示した割付時の勤務表マトリクスの変更方法に従い、今度は図10(f)に示した矢印のように職員Bと職員Cの1日の勤務状況を入れ替えてみたとする。入れ替えた後の勤務表を図10(g)に示す。この入れ替えにより違反する割付条件はなくなり、かつ追加条件もない。すなわち、変更後の勤務表における目的関数値、追加ペナルティ値共に0となり、この結果、変更後の勤務表における評価値は上記式(1)に従い0となる(図6のステップ509)。従って、変更後の評価値の方が小さくなるので、この勤務表を記憶する(図6のステップ512)。
【0093】
更に、図6のステップ508に戻り、勤務マトリクスの要素値を変更し、その変更前後の評価値を比較しても評価値0の勤務表を改善することはできない。そして、所定回数又は所定時間経過後、図6のステップ518において追加条件が全て解消されていることが確認されると、修正割付処理は終了する。この修正割付処理において作成される勤務表を図10(h)に示す。なお、図10(h)は図10(g)を転記した図である。
【0094】
このようにして作成された勤務表が画面表示されると(図3のステップ200)、作成者は、反転表示部分がないことによりこの勤務表はいずれの割付条件にも違反していないことを認識できる。この勤務表でよければ、作成者は、修正指示を入力せずに勤務表作成処理を終了させる(図3のステップ500)。なお、前述したように、本実施の形態では、違反箇所がなくても割り付けられた内容を変更したければ、該当する箇所をクリックすることで変更することは可能である。
【0095】
本来、この程度のサイズの勤務表であれば、初期割付だけで十分に良い勤務表が得られる可能性が高く、後から修正する必要性は少ない。しかし、実際に用いられる大きい勤務表では、初期割付で得られた勤務表に対して何らかの修正が必要となることは最初に説明した通りである。ここで例示する処理は、サイズが大きい勤務表に対してもそのまま使用できるものであり、修正過程の説明を平易に行うために、その方法を小さいサイズの勤務表において説明するものである。また、割付処理における所定のアルゴリズムとして、勤務表マトリクスの変更方法に「職員順、日付順に同一日の2名の職員の勤務を交換する」という方法を例として用いた。修正実行部18の説明でも述べたように、ここで用いるアルゴリズムは初期割付で用いるアルゴリズムとは別のものであってもよい。
【0096】
最後に、本実施の形態における勤務表作成支援システムに対するユーザインタフェイスを確認すると、勤務表作成者は、本システムを起動して勤務表を作成する。ここで作成され表示される勤務表というのは、初期割付処理により作成された勤務表であり、前述したように通常は条件違反が発生している。ここで、勤務表作成者は、警告表示を参照するなどして解消したいと考える条件違反箇所をマウスクリックにより指定する。マウスクリックする箇所を具体的に言えば、勤務表上における反転表示部分あるいは図5に示した警告メッセージである。もちろん、違反していない部分も指定可能であることは前述したとおりである。このマウスクリックに応じて修正割付処理が実行される。この結果、修正された勤務表が表示される。修正後もまだ条件違反が残っているなどの理由で更に勤務表を修正したい場合、勤務表作成者は、上記と同様にその修正箇所をマウスクリックにより指定する。このような作成された勤務表に対し修正箇所をマウスクリックにより指定することで勤務表を改善することができる。
【0097】
以上のように、本実施の形態によれば、勤務表作成の際の修正に関して、勤務表作成者により入力指定された要素の要素値を効果的に自動修正することができるので、勤務表作成者は、修正したいと考える勤務状況部分を指定するだけでよく、効果的に勤務表を修正することができる。
【0098】
なお、本実施の形態は、条件違反等により変更すべき要素値を自動的に修正することで勤務表作成者にかかる負担を軽減するものである。しかし、勤務表作成者による要素値の設定を否定するものではなく、従来と同様に各要素に所望の要素値を手動により入力設定できるようにしてもよい。また、本実施の形態では、条件違反を解消するために勤務表マトリクスの要素値変更をランダムに行っている(図6のステップ508)。つまり、各要素値は条件違反の有無に関係なく直前の勤務表と異なる場合がある。このため、勤務表作成者が手動で設定した要素値も割付処理の反復で変更されてしまう可能性がある。これを避けるには、割付条件に対する重みを設定変更できる機能を設けておき、要素値を変更させたくない要素に対する重みを極めて大きい値に設定しておけば、評価値が小さくなるように勤務表マトリクスを作成する割付実行部16は、その要素値が変更するような勤務表マトリクスを採用しない(図6のステップ511,513)。なお、勤務表作成者により手動で要素値が入力設定されたときは、その要素値を割付条件に自動登録し、その際に設定する重みを極めて大きい値に設定するよう自動処理するようにしてもよい。
【0099】
また、上記実施の形態においては、看護婦の勤務表の作成支援システムを実現するものであったが、本発明はこれに限定されず、例えば警備員、パイロット、タクシードライバーなどの交代制の勤務形態をもつ職種の勤務表作成にあたっても同様に適用可能である。
【0100】
【発明の効果】
本発明によれば、勤務表作成者は勤務表の修正を行う場合に、修正したいと考える個所を指示するだけでよく、修正に際してその個所の値をどんな値に変更すべきか、またその変更に伴って他の個所を派生的にどのように変更する必要があるかについて指示する必要がないため、勤務表修正の負担を大幅に軽減することができる。また、修正したい違反に対して追加ペナルティ値を与えるので、修正指示に伴う勤務表の変更箇所を少なく抑えることができ、勤務表作成者は、修正を視覚的に理解し易く、徐々に満足する勤務表に導くことができる。また、修正したい状態に対してペナルティ値を与えることで評価値を計算し勤務表の修正を行うため、その修正には最初に勤務表を自動作成するためのアルゴリズムをそのまま用いることもでき、その場合には修正に特化したルールを用意する必要がないというメリットがある。
【0101】
また、割付処理を反復して行う際に、割付処理の反復回数に応じた加重を課して追加ペナルティ値を再設定して評価値を計算するようにしたので、追加条件違反を優先的に解消する勤務表を作成することができる。
【0102】
また、割付処理を繰り返し行っても評価値を小さくできなくなったときに、採用しているアルゴリズムを他のアルゴリズムに変更できるようにしたので、評価値がより小さくなる改善された勤務表を作成することができる可能性がある。
【0103】
また、評価値計算手段により計算される評価値に反映させる追加ペナルティ値の度合いを追加条件毎に設定できるようにしたので、違反を解消させたい追加条件に優先度を持たせることができる。
【図面の簡単な説明】
【図1】 本発明に係る勤務表作成支援システムの一実施の形態を示した機能ブロック構成図である。
【図2】 本実施の形態において作成される勤務表の一例を示した図である。
【図3】 本実施の形態における勤務表作成処理の全体の流れを示したフローチャートである。
【図4】 本実施の形態における初期割付処理を示したフローチャートである。
【図5】 本実施の形態における警告表示例を示した図である。
【図6】 本実施の形態における修正割付処理を示したフローチャートである。
【図7】 本実施の形態における追加条件記憶部に登録される追加条件の例を示した図である。
【図8】 本実施の形態における修正割付処理を説明するための前提条件を示した図である。
【図9】 図8に示した前提条件に基づく修正割付処理による勤務表の遷移を示した図である。
【図10】 図9に続く勤務表の遷移を示した図である。
【符号の説明】
2 割付条件記述部、4 入力部、6 評価値計算部、8 追加条件記憶部、10 勤務表作成処理部、12 表示処理部、14 勤務表保存部、16 割付実行部、18 修正実行部、20 違反判定部、22 違反記憶部、24 警告表示部。[0001]
BACKGROUND OF THE INVENTION
The present invention provides a work schedule creation support system for creating a work schedule (work schedule) for nurses and guards, and in particular, automatically corrects a location specified by the creator in the work schedule being created, and provides a new The present invention relates to a work schedule creation support system capable of presenting a work schedule.
[0002]
[Prior art]
In a hospital, for example, a nurse work schedule is created for each ward. The work schedule is prepared by a lady chief, etc., but various restrictions must be taken into account when preparing the work schedule. In other words, the work table creator needs to prepare so as to satisfy many conditions such as requests for work of nurses such as paid leave, various events, requests for qualifications and abilities. A schedule represented by a work schedule is usually expressed in a two-dimensional matrix of workers and work days, but each element on the two-dimensional matrix contains other elements in the vertical and horizontal directions (the same work day). Element values set for other workers or other working days of the same worker) (ie, work divisions such as day shift, night shift, and holiday), and further reference to the aggregate value of each element value, for each constraint condition Appropriate element values must be assigned while adjusting so as not to violate.
[0003]
However, it is usually difficult to create a perfect work schedule that satisfies all the conditions from the beginning. Therefore, when an actual headmaster creates a work schedule, the work schedule is completed for the time being, and corrections are made manually so as to eliminate conditions that violate the work schedule. As described above, in the past, a great deal of burden and labor is required to create a work schedule reflecting many conditions.
[0004]
In order to reduce the burden required for creating such work schedules, various support systems for automatically creating work schedules by computers have been proposed. This type of system generally uses either mathematical programming techniques or knowledge engineering techniques, but in any case, the conditions considered by the creator such as the head of a woman are expressed in a computer by some model. There is a need to. For example, in Japanese Patent Laid-Open No. Hei 4-15865, the creator expresses the constraint conditions by a knowledge base model and looks at the schedule table automatically created with the knowledge base set first, and the creator uses the priority of each constraint condition as a guideline for change. Proposals have been made to improve the knowledge base by hand, and to obtain a better solution at the next automatic creation.
[0005]
[Problems to be solved by the invention]
However, the conditions for creating the work schedule are very complex, and it is difficult to create a work schedule that satisfies the conditions in a practical time. Therefore, in order to more reflect the conditions that humans think, a practical system must have a function for correcting the automatically created work schedule later. Also in the above-described conventional example, the schedule table is modified by changing one or more elements in the automatically created schedule table to another value explicitly specified by the creator. As described above, many constraint conditions are set for creating a schedule table and a work table. By changing one element value of the work schedule, one of the constraint condition violations may be resolved, but another violation of the other constraint conditions may occur. For example, if you violate the condition that the number of night shift workers on a certain work day has not reached the specified number, and change the work category of Mr. A to night shift, it will be said that Mr. A's work status will not be continued in this time. There is a possibility of violating the condition and the condition that the predetermined number of night shifts per month is not exceeded. Furthermore, if the night shift of Mr. A's other work day is changed to a day shift in order to eliminate the violation of Mr. A's duty, there is a possibility that the number of night shift workers on the changed work day may not reach the predetermined number. .
[0006]
In other words, since many of the constraints related to work schedule creation are related to multiple elements of the work schedule, generally, when the value of one element is changed, the values of other elements are also changed at the same time. Often there is a need. For this reason, it cannot be known whether or not the element change determined first is appropriate unless other element changes accompanying the element change are made. However, it is not easy to know how to change the element change. In addition, when there are a plurality of candidate element values to be changed, it may not be easy to specify which element value should be selected.
[0007]
For this reason, it is necessary for the work schedule creator to perform various element changes in order to eliminate one “condition to be corrected” in the created work schedule. It has been difficult to create a satisfactory work schedule.
[0008]
The present invention has been made to solve the above-described problems, and the purpose of the correction is to indicate the work status that the creator wants to correct with respect to the correction at the time of creating the work schedule, and the work status Another object of the present invention is to provide a work schedule creation support system capable of automatically automatically and effectively correcting the element values set for other elements in association with the correction.
[0009]
[Means for Solving the Problems]
In order to achieve the above purpose, the work schedule creation support system according to the present invention is a work schedule creation support system that creates a work schedule including a two-dimensional matrix representing the work status of each worker. An allocation condition storage means for storing a creation condition for creating, a penalty value indicating a degree of condition violation with respect to the creation condition for the work table is calculated, and according to a predetermined algorithm so that the evaluation based on the penalty value is high An initial assignment processing means for creating a work schedule by executing an initial assignment process for assigning each work division on the two-dimensional matrix; a warning display means for displaying a warning of a condition violation with respect to the creation condition for the created work schedule; Additional condition storage means for storing additional conditions when correcting the created work schedule; Any violation of the conditions displayed in the warning The work schedule creator Specify input Is set in the additional condition storage means as the additional condition to eliminate the condition violation Input means and , Work A predetermined algorithm is calculated so that a penalty value indicating a violation degree with respect to the creation condition and an additional penalty value indicating a condition violation degree with respect to the additional condition are calculated for the service table, and the evaluation based on the penalty value and the additional penalty value is increased. And a modified assignment processing means for creating a work schedule by executing a modified assignment process for changing each work category on the two-dimensional matrix assigned by the initial assignment processing means. The correction allocation processing means resets an additional penalty value that imposes a weight on the additional penalty value for the additional condition if the condition violation for the additional condition is not resolved in the work schedule created by the correction allocation process. The correction allocation process is executed again so that the evaluation based on the penalty value and the additional penalty value is high. It is characterized by doing.
[0010]
According to the above configuration, when the input means indicates the location of the condition violation on the work schedule or the condition that the creator wants to correct, but the condition is not violated, the first allocation condition is as much as possible. The work schedule can be modified to match At this time, the work schedule creator does not need to change the element values for each element of the work schedule, and the burden on the creator can be greatly reduced and his intention reflected in the work schedule. Can be made.
[0011]
Further, the correction assignment processing means, when creating the work schedule, the additional condition stored in the additional condition storage means Against Until the violation of conditions is resolved Correction Repeat the allocation process, Correction In an iterative execution process of the allocation process, an additional penalty value with a weight corresponding to the number of iterations is reset and an evaluation value is calculated.
[0015]
The work schedule creation support system according to the present invention is a work schedule creation support system for creating a work schedule including a two-dimensional matrix representing the work status of each worker, and an allocation condition for storing creation conditions for creating the work schedule Initial value for assigning each work category on the two-dimensional matrix in accordance with a predetermined algorithm so as to calculate a penalty value indicating a degree of condition violation with respect to the creation condition for the work table and the work table, and to increase the evaluation based on the penalty value Initial assignment processing means for creating work schedules by executing assignment processing, warning display means for displaying warnings of violations of the conditions for the created conditions for the created work schedules, and additions for correcting the created work schedules The additional condition storage means for storing the condition, and the work schedule creator creates any condition violation among the condition violations displayed in the warning. Input means for setting the additional condition storage means as an additional condition to eliminate the violation of the condition by specifying the force, a penalty value indicating a violation degree with respect to the creation condition for the work schedule, and a condition violation degree with respect to the additional condition A correction is made to calculate an additional penalty value indicating the change and change each work division on the two-dimensional matrix assigned by the initial assignment processing means according to a predetermined algorithm so that the evaluation based on the penalty value and the additional penalty value is high A modified allocation processing means for creating a work schedule by executing allocation processing; The warning display means includes On the work schedule that has violated the conditions against the preparation conditions for the created work schedule Specify work status part To violate the conditions Display a warning, The input means sets, in the additional condition storage means, as an additional condition that the condition violation of the work status portion specified as input among the work status portions displayed as warnings by the warning display means is eliminated. It is characterized by doing.
[0016]
According to this configuration, when the location of the warning display is specified in the input means for what the work schedule creator wants to correct, an additional condition is configured from the condition violation that is the basis of the warning display. Therefore, it is possible to more easily input additional conditions that the work schedule creator thinks necessary.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0018]
FIG. 1 is a functional block configuration diagram showing an embodiment of a work schedule creation support system according to the present invention. The work schedule creation support system in the present embodiment includes an allocation condition description section 2, an input section 4, an evaluation value calculation section 6, an additional condition storage section 8, a work schedule creation processing section 10, a display processing section 12, and a work schedule storage section. 14. The work schedule creation processing unit 10 includes an allocation execution unit 16 and a correction execution unit 18, and the display processing unit 12 includes a violation determination unit 20, a violation storage unit 22, and a warning display unit 24.
[0019]
The allocation condition description unit 2 stores in advance a creation condition for creating a work schedule, in other words, an assignment condition for assigning work categories on a two-dimensional matrix of the work schedule. The input unit 4 inputs and sets the allocation conditions to be stored in the allocation condition description unit 2 before creating the work schedule or additionally. In addition, an input of conditions to be added when the work schedule is corrected, and a correction input for a two-dimensional matrix of the work schedule (hereinafter, “work schedule matrix”) are directly accepted. The additional condition storage unit 8 stores additional conditions input and designated by the work schedule creator via the input unit 4. The number of correction trials executed by the correction execution unit 18 is recorded for each additional condition. The evaluation value calculation unit 6 violates how much the work table created by the work table creation processing unit 10 violates the allocation conditions set and registered in the allocation condition description unit 2 and the additional conditions stored in the additional condition storage unit 8. Or an evaluation value indicating the degree of violation of the condition is calculated.
[0020]
Based on the allocation conditions set and registered in the allocation condition description section 2 and the additional conditions stored in the additional condition storage section 8, the work schedule creation processing section 10 assigns each work category on the two-dimensional matrix according to a predetermined rule. Create a work schedule by executing the allocation process. The allocation execution unit 16 included in the work table creation processing unit 10 determines each element value of the work table matrix so that the evaluation value obtained from the evaluation value calculation unit 6 is as small as possible. The work schedule storage unit 14 stores the assigned work schedule. The correction execution unit 18 controls the allocation execution unit 16 so that the additional condition violation state on the work schedule matrix is eliminated according to the instruction from the input unit 4 and the additional condition stored in the additional condition storage unit 8.
[0021]
The display processing unit 12 is a means for displaying a work schedule and violated conditions. The violation determination unit 20 included in the display processing unit 12 detects a condition violation in the displayed work schedule and stores it in the violation storage unit 22. The warning display unit 24 displays a warning for the violation when the violation determination unit 20 detects a condition violation.
[0022]
FIG. 2 is a diagram showing an example of a work schedule created by the work schedule creation processing unit 10 and displayed by the display processing unit 12 in the present embodiment. The work schedule in the present embodiment includes a two-dimensional matrix (work schedule matrix) indicating the work status of each worker. The allocation area is an area in which the work classification of each worker (staff) is allocated for a predetermined period (for example, one month) during which the work schedule is created, and the work schedule that is the allocation result is displayed. At the left end is the name of the staff member belonging to the ward, and at the top is the date. In the figure, “day”, “quasi”, “deep”, “absence”, “present”, “shake”, “special”, and “price” indicate the categories of attendance leave according to the display classification. It means "day shift", "quasi-night shift", "late night shift", "vacation", "paid leave", "transfer leave", "special leave", and "substitute holiday". When automatic allocation described later is executed, the generated allocation result is displayed in this area. It is also possible for the work schedule creator to directly input work using the input unit 4 such as a mouse or a keyboard. The hatched part shown on the left side in the figure represents the work status of the last week of the previous month. For example, it is considered when determining the work pattern conditions for the allocation of the first week of the current month. The
[0023]
In the horizontal tabulation area, the attendance leave classification according to the judgment classification (for counting the number of work) is shown in the horizontal direction, and correspondingly, there is a column for counting the number of work for each staff member along the vertical direction. Here, a value obtained by counting the number of times of work over the entire period for which the work schedule is created is displayed. When work is changed in the assignment area by input or automatic assignment by the work schedule creator, each aggregated value is also updated in real time.
[0024]
In the actual work total area, the total of the actual work hours for each staff member during the work schedule preparation period is displayed. When the work is changed in the assignment area by the work table creator's input or automatic assignment, the total value is also updated in real time.
[0025]
In the vertical tabulation area, the attendance leave category according to the number of judgment classification staff members (for tabulation) is shown in the vertical direction, and the number of workers for each category is displayed along the horizontal direction. Also, as will be described later, by selecting the tab at the bottom, it is possible to switch and display the tabulation for each attribute or group of the staff. When the work is changed in the assignment area by an input by the work schedule creator or automatic assignment, this total value is also updated in real time.
[0026]
In the above horizontal tabulation table and vertical tabulation table, tabulation is performed according to a judgment classification for tabulation that is different from the display classification that forms the basis of the work table. There is an advantage that the recalculation that has been performed can be eliminated, and the work table can be aggregated and checked more easily.
[0027]
As shown in FIG. 2, in the work schedule creation support system according to the present embodiment, in the work schedule and each summary table, a portion that violates the allocation condition is displayed as a warning in reverse video, and which part is a condition violation location. You can easily identify if you are. In this example, as explained in the supplementary explanation by each ellipse, “work pattern condition violation”, “work interval condition violation”, “employee combination condition violation”, “work supply condition violation”, “working aggregation condition violation” Is pointed out.
[0028]
Further, in this system, by moving the pointer to the place where the warning is displayed and performing a mouse click, or by stopping the pointer for a certain time, the warning content can be displayed as shown in the figure. In the example shown in the figure, the interval between “rest” and “rest” is 7 days due to the rectangular streamer display. Is displayed. Therefore, using these functions, the creation of work schedules can be made easier and faster. In FIG. 2, the types of violations are surrounded by ellipses, and the violation contents (warning contents) indicated by the mouse cursor are indicated by rectangular streamers. These are displayed / hidden. May be switchable.
[0029]
At the bottom of the vertical tabulation area, as described above, there are several tabs representing staff group names, and the tabulation table of staff members belonging to a specific group can be displayed by selecting the tab. Here, FIG. 2 is an example in which the “overall” tab is selected, indicating that the work demand condition is not satisfied because the number of quasi-night shifts for all nurses on the 5th is two. Yes. Note that the type, classification, and tabulation method of work categories are not the gist of the present invention, so detailed explanations are omitted, but the contents described in JP 2000-99569 A by the same applicant as the present application are used as they are. can do.
[0030]
Here, an example of the allocation condition registered in the allocation condition description unit 2 in the present embodiment will be described. In the present embodiment, the allocation conditions are classified and handled as types of work demand conditions, work supply conditions, work pattern conditions, work interval conditions, assignment unit conditions, and staff combination conditions. The working demand conditions are the conditions in which the upper and lower limits of the number of employees per day and the target number of persons are determined for each staff member's qualification and duty. Name (weight 100), [Example 2] For a staff member qualified as a night shift leader, a semi-night shift is set to one lower limit (weight 200). The work supply conditions are the upper limit, lower limit, and target number of times of each employee's work within a specified period (for example, 1 month). [Example 1] Lower limit of employee A's semi-night work for one month 4 times (weight 50), [Example 2] Each employee has a minimum of 7 rests per month (weight 30). The work pattern condition is a condition that defines the work order that one employee wants to avoid or recommend when focusing on one staff member. [Example 1] Avoid all the staff in the ward from midnight to midnight (weight) 20), [Example 2] Staff C is late at night Midnight For example, avoiding a late night line (weight 100). The work interval condition is a condition that determines the upper limit of the interval between work and work when paying attention to one staff member. [Example] The maximum interval between work breaks is 5 days (weight 150) is there. Allocation unit condition and No Uo is a condition that defines the work that the staff member wants to or does not want to perform on a certain day. [Example 1] Staff D avoids midnight and midnight on May 1 (weight 500), [Example 2] ] Staff E recommends a holiday or a day shift on May 10 (weight 200). The staff combination condition is a condition that defines a staff member who wants or does not want to perform the same work together. [Example 1] Staff F does not work with staff G or staff H during semi-night work. (Weight 70), [Example 2] Staff I forms a day shift with staff J or staff K (weight 80). In the allocation condition description section 2, the allocation conditions necessary for creating the work schedule as described above are registered. In the present embodiment, weights are set in advance corresponding to the allocation conditions. The weight is a value indicating the importance of each allocation condition in creating the work schedule, and a larger number is a more important condition in the present embodiment. Of course, the smaller one may be important. In this case, the evaluation judgment by the evaluation value comparison described in detail below is reversed. The allocation condition is used by the evaluation value calculation unit 6 and the violation determination unit 20. In addition, although typical allocation conditions are listed here, it is not limited to this example, and appropriate types and weights of conditions may be set according to the type of industry, job type, business scale, etc. for creating the work schedule. .
[0031]
Next, the operation in this embodiment will be described. First, using the flowchart shown in FIG. 3, an overall flow of basic processing for creating a work schedule by first performing an initial assignment and correcting the result will be described. It is assumed that the allocation conditions necessary for the allocation process are registered in advance in the allocation condition description unit 2 as described above.
[0032]
In the initial allocation process in step 100, the allocation execution unit 16 determines the element values of the work schedule matrix so that the evaluation value obtained from the evaluation value calculation unit 6 is as small as possible. In the initial allocation, since no additional condition has been set yet, the evaluation value calculation unit 6 determines the evaluation value of the work schedule using the allocation condition set in the allocation condition description unit 2. Details of processing in the allocation execution unit 16 and the evaluation value calculation unit 6 will be described later.
[0033]
In the display process in step 200, the display processing unit 12 displays the work schedule created by the initial allocation process on the screen. At this time, when the violation determination unit 20 detects a condition violation in the work schedule created using the allocation condition of the allocation condition description unit 2, the violation determination unit 20 stores the allocation condition corresponding to the violation and the content of the violation in the violation storage unit 22. Write. Then, the warning display unit 24 displays a warning in order to notify the condition violation written in the violation storage unit 22.
[0034]
Subsequently, in the branch in step 300, it is determined whether or not there is an input as an additional condition from the input unit 4. If there is, the correction allocation described below is performed. If there is no input, it is determined in step 400 whether or not the creation of the work schedule has been completed. If it has not been completed, the processes after the display process are repeatedly executed.
[0035]
In the correction assignment process in step 500, the correction execution unit 18 first configures an additional condition based on the input from the input unit 4 and registers it in the additional condition storage unit 8. An example of the contents of the additional condition storage unit 8 is shown in FIG. Thereafter, the correction execution unit 18 uses the allocation execution unit 16 to correct the work schedule matrix in accordance with the additional conditions recorded in the additional condition storage unit 8. Details of the processing in the correction execution unit 18 will be described later. When the correction assignment process is completed, the process returns to the display process again and the same process is repeated.
[0036]
The overall flow of the work schedule creation process in the present embodiment is as described above, but each process will be described in detail below. First, the initial allocation process (step 100) will be described.
[0037]
The initial allocation process in the present embodiment is a process that is executed by the allocation execution unit 16 and allocates each work division for the first time on a two-dimensional matrix according to a predetermined rule based on a preliminarily input creation condition. Similarly, in the modified allocation process (step 500), the process of allocating each work category on the two-dimensional matrix is executed. However, in the modified allocation process, additional conditions are taken into consideration, so the allocation process is performed without considering additional conditions. Here, the assigned process is particularly referred to as an initial assigned process. Of course, no additional condition is stored in the additional condition storage unit 8 during the initial allocation process.
[0038]
In the initial assignment process, the assignment execution unit 16 first assigns an appropriate element value (work classification) to the empty element of the work schedule matrix as an initial solution. As an example of how to determine the initial solution, there are methods such as assigning the same work (for example, leave) to all elements of the work schedule matrix, or assigning the work of all elements at random. Next, the values of the elements of the work schedule matrix are changed from the initial solution determined in this manner by using a predetermined algorithm such as a hill-climbing method, an integer programming method, a genetic algorithm, or simulated annealing. Regardless of which algorithm is used, when changing the value of an element, the evaluation value calculated by the evaluation value calculation unit 6 based on the work schedule matrix at that time is made as small as possible. In each algorithm, the assignment process ends when a work table having a smaller penalty value cannot be obtained or the number of iterations and the elapsed time reach a predetermined value. Hereinafter, the specific flow of the initial allocation will be described with reference to the flowchart shown in FIG. Here, the algorithm will be described using a hill-climbing method based on random change of element values.
[0039]
The allocation execution unit 16 first initializes a counter value indicating the number of iterations to 0 (step 101), and then assigns work categories such as rest, day shift, and semi-night to the work table matrix (step 102). The work division assigned at this time may be assigned at random as an initial value. In the present embodiment, an example in which the initial value is randomly determined has been described. However, a method of determining the initial value according to some rule or making all the values uniform may be used.
[0040]
Subsequently, the assignment execution unit 16 causes the evaluation value calculation unit 6 to calculate an evaluation value for the work schedule matrix to which the initial value is assigned (step 103). The calculated evaluation value is recorded as a pre-change evaluation value (step 104). Details of the evaluation value calculation process will be described later. Next, the allocation execution unit 16 randomly changes the values of some elements in the work schedule matrix (step 105). In addition, although the example changed at random was shown here, you may use methods, such as changing regularly according to a certain reference | standard. The allocation execution unit 16 causes the evaluation value calculation unit 6 to newly calculate the evaluation value for the work schedule matrix thus changed (step 106), and records the evaluation value after the change (step 107).
[0041]
Here, when the post-change evaluation value is smaller than the pre-change evaluation value, it can be considered that the work table has been improved by the change of the element value in the work table matrix that has been performed previously. At this time, the post-change evaluation value is recorded as the next pre-change evaluation value (steps 108 and 109). On the other hand, if the post-change evaluation value is greater than or equal to the pre-change evaluation value, the work table has not been improved by the previous change, so the previous matrix element change is restored (steps 108 and 110). .
[0042]
Subsequently, 1 is added to the value of the counter of the number of iterations (step 111). Here, if the number of iterations exceeds a preset number of times (for example, 10,000 times), the process is terminated (step 112). The process is also terminated when the elapsed time exceeds a certain time (step 113). In addition, although the two types of the number of iterations and the elapsed time are illustrated here as the termination conditions for the initial allocation process, the termination is performed when no improvement in the work schedule has been seen even in a certain number of iterations. The processing may be terminated based on the criteria such as. If the end condition is not violated, the process returns to step 105 to repeat the process.
[0043]
Next, the display process (step 200) will be described. Note that the work schedule created and displayed in the present embodiment has been described above with reference to FIG. 2, but the creation and display of the work schedule itself are not the gist of the present invention, and the description thereof will be omitted.
[0044]
When the display processing unit 12 displays the work schedule created by the initial allocation process on the screen, the violation determination unit 20 displays the assignment conditions of the assignment condition description unit 2 and the work stored in the work table storage unit 14. As described above, the presence / absence of the allocation condition violation in the work schedule and the occurrence position thereof are detected from the table and stored in the violation storage unit 22. As an example of this stored violation, for example, with respect to the work demand condition, “the night shift to the night shift leader qualified staff shall be a minimum of one person”, “the night shift on May 4th” There may be a violation of “less than one person working near night for a leader qualified employee”. Regarding work supply conditions, there may be a violation of “less than 4 quasi-night work for one month for employee A” against the allocation condition of “minimum quasi-night work for 1 month for staff A”. It is done. Regarding the work pattern condition, violation of the assignment condition that “all staff members in the ward avoid quasi-night midnight arrangements” “staff midnight lined from May 10th to 11th” Can be considered. Regarding the allocation unit condition, there may be a violation of “A midnight is assigned on May 1 of Staff A” against the assignment condition of “Avoid the midnight and midnight on May 1 of Staff A”. .
[0045]
The position where the condition is violated is specified by the element where the employee and the work day intersect, but it does not necessarily indicate a single element in the work schedule matrix, and it is specified according to the type of condition 1 day or period, or a specific worker or a plurality of workers. The condition violation detected by the violation determination unit 20 is registered in the violation storage unit 22 as a set of the following information.
[0046]
Violation of work demand conditions… Group of staff limited by work demand conditions, date, qualification, work
Violation of work supply conditions… Work supply conditions, staff, date
Violation of work pattern conditions… Work pattern conditions, staff, first day and last day of work pattern condition violation
Violation of work interval conditions… Work interval conditions, staff, first day and last day of violation of work interval conditions
Violation of allocation unit conditions… Allocation unit conditions, staff, date
Violation of staff combination conditions ... Staff combination conditions, date, duty, staff
The condition violation stored in the violation storage unit 22 is used for warning display in the warning display unit 24 or used when the work schedule matrix is corrected in the correction execution unit 18.
[0047]
When a condition violation is written in the violation storage unit 22, the warning display unit 24 displays a warning to notify the condition violation. An example of this display is shown in FIG. Although the warning display example in the work schedule shown in FIG. 2 is shown in reverse display, the display color may be changed. As shown in this example, by making the display of the work status part corresponding to the condition violation different from the part not violating, the violation part can be clearly identified.
[0048]
FIG. 5 shows another warning display example. In this example, the violation contents are displayed in a text list format. Among these, in FIG. 5A, each condition violation is shown as a message in text characters, whereas FIG. 2 shows the table. Since each work situation part that violates the condition is associated, the number of messages listed is equal to the condition violation number. On the other hand, FIG. 5B displays the contents that violate the allocation condition in a list format by text. That is, the condition violations displayed in FIG. 5A are collectively displayed for each allocation condition that is the source of the violation. As described above, there may be a violation of the allocation condition even after the initial allocation is performed. However, the provision of the warning display unit 24 allows the work schedule creator to recognize the violation content. The warning display shown in FIG. 2 and FIG. 5 is controlled to be switched or all display / non-display is controlled according to the operation by the work schedule creator.
[0049]
Next, the correction assignment process (step 500), which is a feature of the present embodiment, will be described using the flowchart shown in FIG.
The correction assignment processing in the present embodiment is mainly executed by the correction execution unit 18 and is two-dimensional according to a predetermined rule based on the pre-input creation conditions and the additional conditions stored in the additional condition storage unit 8. This is a process that is performed in order to eliminate the violation condition of the additional condition by assigning each work division on the matrix.
[0050]
First, the correction execution unit 18 registers the additional condition input by the work schedule creator through the input unit 4 in the additional condition storage unit 8 (step 501). Here, an additional condition input process using the input unit 4 will be described.
[0051]
The work schedule created by the initial allocation process is displayed on the screen by the display processing unit 12 as illustrated in FIG. After initial allocation processing, condition violations often occur. Here, when the work table creator is clicked by moving the mouse pointer to the position where the warning is displayed on the work table creator, information on the position is transmitted to the correction execution unit 18. The correction execution unit 18 extracts the allocation condition violation corresponding to the click position from the violation storage unit 22, and determines whether to newly register the cancellation of the allocation condition violation as an additional condition. If an additional condition to be newly registered is not recorded in the additional condition storage unit 8, it is registered.
[0052]
Further, it may be specified from the list shown in FIG. 5 without being specified on the work schedule shown in FIG. The designation from Fig. 5 (a) is substantially the same as the designation from Fig. 2 in that individual condition violations are selected, but in the case of Fig. 5 (b), work corresponding to the violation content listed. There may be multiple situational parts. Based on the example of FIG. 5B, there may be a plurality of workers (for example, Mr. A and Mr. B) to whom the avoidance work pattern of quasi-night-midnight is assigned. In such a case, the correction execution unit 18 breaks down into Mr. A's assignment condition violation and Mr. B's assignment condition violation and registers them in the additional condition storage unit 8. In other words, when it is desired to resolve the violation of the condition of avoidance work pattern violation from midnight to midnight all together, the warning display in the form of FIG. 5 (b) is used instead of the warning display in the form of FIG. 2 or 5 (a). The additional condition can be input and specified. As described above, in this embodiment, it is possible to input an additional condition for eliminating the allocation condition violation corresponding to the warning display.
[0053]
In this embodiment, it is set so that the correction assignment process is automatically started by clicking the mouse. Therefore, if the work table creator clicks the mouse on a part of the displayed work table, the violation of that part is made. A revised version of the work schedule whose element values have been changed so as to be resolved is automatically created. In other words, although details will be described later, the work table creator does not need to input the changed value of the part as long as he clicks on the part where the violation of the condition is to be resolved, and the relationship with the element value of other elements It is not necessary to be conscious of this, so it is very easy to correct the work schedule to reflect his / her will.
[0054]
In this embodiment, since the correction assignment process is set to start automatically by clicking the mouse, in the case of the warning display in FIG. 2 or FIG. 5A, additional conditions are set one by one. However, if a selection operation is performed by selecting a plurality of conditions by clicking with a mouse and a correction button provided separately is started by clicking with a mouse, for example, the correction assignment process is started (FIG. 5B). As with, multiple additional conditions can be specified at once.
[0055]
In this embodiment, in principle, a location where the condition is violated is selected and input, but a location that is not violated can be input and specified as an additional function. For example, if the upper limit for night shift is 9 times, Mr. A has 8 night shifts and is not violated, but if he wants to change the number of night shifts for that month, click on the number of night shifts displayed as A's 8 Then, either “increase” or “decrease” may be selected from the displayed list. Since the element value exceeding the upper limit of 9 times is not assigned by the correction assignment process, 9 Times Or 7 Times Can be reduced to: In this way, it is also possible to modify the work schedule by designating a work status part and a total value part that do not violate. In the present embodiment, when a click is made on the work schedule, the corresponding position information is sent to the correction execution unit 18, and the violation of the allocation condition in the violation storage unit 22 is searched based thereon. When there is no corresponding allocation condition violation, the correction execution unit 18 automatically generates an additional condition “make the element value at the indicated position not the current element value”, and stores it in the additional condition storage unit 8. be registered.
[0056]
Returning to FIG. 6, the correction execution unit 18 registers the additional condition input and designated by the work creator as described above in the additional condition storage unit 8 (step 501). At this time, the correction execution unit 18 stores the additional condition in the additional condition storage unit 8. At the same time, the number of correction attempts for the additional condition is stored as an initial value 0. This value is used in the processing in the correction execution unit 18 described below. An example of the additional condition registered in the additional condition storage unit 8 is shown in FIG. Immediately after the start of the system, the additional condition storage unit 8 is empty, but the correction execution unit 18 cumulatively registers the additional condition and the number of correction trials as a set. The content of the additional condition storage unit 8 increases cumulatively with the occurrence of the additional condition, but is deleted under a certain condition (step 517). Further, the accumulated amount can be limited by a method of automatically deleting old additional conditions when the number of registrations exceeds a threshold. Further, a means for returning the additional condition storage unit 8 to the empty state by an instruction from the creator or the like may be provided.
[0057]
Next, the correction execution unit 18 selects an additional condition that is in an additional condition violation state in the current work schedule matrix among the additional conditions registered in the additional condition storage unit 8 (step 502). In the present embodiment, the additional condition registered only in step 517 is basically deleted. Therefore, even if the additional condition violation is resolved by the repeated processing of steps 508 to 516 including the process of changing the element value (step 508), the additional condition is not deleted from the additional condition storage unit 8 and enters the additional condition violation state. It remains as an additional condition that is not. Whether or not it is in an additional condition violation state is checked each time in step 518 by associating each additional condition registered in the additional condition storage unit 8 with the created work schedule. If there are a plurality of additional conditions in the additional condition violation state, one of the additional conditions is automatically selected (step 502). As a selection method, methods such as selecting at random, selecting the latest registered, selecting the earliest registered (oldest), selecting the one with the smallest number of trials, etc. can be considered, Any method may be used. At the start of the correction assignment process, only the additional condition specified by the work schedule creator should be registered immediately before, so that the additional condition is selected unconditionally.
[0058]
Subsequently, the correction execution unit 18 adds 1 to the number of correction trials corresponding to the selected additional condition (step 503). Here, when the number of correction trials does not exceed the predetermined number of times (step 504), the assignment execution unit 16 changes the element value so as to reduce the evaluation value for the created work schedule matrix. . In the following examples, as in the case of the initial allocation process, an algorithm using the hill-climbing method will be described as an example, but here again using other algorithms such as integer programming, genetic algorithm, simulated annealing, etc. Also good. In addition, as an algorithm used here, an algorithm different from that used in the initial allocation process may be used.
[0059]
First, a counter for recording the number of iterations is initialized to 0 (step 505). Next, the evaluation value for the current work schedule matrix is calculated by the evaluation value calculator 6 (step 506). Here, since the additional condition is registered in the additional condition storage unit 8, the evaluation value calculation unit 6 calculates the evaluation value including the additional penalty value corresponding to the additional condition. That is, even if the evaluation values for the same work table are different in the case of correction assignment (when the additional condition storage unit 8 has an additional condition) and not the correction assignment (when the additional condition storage unit is empty). Details of the evaluation value calculation process will be described later. The evaluation value calculated here is recorded as an evaluation value before change (step 507).
[0060]
Next, the values of some elements in the work schedule matrix are changed (step 508). The changing method here may be the same as or different from the case of the initial allocation. For example, it can be changed at random as in the initial assignment process, but one or more specific changing methods such as exchanging work of two staff members on the same day may be used. Of course, this method does not change the number of daily work, so this method should only be used if the initial assignment results meet the daily work conditions. Then, it is possible to perform the search more efficiently than the random change. The evaluation value for the changed work schedule matrix is calculated by the evaluation value calculation unit 6 (step 509), and the evaluation value calculated here is recorded as the evaluation value after change (step 510).
[0061]
Here, when the post-change evaluation value is smaller than the pre-change evaluation value, it can be considered that the work table has been improved by the change of the element value in the work table matrix that has been performed previously. At this time, the post-change evaluation value is recorded as the next pre-change evaluation value (steps 511 and 512). On the other hand, if the post-change evaluation value is greater than or equal to the pre-change evaluation value, the work table has not been improved by the previous change, so the previous matrix element change is restored (steps 511 and 513). .
[0062]
Next, 1 is added to the counter value of the number of iterations (step 514). Here, when the number of repetitions does not exceed a preset number of times (for example, 10,000 times) (step 515) and when the elapsed time does not exceed a certain time (step 516), the process returns to step 508. On the other hand, when the number of iterations exceeds a preset number of times (for example, 10,000 times) (step 515), or when the elapsed time exceeds a certain time (step 516), it is registered in the additional condition storage unit 8 next. It is determined whether all of the additional condition violations have been resolved (step 518). If it has been resolved, all the additional conditions specified by the work creator have been reflected in the work schedule, and the correction assignment process is terminated. If not resolved, the process returns to step 502 and the process is repeated until the unresolved condition violation is resolved. Whether or not all the additional conditions have been eliminated, that is, whether or not the additional condition has been violated, is determined by associating each additional condition registered in the additional condition storage unit 8 with the created work schedule. In this embodiment, two types of iterations and elapsed time are exemplified as conditions for ending the iterations of steps 508 to 516. However, other than this, the work table has been improved even once in a certain number of iterations. The iteration may be terminated on the basis of a criterion such as ending if not performed.
[0063]
Here, the evaluation value calculated by the characteristic evaluation value calculation unit 6 in the present embodiment and the calculation method of the evaluation value will be described in detail.
[0064]
The evaluation value calculation unit 6 calculates an evaluation value for the work table of the work table matrix from the allocation condition of the allocation condition description unit 2 and the additional condition of the additional condition storage unit 8 in the allocation process. The evaluation value in the present embodiment is obtained by the following evaluation function E (x).
[0065]
E (x) = f (x) + p (x) (1)
Here, x indicates a work schedule in the work schedule matrix. f (x) is an objective function, and is a function for obtaining a penalty value indicating how much the work table x violates the allocation condition recorded in the allocation condition description section 2. p (x) is an additional penalty function, which is a function for obtaining an additional penalty value indicating how much the work table x violates the additional condition registered in the additional condition storage unit 8. That is, it can be said that the evaluation value obtained by the evaluation function is a value indicating the degree of condition violation with respect to the creation condition and the additional condition. Note that p (x) is a term having an effect of increasing the evaluation value corresponding to the additional condition for the work schedule x, and is not necessarily limited to the above formula. That is, any form may be used as long as the value of the evaluation function E increases when the values of the objective function f and the additional penalty function p increase. As such a function, for example,
E (x) = f (x) × (1 + k · p (x))
There is something like this. However, in this case, p is determined so that p (x) ≧ 0. k is a positive constant. Hereinafter, the functions f and p will be described.
[0066]
The objective function f (x) indicating the violation degree of the allocation condition is defined as follows.
[0067]
[Expression 1]
Figure 0004430282
Where f type (X) is a function for obtaining a penalty value for violation of the allocation condition for the work table x for each type of allocation condition. An example of how to calculate the penalty value is shown below.
[0068]
First, as a method of calculating the penalty value of the work pattern condition, for example, when there is a condition of “avoid all midnight-midnight arrangement (weight 100) for all staff members in the ward”, the quasi-night-midnight If there are five locations, 5 × 100 = 500 can be set as a penalty value.
[0069]
In addition, when there is a condition that “worker A's quasi-night work for one month is set to the lower limit of 4 times (weight 50)”, the total number of quasi-night work of staff A in the work schedule is 2 If it is the number of times, staff A's semi-night work is two times less than the number of times specified in the condition, so the penalty value for this work supply condition is 2 × 50 = 100.
[0070]
Here, an example of the penalty value calculation method for work pattern conditions and work supply conditions has been described. However, for other conditions, a calculation method that gives larger values as the degree of violation of the conditions increases is calculated. It's okay.
[0071]
It should be noted that the calculation method for the work pattern condition and the work supply condition may be other than the above. For example, when calculating the penalty value for work supply conditions as an example, the penalty value is a value obtained by multiplying the square of the amount (2 times) less than the number of times (4 times) specified in the lower limit condition (2 times). (The penalty value is 2 2 X50 = 200) or the like.
[0072]
On the other hand, the additional penalty function p (x) indicating the degree of violation of the additional condition is defined as follows.
[0073]
[Expression 2]
Figure 0004430282
Where p i (X) is a function for obtaining an additional condition penalty value for the additional condition i for the work table x. An example of this function is as follows.
[0074]
[Equation 3]
Figure 0004430282
Here, α is a constant indicating the degree to which the additional condition is reflected in the evaluation value, t i Is the number of trials for correcting additional condition i, g i (X) is a function indicating the degree of violation of the additional condition for the work table x.
[0075]
In the initial allocation process, since no additional condition has been input yet, there is no additional condition in the additional condition storage unit 8. That is, p (x) = 0 for any work table x. On the other hand, when an additional condition is registered in the additional condition storage unit 8, an additional penalty value is calculated for those additional conditions that are in an additional condition violation state. The method of calculating the additional penalty value here may be a method that takes a larger value as the degree of violation of the additional condition increases, as in the case of the objective function. Of course, a calculation method similar to the objective function may be used.
[0076]
Here, the value of α may be appropriately determined such that the penalty value for the additional condition approaches the penalty value of other allocation conditions as the number of correction trials increases. For example, it may be about 1/10 of the average of the strength of the allocation condition. However, the value is not limited to this value. For example, the value can be determined based on the evaluation value of the work schedule obtained at the previous iteration.
[0077]
Also, a different α value can be set for each additional condition. For example, when the violated allocation condition is an additional condition, if the weight of the allocation condition is set as a reference (for example, 1/10 of the weight value of the corresponding allocation condition), the α value of each additional condition is Depending on the weight value of the corresponding allocation condition. Further, independent of the allocation condition, the value of α can be used as a priority for preferentially resolving the violation of which additional condition.
[0078]
Here, as an example of evaluation value calculation, when three types of additional conditions as shown in FIG. 7 are registered in the additional condition storage unit 8, an example of a penalty value calculation method for the work schedule shown in FIG. Shown in Note that α = 10.
[0079]
The work schedule violates the additional condition “Avoiding the arrangement of the quasi-night to the midnight of the 2nd to 3rd of the staff“ Kato ””. Therefore, this additional condition is an additional condition violation state. Degree of violation for this additional condition i If (x) takes a value of 1 if a violation has occurred and 0 if not, g in this case i (X) = 1. Also, the number of correction trials t i = 1, so the additional condition penalty value for this additional condition is p i (X) = 10 · 1 · 1 = 10. The other two additional conditions have already been eliminated in the work schedule shown in the figure. Therefore, each additional condition penalty value is zero. Thus, the value of the additional penalty function for all additional conditions is p (x) = 10 + 0 + 0 = 10.
[0080]
As is apparent from the above equation, the additional penalty value p (x) obtained by the additional penalty function is obtained when each additional condition in an additional condition violation state exists. i (X) the number of correction attempts t i It is calculated by multiplying. Accordingly, if the state where the additional condition violation state is not resolved despite the repeated allocation process is continued, the additional penalty value p (x) increases. Number of correction attempts t i Is a value added in step 503 of FIG. 6 by repeating the process if all the condition violations have not been resolved, it can be said that this is one of the parameters indicating the degree of violation of the additional condition in the violation state. On the other hand, the penalty value f (x) obtained by the objective function does not depend on the number of correction trials (the number of iterations). That is, when the allocation process is repeatedly performed, the ratio of the additional penalty value to the evaluation value increases, and the evaluation value itself increases accordingly. The allocation execution unit 16 in the present embodiment determines each element value of the work schedule matrix so that the evaluation value obtained from the evaluation value calculation unit 6 is as small as possible. As a result, an additional condition than a violation of the allocation condition, In other words, it acts to preferentially resolve the violation of the conditions specified by the work creator. When there are a plurality of additional conditions in the additional condition violation state in step 502, the correction execution unit 18 automatically selects one of the additional conditions, but no matter which additional condition is selected, the correction execution unit 18 Since the number of revision attempts is incremented by 1, the additional condition penalty value p for each additional condition i The additional penalty value p (x) obtained by the sum of (x) becomes large. Accordingly, there is no problem even if the correction execution unit 18 randomly selects an additional condition for adding the number of correction trials.
[0081]
Further, when the matrix element value changing process (step 508) is repeatedly performed in the correction assignment process, an additional condition that is no longer in the condition violation state may also be in the condition violation state. However, even in such a case, the allocation execution unit 16 increases the number of correction trials (steps 518 and 503), and again resolves the condition violation restored by performing the matrix element value changing process (step 508) again. Act on.
[0082]
The correction execution unit 18 uses a predetermined algorithm such as a hill-climbing method as a method for determining each element value of the work schedule matrix so that the evaluation value obtained from the evaluation value calculation unit 6 is as small as possible. Even if a simple algorithm is used, there is a possibility that the evaluation value cannot be reduced even if the allocation process is repeated under certain circumstances. Therefore, in the present embodiment, when the number of trials for correction of the additional condition selected in step 503 exceeds a predetermined number of times set in advance (step 504), the work schedule cannot be changed according to the additional condition. Accordingly, the selected additional condition is deleted from the additional condition storage unit 8 (step 517). After the additional condition is deleted, if there is no additional condition violation condition, the correction assignment process is terminated. If the condition is not resolved, the process returns to step 502 until the unresolved condition violation is resolved. Is repeated (step 518).
[0083]
In the present embodiment, a predetermined algorithm can be changed during the correction assignment process. That is, even if the limit is reached when the evaluation value is reduced by an algorithm that employs a hill-climbing method or the like, the evaluation value may be reduced by changing to another algorithm such as integer programming. This algorithm may be changed in accordance with an instruction from the work schedule creator, or when the evaluation value does not become small even if it is repeated a predetermined number of times or more, the correction execution unit 18 automatically changes the algorithm. May be.
[0084]
In the present embodiment, it has been described that the smaller evaluation value is improved and a work table with high evaluation is obtained. That is, each element value of the work schedule matrix is determined so that the evaluation value obtained from the evaluation value calculation unit 6 is as small as possible, so that the penalty value is added when the condition is violated. However, it goes without saying that this magnitude relationship may be reversed.
[0085]
Hereinafter, the work schedule creation process in the present embodiment will be described with a specific example. Here, as a specific example of processing, FIGS. 9 and 12 show an example of a process of actually performing correction based on the premise shown in FIG. In this example, in order to show the process of correction assignment, a four-day, four-day work schedule was used as an example.
[0086]
FIG. 9A shows the work schedule created and displayed by the initial assignment process (steps 100 and 200 in FIG. 3). In this work schedule, the work status of staff B violates the work pattern condition of “avoid the arrangement of midnight-midnight (weight 90)” among the assignment conditions. Since this violation is highlighted, the creator can easily recognize the work situation to be corrected. The creator inputs a correction instruction by clicking on the violation (step 300 in FIG. 3). In response to this operation, the correction assignment process (step 500 in FIG. 3) is started.
[0087]
In the correction assignment process, the assignment condition corresponding to the location specified by the creator is registered as an additional condition in the additional condition storage unit 8 (step 501 in FIG. 6). The number of correction trials at the time of initial registration is 0 as shown in FIG. However, since there is only one additional condition at this point, when the additional condition is selected (step 502 in FIG. 6), the number of correction trials of the additional condition is immediately added to 1 (step in FIG. 6). 503). FIG. 9C is a diagram obtained by transcribing FIG. 9A. The value of the objective function f (x) is 90 according to the above equation (2), and the value of the additional penalty function p (x) is α = 10. Then, 10 according to the above equations (3) and (4), so the evaluation value in this work table, that is, the value of the evaluation function E (x) becomes 90 + 10 = 100 according to the above equation (1) (step of FIG. 6). 506).
[0088]
Here, according to the method for changing the work schedule matrix at the time of allocation shown in FIG. 8, the element values of the work schedule matrix are changed by repeatedly performing steps 508 to 516 in FIG. In this process, the element value is changed so that the work table has a small evaluation value. In this example, the work table cannot be changed to a work table having a small evaluation value, and the work table created by the initial assignment remains as it is. An example showing this result is shown in FIG.
[0089]
In the above processing, since the additional condition could not be resolved even though the change of the element value of the work schedule matrix was repeated a predetermined number of times or for a predetermined time (steps 515, 516 and 518 in FIG. 6), step 502 in FIG. Return to. Here, since there is only one additional condition registered in the additional condition storage unit 8, the additional condition is selected again, and the number of correction trials is further incremented by 1 to 2 (step 503 in FIG. 6).
[0090]
Then, the evaluation value in the work schedule shown in FIG. 9D is calculated (step 506 in FIG. 6). The objective function value in this work schedule is not changed from 90, but the additional penalty value is 20 when the number of correction trials is 2. Therefore, the evaluation value in this work schedule is 90 + 20 = 110 according to the above equation (1). As described above, even if the work schedule is the same, the evaluation value increases as the additional penalty value increases as the process is repeated.
[0091]
Here, similarly to the above, the element values of the work schedule matrix are changed by repeatedly performing steps 508 to 516 of FIG. In this process, according to the method of changing the work schedule matrix at the time of assignment shown in FIG. 8, the work status of staff B and staff C for two days was changed as indicated by the arrow shown in FIG. 10 (e). (Step 508 in FIG. 6). FIG. 10F shows the work schedule after the replacement. This replacement eliminates the additional condition, but this time, the work status of the staff C violates the fourth work pattern condition of “avoid the arrangement of holidays and midnight (weight 100)” in the assignment condition. . The objective function value in the changed work schedule increases to 100, but the additional penalty value becomes 0 because there is no additional condition that is violated. Thereby, the evaluation value in the work schedule after the change becomes 100 + 0 = 100 according to the above formula (1) (step 509 in FIG. 6). Therefore, since the evaluation value after the change is smaller, this work schedule is stored (step 512 in FIG. 6).
[0092]
Further, returning to step 508 of FIG. 6, according to the method of changing the work schedule matrix at the time of allocation shown in FIG. 8, this time, staff B and staff C work one day as indicated by the arrows shown in FIG. 10 (f). Suppose the situation is changed. The work schedule after the replacement is shown in FIG. There are no allocation conditions that violate this replacement, and there are no additional conditions. That is, both the objective function value and the additional penalty value in the changed work table are 0, and as a result, the evaluation value in the changed work table is 0 according to the above equation (1) (step 509 in FIG. 6). Therefore, since the evaluation value after the change is smaller, this work schedule is stored (step 512 in FIG. 6).
[0093]
Further, returning to step 508 in FIG. 6, even if the element values of the work matrix are changed and the evaluation values before and after the change are compared, the work table having the evaluation value 0 cannot be improved. Then, after a predetermined number of times or a predetermined time has elapsed, when it is confirmed in step 518 in FIG. 6 that all the additional conditions have been eliminated, the correction assignment process ends. FIG. 10 (h) shows a work schedule created in this correction assignment process. In addition, FIG.10 (h) is the figure which copied FIG.10 (g).
[0094]
When the work schedule created in this way is displayed on the screen (step 200 in FIG. 3), the creator confirms that this work schedule does not violate any allocation condition because there is no highlighted part. Can be recognized. If the work schedule is acceptable, the creator ends the work schedule creation process without inputting a correction instruction (step 500 in FIG. 3). As described above, in the present embodiment, even if there is no violation location, if the allocated content is to be changed, it can be changed by clicking the corresponding location.
[0095]
In the case of a work table of this size, there is a high possibility that a sufficiently good work table can be obtained only by the initial assignment, and there is little need to correct it later. However, as described above, in the large work schedule that is actually used, some correction is necessary for the work schedule obtained by the initial allocation. The process exemplified here can be used as it is for a work table having a large size as it is, and in order to easily explain the correction process, the method is described in a work table having a small size. Further, as a predetermined algorithm in the allocation process, a method of “changing the work of two staff members on the same day in order of staff and date” was used as an example as a method of changing the work schedule matrix. As described in the description of the correction execution unit 18, the algorithm used here may be different from the algorithm used in the initial allocation.
[0096]
Finally, when the user interface for the work schedule creation support system in the present embodiment is confirmed, the work schedule creator activates the system and creates a work schedule. The work schedule created and displayed here is a work schedule created by the initial allocation process, and as described above, a condition violation usually occurs. Here, the work schedule creator designates a condition violation point that he / she wants to eliminate by referring to a warning display by clicking the mouse. Specifically speaking, the place where the mouse is clicked is the reverse display part on the work schedule or the warning message shown in FIG. Of course, as described above, it is possible to specify a non-violating part. A correction assignment process is executed in response to the mouse click. As a result, the corrected work schedule is displayed. When it is desired to further modify the work schedule because the condition still remains after the modification, the work schedule creator designates the correction position by clicking the mouse in the same manner as described above. The work schedule can be improved by designating a correction point by clicking the mouse on the created work schedule.
[0097]
As described above, according to the present embodiment, the element value of the element specified by the work schedule creator can be automatically and effectively corrected for the correction when creating the work schedule. The person need only specify the part of the work situation that he / she wishes to correct, and can effectively correct the work schedule.
[0098]
In the present embodiment, the burden on the work schedule creator is reduced by automatically correcting the element value to be changed due to a condition violation or the like. However, the setting of the element value by the work schedule creator is not denied, and a desired element value may be manually input and set for each element as in the conventional case. In the present embodiment, the element values of the work schedule matrix are changed at random in order to eliminate the condition violation (step 508 in FIG. 6). That is, each element value may be different from the immediately preceding work schedule regardless of whether there is a violation of the conditions. For this reason, there is a possibility that the element value manually set by the work schedule creator is also changed by repetition of the allocation process. To avoid this, a function that can change the weight for the assignment condition is provided, and if the weight for the element that you do not want to change the element value is set to a very large value, the work schedule is set so that the evaluation value decreases. The allocation execution unit 16 that creates the matrix does not employ a work schedule matrix whose element values change (steps 511 and 513 in FIG. 6). When an element value is manually input and set by the work schedule creator, the element value is automatically registered in the assignment condition, and automatic processing is performed so that the weight set at that time is set to a very large value. Also good.
[0099]
Further, in the above embodiment, a nurse work schedule creation support system has been realized, but the present invention is not limited to this, and for example, shift work such as guards, pilots, taxi drivers, etc. The same applies to the creation of work schedules for occupations with forms.
[0100]
【The invention's effect】
According to the present invention, when the work schedule creator modifies the work schedule, it only needs to indicate the location that the user wants to modify, and what value should be changed at the time of the modification, and the change In addition, since it is not necessary to instruct how other parts need to be changed derivatively, the burden of correcting the work schedule can be greatly reduced. In addition, since an additional penalty value is given for violations to be corrected, it is possible to reduce the number of changes in the work schedule that accompany the correction instructions, and the work schedule creator can easily understand the correction and be satisfied gradually. Can lead to work schedule. Also, since the evaluation value is calculated by giving a penalty value to the state to be corrected and the work schedule is corrected, the algorithm for automatically creating the work schedule can be used as it is for the correction, In some cases, there is a merit that it is not necessary to prepare a rule specialized for correction.
[0101]
In addition, when performing the allocation process repeatedly, the evaluation value is calculated by setting the additional penalty value by assigning a weight according to the number of repetitions of the allocation process. You can create work schedules to be eliminated.
[0102]
In addition, when the evaluation value can no longer be reduced even after repeated assignment processing, the adopted algorithm can be changed to another algorithm, so an improved work schedule with a smaller evaluation value is created. Could be possible.
[0103]
Further, since the degree of the additional penalty value to be reflected in the evaluation value calculated by the evaluation value calculating means can be set for each additional condition, it is possible to give priority to the additional condition for which the violation is to be eliminated.
[Brief description of the drawings]
FIG. 1 is a functional block configuration diagram showing an embodiment of a work schedule creation support system according to the present invention.
FIG. 2 is a diagram showing an example of a work schedule created in the present embodiment.
FIG. 3 is a flowchart showing an overall flow of work schedule creation processing in the present embodiment.
FIG. 4 is a flowchart showing an initial allocation process in the present embodiment.
FIG. 5 is a diagram showing a warning display example in the present embodiment.
FIG. 6 is a flowchart showing correction assignment processing in the present embodiment.
FIG. 7 is a diagram showing an example of additional conditions registered in an additional condition storage unit in the present embodiment.
FIG. 8 is a diagram showing preconditions for explaining correction assignment processing in the present embodiment.
FIG. 9 is a diagram showing shifts in work schedules by correction assignment processing based on the preconditions shown in FIG. 8;
FIG. 10 is a diagram showing the transition of the work schedule following FIG. 9;
[Explanation of symbols]
2 allocation condition description section, 4 input section, 6 evaluation value calculation section, 8 additional condition storage section, 10 work schedule creation processing section, 12 display processing section, 14 work schedule storage section, 16 allocation execution section, 18 correction execution section, 20 Violation determination unit, 22 Violation storage unit, 24 Warning display unit.

Claims (3)

各勤務者の勤務状況を表す2次元マトリクスを含む勤務表を作成する勤務表作成支援システムにおいて、
勤務表を作成するための作成条件を記憶する割付条件記憶手段と、
勤務表について前記作成条件に対する条件違反度を示すペナルティ値を計算し、当該ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記2次元マトリクス上に各勤務区分を割り付ける初期割付処理を実行することによって勤務表を作成する初期割付処理手段と、
前記作成した勤務表について前記作成条件に対する条件違反を警告表示する警告表示手段と、
前記作成した勤務表を修正する際の追加条件を記憶する追加条件記憶手段と、
前記警告表示された条件違反のうち任意の条件違反を勤務表作成者が入力指定することによって当該条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定する入力手段と
勤務表について前記作成条件に対する違反度を示すペナルティ値及び前記追加条件に対する条件違反度を示す追加ペナルティ値を計算し、当該ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記初期割付処理手段が割り付けた2次元マトリクス上の各勤務区分を変更する修正割付処理を実行することによって勤務表を作成する修正割付処理手段と、
を有し、
前記修正割付処理手段は、前記修正割付処理によって作成された勤務表において前記追加条件に対する条件違反が解消されないと、当該追加条件に対する追加ペナルティ値に加重を課した追加ペナルティ値を再設定し、前記ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、前記修正割付処理を再度実行することを特徴とする勤務表作成支援システム。
In a work schedule creation support system that creates a work schedule including a two-dimensional matrix that represents the work status of each worker,
An allocation condition storage means for storing a creation condition for creating a work schedule;
Calculate a penalty value indicating the degree of violation of the conditions for the creation conditions for the work schedule, and execute an initial assignment process that assigns each work category on the two-dimensional matrix according to a predetermined algorithm so that the evaluation based on the penalty value is high Initial allocation processing means for creating a work schedule by doing,
Warning display means for displaying a warning of a violation of the conditions for the created conditions for the created work schedule;
Additional condition storage means for storing additional conditions when correcting the created work schedule;
An input means for setting the additional condition storage means as the additional condition to eliminate the condition violation by specifying an arbitrary condition violation among the condition violations displayed as warnings by the work table creator ;
A predetermined algorithm for calculating a penalty value indicating the degree of violation of the creation condition and an additional penalty value indicating the degree of violation of the condition for the additional condition for the work schedule, and for increasing the evaluation based on the penalty value and the additional penalty value. Modified assignment processing means for creating a work schedule by executing a modified assignment process for changing each work division on the two-dimensional matrix assigned by the initial assignment processing means according to
I have a,
The correction allocation processing means resets an additional penalty value that imposes a weight on the additional penalty value for the additional condition if the condition violation for the additional condition is not resolved in the work schedule created by the correction allocation process, The work schedule creation support system , wherein the correction allocation process is executed again so that the evaluation based on the penalty value and the additional penalty value is high .
請求項1記載の勤務表作成支援システムにおいて、
前記修正割付処理手段は、勤務表を作成する際に、前記追加条件記憶手段に記憶されている追加条件に対する条件違反が解消するまで前記修正割付処理を反復して行い、前記修正割付処理の反復実行過程において、その反復回数に応じた加重を課した追加ペナルティ値を再設定して評価値を計算することを特徴とする勤務表作成支援システム。
In the work schedule preparation support system according to claim 1,
The correction allocation processing means repeatedly performs the correction allocation processing until the violation of the condition for the additional condition stored in the additional condition storage means is resolved when creating the work schedule, and repeats the correction allocation processing. In the execution process, a work schedule creation support system, wherein an evaluation value is calculated by resetting an additional penalty value imposed with a weight according to the number of iterations.
各勤務者の勤務状況を表す2次元マトリクスを含む勤務表を作成する勤務表作成支援システムにおいて、
勤務表を作成するための作成条件を記憶する割付条件記憶手段と、
勤務表について前記作成条件に対する条件違反度を示すペナルティ値を計算し、当該ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記2次元マトリクス上に各勤務区分を割り付ける初期割付処理を実行することによって勤務表を作成する初期割付処理手段と、
前記作成した勤務表について前記作成条件に対する条件違反を警告表示する警告表示手段と、
前記作成した勤務表を修正する際の追加条件を記憶する追加条件記憶手段と、
前記警告表示された条件違反のうち任意の条件違反を勤務表作成者が入力指定することによって当該条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定する入力手段と、
勤務表について前記作成条件に対する違反度を示すペナルティ値及び前記追加条件に対する条件違反度を示す追加ペナルティ値を計算し、当該ペナルティ値及び当該追加ペナルティ値に基づく評価が高くなるように、所定のアルゴリズムに従い前記初期割付処理手段が割り付けた2次元マトリクス上の各勤務区分を変更する修正割付処理を実行することによって勤務表を作成する修正割付処理手段と、
を有し、
前記警告表示手段は、前記作成した勤務表について前記作成条件に対して条件違反が生じている当該勤務表上の勤務状況部分を明示することで当該条件違反を警告表示し、
前記入力手段は、前記警告表示手段により警告表示された前記勤務状況部分のうち、入力指定された勤務状況部分の条件違反を解消することを前記追加条件として前記追加条件記憶手段に設定することを特徴とする勤務表作成支援システム。
In a work schedule creation support system that creates a work schedule including a two-dimensional matrix that represents the work status of each worker,
An allocation condition storage means for storing a creation condition for creating a work schedule;
Calculate a penalty value indicating the degree of violation of the conditions for the creation conditions for the work schedule, and execute an initial assignment process that assigns each work category on the two-dimensional matrix according to a predetermined algorithm so that the evaluation based on the penalty value is high Initial allocation processing means for creating a work schedule by doing,
Warning display means for displaying a warning of a violation of the conditions for the created conditions for the created work schedule;
Additional condition storage means for storing additional conditions when correcting the created work schedule;
An input means for setting the additional condition storage means as the additional condition to eliminate the condition violation by specifying an arbitrary condition violation among the condition violations displayed as warnings by the work table creator;
A predetermined algorithm for calculating a penalty value indicating the degree of violation of the creation condition and an additional penalty value indicating the degree of violation of the condition for the additional condition for the work schedule, and for increasing the evaluation based on the penalty value and the additional penalty value. Modified assignment processing means for creating a work schedule by executing a modified assignment process for changing each work division on the two-dimensional matrix assigned by the initial assignment processing means according to
Have
Said warning display means, the condition violation warning by explicitly working status portion on the roster that condition violation has occurred with respect to the production conditions for the roster that the created,
The input means sets the additional condition storage means as the additional condition to eliminate the condition violation of the input work status portion of the work status portion displayed as a warning by the warning display means. Features a work schedule creation support system.
JP2002165499A 2002-06-06 2002-06-06 Work schedule creation support system Expired - Fee Related JP4430282B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002165499A JP4430282B2 (en) 2002-06-06 2002-06-06 Work schedule creation support system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002165499A JP4430282B2 (en) 2002-06-06 2002-06-06 Work schedule creation support system

Publications (3)

Publication Number Publication Date
JP2004013487A JP2004013487A (en) 2004-01-15
JP2004013487A5 JP2004013487A5 (en) 2005-09-08
JP4430282B2 true JP4430282B2 (en) 2010-03-10

Family

ID=30433323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002165499A Expired - Fee Related JP4430282B2 (en) 2002-06-06 2002-06-06 Work schedule creation support system

Country Status (1)

Country Link
JP (1) JP4430282B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100463769C (en) 2004-01-21 2009-02-25 国立大学法人丰桥技术科学大学 Process for forming ultrafine crystal layer, machine component having ultrafine crystal layer formed by the ultrafine crystal layer forming process, process for producing the machine component, proces
JP2006236173A (en) * 2005-02-28 2006-09-07 Secom Co Ltd Roster creation system
JP5101203B2 (en) * 2007-08-06 2012-12-19 ウィンワークス株式会社 Schedule table creation device, program
JP5113023B2 (en) * 2008-11-20 2013-01-09 公益財団法人鉄道総合技術研究所 Work plan creation device
JP5501421B2 (en) * 2012-09-26 2014-05-21 ウィンワークス株式会社 Schedule table creation device, program
JP5946043B2 (en) * 2014-01-28 2016-07-05 鉄道情報システム株式会社 Schedule creation device, schedule creation program, and recording medium on which schedule creation program is recorded
KR102256850B1 (en) * 2019-06-03 2021-05-26 이창용 System and method for work table service of hospital shift worker based on big-data and artificial intelligence
JP7530248B2 (en) * 2020-09-08 2024-08-07 株式会社東芝 Information processing device, information processing method, and computer program

Also Published As

Publication number Publication date
JP2004013487A (en) 2004-01-15

Similar Documents

Publication Publication Date Title
US7788598B2 (en) System and method for assigning and scheduling activities
US5918226A (en) Workflow system for operating and managing jobs with predicting future progress of workflow job
US20190197493A1 (en) Displaying a plurality of calendar entries
US20090265203A1 (en) User prioritized search engine for automated meeting scheduling
Vanhoucke Integrated project management sourcebook
JPH09190469A (en) Schedule managing system
WO2005079368A2 (en) A business method for integrating and aligning product development and brand strategy
US20070050228A1 (en) Schedule management
US20160098666A1 (en) Transferring Employees in Operational Workforce Planning
US20060167725A1 (en) Method and apparatus for scheduling
US11580180B2 (en) Job prospect and applicant information processing
US20150242782A1 (en) Interactive Planning Method And Tool
JP4430282B2 (en) Work schedule creation support system
US10496962B1 (en) Dynamic digital calendar day kanban board
US20160098653A1 (en) Risk Analysis to Improve Operational Workforce Planning
JP7075075B2 (en) Schedule creation operation device, program
JP6741324B1 (en) Work schedule creation system
US20160098668A1 (en) Operational Workforce Planning
JP5864387B2 (en) Process planning support device, process planning support method and program
KR102200112B1 (en) Hierarchical project management apparatus
US20230376903A1 (en) Automatic project planning, budgeting, and tracking tool
JP2006202082A (en) Production line management system, production line management program, recording medium, and method for managing production line
KR102151546B1 (en) Hierarchical project management apparatus
US20210216946A1 (en) Schedule optimization system
JP2003016240A (en) Network type project managing system and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080109

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091217

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4430282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees