JP5501421B2 - スケジュール表作成装置、プログラム - Google Patents

スケジュール表作成装置、プログラム Download PDF

Info

Publication number
JP5501421B2
JP5501421B2 JP2012212528A JP2012212528A JP5501421B2 JP 5501421 B2 JP5501421 B2 JP 5501421B2 JP 2012212528 A JP2012212528 A JP 2012212528A JP 2012212528 A JP2012212528 A JP 2012212528A JP 5501421 B2 JP5501421 B2 JP 5501421B2
Authority
JP
Japan
Prior art keywords
information
schedule table
rule
hierarchy
node
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.)
Active
Application number
JP2012212528A
Other languages
English (en)
Other versions
JP2013030182A (ja
Inventor
庸輔 森
Original Assignee
ウィンワークス株式会社
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 ウィンワークス株式会社 filed Critical ウィンワークス株式会社
Priority to JP2012212528A priority Critical patent/JP5501421B2/ja
Publication of JP2013030182A publication Critical patent/JP2013030182A/ja
Application granted granted Critical
Publication of JP5501421B2 publication Critical patent/JP5501421B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、企業従業員等の集団構成員のスケジュール表を自動作成する技術に関する。
企業等においては、様々な場面で社員、派遣社員、アルバイトスタッフ等の被雇用者(以下単に「被雇用者」と称する。)のスケジュール表を作成する必要が生ずる。例えば、複数の被雇用者が交代制で勤務に就くような状況で勤務スケジュール表を作成する場合、仕事量の増減、遵守しなければならない就業条件、更に各被雇用者の都合等に合わせて各被雇用者の勤務日、勤務時間、休日等を決める最適化(以下単に「最適化」と称する。)を行う必要がある。このようなスケジュール表作成における労力の軽減を図るため、従来、スケジュール表を自動的に作成する技術が提案されている。例えば、遺伝的アルゴリズムを用いて最適化を行う勤務スケジュール表作成装置の発明が知られている(例えば、特許文献1参照)。また、各被雇用者の業務スキルを算出し、算出結果を元に人員配置を行う勤務スケジュール表作成装置の発明が知られている(例えば、特許文献2参照)。
特開2004−310530号公報 特開平11−143850号公報
しかし、たとえ同一企業内であったとしても、仕事の内容や仕事量などは、部署毎、事業所毎、地域毎に相異することが多い。また、同一部署、同一事業所であったとしても、季節、月、曜日によって仕事量に違いが生じることが多い。そのため、別個の部署や事業所等に勤務する被雇用者の勤務態様や雇用条件等はこれらの条件によって多様な違いが生ずることが多い。そして、上記特許文献1、特許文献2に記載の発明においては、この多様な違いに起因してスケジュール表を作成する際の制約条件も多様になり、スケジュール表作成装置において記録・管理される、制約条件を適用するためのデータや数式の数量が膨大になり、処理内容や情報管理が煩雑になるという問題が生ずる。
本発明は上記の問題に鑑みてなされたものであり、スケジュール表作成時に用いる複数の制約条件を合理的に管理し、コンピュータに過大な負荷をかけることなく、多様な勤務態様、雇用条件に対応するスケジュール表を作成することができるスケジュール表作成装置を提供することを課題としている。
上記課題を解決するため、請求項1に記載の発明は、企業等の被雇用者の日時ごとのスケジュールを表示するためのスケジュール表を自動的に作成するスケジュール表作成装置において、前記被雇用者の雇用条件に関する情報であって前記スケジュール表を作成する際の制約条件を形成するルール情報を複数設け、それぞれの前記ルール情報を木構造の階層構造として管理するための階層情報を備えた階層管理手段と、該階層管理手段で階層的に管理された前記ルール情報から前記スケジュール表の作成に適用する前記ルール情報を選択する適用選択手段と、該適用選択手段において選択された前記ルール情報を構成する、任意の期間において勤務する勤務者の数を設定するための目標関数とそれぞれの前記勤務者の勤務可能な日時を設定するための所定の制約条件とを用いた整数計画によって前記スケジュール表の作成を行う整数計画ソルバーと、前記整数計画ソルバーにおいて前記ルール情報を用いて前記スケジュール表の作成ができない場合、該スケジュール表への適用が可能になるように前記ルール情報を調節するルール緩和手段とを有し、前記階層管理手段は、それぞれの前記階層情報を、一のノードをルートノードとし、他の複数の前記ノードを前記ルートノードを根とする前記木構造に形成してなる組織階層定義情報を有し、それぞれの前記ノードは、前記木構造を形成する情報として自らの直近の上位ノードを示す上位ノード情報を有し、それぞれの前記ノードには、前記被雇用者の役職等、個々の前記被雇用者の属性となる情報、及び/又は、前記被雇用者の勤務先、勤務地域等、雇用先の属性となる情報、が設定されると共に、それぞれの前記ノードごとに前記ルール情報が設定され、かつ、該ノード及び該ノードに繋がる下位の前記ノードに対して前記ルール情報が適用されることを規定する、前記ルール情報の適用の範囲情報が対応付けられ、前記適用選択手段は、前記ルール情報を適用する前記範囲情報が対応付けられた前記ノードを特定し、特定された前記ノードを起点に、前記上位ノード情報に基づいて前記ルートノードまで前記木構造をさかのぼって探索した場合に、該探索の経路に該当するそれぞれの前記ノードに関連付けられた前記ルール情報を選択し、前記整数計画ソルバーは、前記適用選択手段において選択された前記ルール情報に対応する前記目標関数と前記制約条件とを、前記目標関数と前記所定の制約条件として用いて前記スケジュール表を作成すると共に、前記ノードに関連付けられた前記ルール情報は、規定された前記目標関数と前記制約条件を用いて任意の勤務日、非勤務日、勤務時間帯におけるスケジュール作成ができない場合に、該スケジュール作成ができない時間帯において、前記目標関数の値の緩和条件を規定するルール緩和情報を有し、前記ルール緩和手段は、前記整数計画ソルバーにおいて、前記適用選択手段によって選択された前記ルール情報を用いて前記スケジュール表の作成ができない場合、該スケジュール表への適用が可能になるように、前記ルール緩和情報を用いて任意の前記ルール情報を緩和して、前記整数計画ソルバーに、前記緩和された前記ルール情報に対応する前記目的関数と前記制約条件とによって前記スケジュール表を作成させることを特徴とすることを特徴とする。
請求項2に記載の発明は、請求項1に記載の構成に加え、前記勤務者の勤務可能な日時は、前記勤務者の勤務日、非勤務日、勤務時間帯を有することを特徴とする。
請求項3に記載の発明は、プログラムであって、コンピュータを請求項1又は2に記載のスケジュール表作成装置として機能させることを特徴とする。
請求項1に記載の発明によれば、被雇用者の雇用条件に関する情報であってスケジュール表を作成する際の制約条件を形成するルール情報を階層構造として複数管理する階層管理手段と、階層管理手段で階層的に管理されたルール情報からスケジュール表の作成に適用するルール情報を選択する適用選択手段とを備えたことにより、関連性の高いルール情報同士をグループ化した状態で管理し、かつスケジュール表の作成に用いることが可能になる。これにより、スケジュール表作成時に用いる複数の制約条件を合理的に管理し、コンピュータに過大な負荷をかけることなく、多様な勤務態様、雇用条件に対応するスケジュール表を作成することができる。
請求項1に記載の発明によれば、目標関数と所定の制約条件とを用いた整数計画によってスケジュール表の作成を行う整数計画ソルバーを有し、適用選択手段は、整数計画ソルバーに適用しうる目標関数と整数計画ソルバーに適用しうる所定の制約条件とを有するルール情報を選択し、整数計画ソルバーは適用選択手段によって選択されたルール情報を用いてスケジュール表を作成することにより、コンピュータが実行し易い態様で、適用される組織や時間等の条件に対する適合性の高いスケジュール表を作成できる。これにより、本発明に基づいて作成されたスケジュール表の有用性を高くすることができる。
請求項に記載の発明によれば、整数計画ソルバーにおいて、適用選択手段によって選択されたルール情報を用いてスケジュール表の作成ができない場合、スケジュール表への適用が可能になるようにルール情報を緩和するルール緩和手段を備えたことにより、状況の変化に応じてルール情報の適用条件を調節し、制約条件を満たすことができないためにスケジュール表を作成できないような事態の発生を抑止することができる。これにより、例えば就労可能な被雇用者数の増減が頻繁に生ずるような被雇用者の実情に沿った形でスケジュール表の作成を一層円滑に行うことができる。
請求項3に記載の発明によれば、本発明のスケジュール表作成装置をプログラム化し、多様なコンピュータハードウェア上で実現させることができる。
この発明の実施の形態1のスケジュール表作成システムのシステム構成図及び機能ブロック図である。 同上実施の形態1のスケジュール表作成装置の機能ブロック図である。 (a)同上スケジュール表作成装置で用いられるデータのデータ構造を模式的に示した図、(b)同上スケジュール表作成装置で用いられるデータにおける、特定の被雇用者の特定日におけるシフト種類を特定するための配列を模式的に示したである。 同上スケジュール表作成装置におけるスケジュール表作成手順を示すフローチャートである。 同上スケジュール表作成装置の組織データ階層管理部において管理されている組織階層定義テーブルを模式的に示した図である。 同上スケジュール表作成装置の組織データ階層管理部において管理されているルールテーブルを模式的に示した図である。 同上スケジュール表作成装置の組織データ階層管理部において管理されている各テーブルを用いて、特定階層の特定のノードに適用するルール情報を抽出する処理を示すフローチャートである。 同上スケジュール表作成装置において定義された時間階層等を模式的に示した図である。 同上スケジュール表作成装置の時間データ階層管理部において管理されている時間階層定義テーブルを模式的に示した図である。 同上スケジュール表作成装置の時間データ階層管理部において管理されている各テーブルを用いて、特定の時間に適用するルール情報を抽出する処理を示すフローチャートである。 この発明の実施の形態2のスケジュール表作成装置の機能ブロック図である。 同上スケジュール表作成装置における、ルール情報の緩和手順を示すフローチャートである。
(発明の実施の形態1)
以下、図1乃至図10にこの発明の実施の形態1を示す。
図1は、この発明の実施の形態1のスケジュール表作成システムのシステム構成図及び機能ブロック図である。同図に示すとおり、スケジュール表作成システム1Aは、スケジュール表作成装置1と、n個(n≧1)のクライアント端末21〜2nとを備えたクライアント・サーバーシステムであって、スケジュール表作成装置1とクライアント端末21〜2nは、WAN(Wide Area Network)としてのインターネット3を介して相互に交信可能である。この実施の形態において「スケジュール表」は被雇用者の勤務表であるものとするが、これに限定されず、スケジュール管理のためのあらゆる表を自動作成するためのシステムに適用することができる。
スケジュール表作成装置1は、企業等複数の構成員を有する団体、又は同団体の依頼に基づいて各構成員の構成員等のスケジュール情報の記録管理を行う事業者が管理するコンピュータシステムである。なお、この実施の形態では当該団体はシフト制で働く被雇用者を有する企業とするが、シフト制以外の雇用形態で勤務する被雇用者を有する企業であってもよいし、企業以外でも、家族、学校、各種非営利団体等であってもよい。
スケジュール表作成装置1は、Webサーバー4、スケジュール記録管理部5、最適化処理部6、表示部7を備えている。Webサーバー4はクライアント端末21〜2nとの間でデータ通信を行なう。スケジュール記録管理部5はスケジュール情報の記録と集中管理を行う。またスケジュール記録管理部5には各コミュニティの構成員や特定個人に関するスケジュール以外の様々な情報も記録されてリポジトリ・システムを形成する。最適化処理部6はスケジュール記録管理部5に記録された各種情報(例えば企業の雇用条件と雇用希望者の希望条件等)のマッチングとマッチングのための各種情報の最適化処理とを行うと共に、各被雇用者のスケジュールを最適化した状態で作成する。表示部7はLCD(Liquid Crystal Display)等からなりマウス、キーボード等の操作部(図示せず)から入力された各種指示等や各種画像を表示する。
クライアント端末21,・・・,2nは、企業においてシフト制で働く被雇用者等が使用する、データ通信機能を有する通信端末、例えばパーソナルコンピュータ、携帯電話端末、電子手帳、PDA(Personal Digital Assistants、携帯情報端末)等である。クライアント端末21,・・・,2nは、マウスやキーボード等各種指示を入力するために用いられる操作部(図示せず)、表示部7と同様の構成の表示部211,・・・,21n(図示せず)を有し、Webブラウザ221・・・,22n(図示せず)が表示される。なお、クライアント端末21,・・・,2n、表示部211,・・・,21n、Webブラウザ221,・・・,22nは同じ構成を持つので、以下区別する必要がある場合を除き、クライアント端末2、表示部21、Webブラウザ22と表記する。
図1には図示しないが、スケジュール表作成装置1のWebサーバー4、スケジュール記録管理部5には、少なくとも1のCPU(Central Processing Unit、中央処理装置)、及び、CPUの作業領域として機能するRAM(Random Access Memory)、起動用ブートプログラム等が記録されたROM(Read Only Memory)、各種プログラムやデータ等が記録されるハードディスク等の補助記憶装置、データの送受信に用いる通信インターフェース等がそれぞれ設けられている。補助記憶装置には、OS(Operating System)用プログラム、各種アプリケーションプログラムやデータが記録されており、これらのプログラムやデータはCPUの演算処理により、ハードウェア資源と協働し、各種機能を実現する。
図2は、スケジュール表作成装置1の機能ブロック図である。同図に示す通り、スケジュール表作成装置1の最適化処理部6は、機能手段として、予定表管理部61、スケジュール表作成部62を有している。
予定表管理部61は、各被雇用者の出張予定日時、有給休暇取得予定日時等、各被雇用者の予めわかっているスケジュール情報の記録と管理を行う。スケジュール表作成部62は、与えられた条件に基づいて、スケジュールを最適化した状態でスケジュール表の作成を行う。
スケジュール表作成部62は更に、作成の対象となるスケジュール表の内容としての初期条件(以下単に「初期条件」と称する。)の情報、及び当該スケジュール表の作成に用いる情報をそれぞれ取得して作成に必要な処理を行う初期条件等設定部621、スケジュール表の作成にあたり、スケジュール表を作成する際の制約条件を形成するルール情報を適用して最適化されたスケジュール表を作成するルール適用部622、作成されたスケジュール表を表示部7等に対して出力するスケジュール表出力部623を有する。
ルール適用部622は更に、目標関数及び所定の制約条件を管理する制約数理モデル部6221と、これら目標関数及び所定の制約条件を用いた整数計画によってスケジュール表の作成を行う整数計画ソルバー6222とを有している。
制約数理モデル部6221は更に、目標関数記録管理部6221a、制約条件記録管理部6221b、「階層管理手段」としての階層管理部6221c、「適用選択手段」としての適用選択部6221dを有している。目標関数記録管理部6221a、制約条件記録管理部6221bはそれぞれ、整数計画で用いられる目標関数と制約条件とが記録されている。階層管理部6221cには、被雇用者の雇用条件に関する情報であってスケジュール表を作成する際の制約条件を形成するルール情報(以下単に「ルール情報」と称する。)が階層構造のデータとして複数記憶されている。適用選択部6221dは、階層管理部6221cで階層的に管理されたルール情報からスケジュール表の作成に適用するルール情報を選択すると共に、ルール情報に用いられる目標関数や制約条件を目標関数記録管理部6221aや制約条件記録管理部6221bから取得してルール情報に適用する。適用選択部6221dには一時記憶領域が設けられて、この一時記憶領域に、日にちリスト6221eが形成される(詳しくは後述する。)。
また、階層管理部6221cは更に、組織データ階層管理部6221c1と時間データ階層管理部6221c2とを有している。組織データ階層管理部6221c1は、被雇用者が所属する部署等の組織に関する情報をルール情報として有すると共に、この組織に関する情報を階層的に管理している(具体的には後述する。)。時間データ階層管理部6221c2は、被雇用者の勤務日、非勤務日、勤務日における勤務シフト等の勤務態様に関する情報をルール情報として有すると共に、この勤務態様に関する情報を階層的に管理している(具体的には後述する。)。
次に、この実施の形態のスケジュール表作成装置1において、スケジュール表の作成に用いられるデータのデータ構造について説明する。
図3の(a)は、この実施の形態のスケジュール表作成装置1で用いられるデータのデータ構造を模式的に示したものである。なお同図に示すデータ構造のデータは、スケジュール記録管理部5に個々のスケジュール表を示すデータとして記憶されている。同図は、午前勤務、午後勤務、深夜勤務等の複数の勤務シフトを有する雇用形態としてのシフト制勤務のスケジュール表に用いられるものである。即ち、スケジュール表は同図のような3次元の配列で表わすことができるデータ構造を有している。
i軸は日、j軸は被雇用者(スタッフ)、k軸はシフト種類(後述)を示し、個々のブロックはスケジュール表に記録される特定日の特定の被雇用者の特定シフトを示す。個々のセルは下記(1)式で示される。
Figure 0005501421
ここで、Rは0,1の2値を取る変数である。即ち、スケジュール表の個々のデータ(同図の個々のセル)は0,1の2値データであることを示している。
図3の(b)は、スケジュール表作成装置1で用いられるデータにおける、特定の被雇用者の特定日におけるシフト種類を特定するための配列を模式的に示したものである。同図において、k軸方向の配列のうち1つのセルのみが1つの値を取る。つまり、ある被雇用者が特定の日において取り得るシフト種類は1種類だけである。
次に、この実施の形態のスケジュール表作成装置1において、スケジュール表の作成に用いられる目標関数と制約条件について説明する。
図2の制約数理モデル部6221の目標関数記録管理部6221a及び制約条件記録管理部6221bには、上述したスケジュール表を最適化するための目標関数と、目標関数を制約するための制約条件が多数記録されている。
例えば、特定の日(例えば6月15日)に10名以上が勤務しなければならない場合、以下(2)に示す目標関数と(3)に示す制約条件とが用いられる。
Figure 0005501421
ただしR:0,1の2値を取る変数、ix:iの最大値,jx:iの最大値,kx:kの最大値、S:シフト種類を表わすベクトルデータ、である。
Figure 0005501421
ただしS:シフト種類を表わすベクトルデータ、1:勤務とみなされるシフト,0:勤務とみなされないシフト、である。
また、全体の勤務人日が最も少なくなる最適化を行う場合の目標関数は以下(4)が用いられる。
Figure 0005501421
ただしN:全体の勤務人日、ix:iの最大値,jx:iの最大値,kx:kの最大値、R:0,1の2値を取る変数、S:シフト種類を表わすベクトルデータ、である。
更に、例えばそれぞれの日の勤務人数がなるべく同じになることを考慮する場合、以下(5)のように複数の目標関数を組み合わせる場合もある。
Figure 0005501421
ただしN:勤務人数、a1,a2:重み係数、R:0,1の2値を取る変数、ix:iの最大値,jx:iの最大値,kx:kの最大値、S:シフト種類を表わすベクトルデータ、である。
この実施の形態においては、上記(1)〜(5)に例示したような目標関数や制約条件が後述する階層と共に適用されることになる。
次に、この実施の形態のスケジュール表作成装置1における、組織データ階層管理部6221c1において管理されている情報の具体的態様と、ルール情報の適用の具体的手順について説明する。
図4に、この実施の形態のスケジュール表作成装置1において定義された組織階層等を模式的に示した図を示す。同図に示す通り、スケジュール表作成システム1Aにおいては複数(ここでは5つ)の組織階層、即ち上位から順にシステム階層(第1階層)、エンタープライズ階層(第2階層)、リージョン階層(第3階層)、サイト階層(第4階層)、ロール階層(第5階層)が定義され、各階層にノードが定義されている。各階層は企業同士、あるいは企業内の階層関係(従属、被従属の関係等)に基づいた態様に区分されており、具体的には、事業所、部署、役職等を定義するノードが設けられている。システム階層にはシステム全体を示す“ROOT”ノードが設けられ、エンタープライズ階層には「企業A」「企業B」等企業全体を示すノード、リージョン階層には「東京」「大阪」等企業の事業所や営業所が設置された地域を示すノード、サイト階層には「銀座店」「青山店」等事業所や営業所の店舗を示すノード、ロール階層には「マネジャー」「セールス」等被雇用者の役職を示すノードが設けられている。これらのノードは“ROOT”ノードを起点とするツリー構造を形成している。
図5は、この実施の形態のスケジュール表作成装置1の組織データ階層管理部6221c1において管理されている組織階層定義テーブルを模式的に示した図である。この組織階層定義テーブル100は図4に示す組織階層をテーブル化したものであり、各ノード及びノード相互間の関係を名称列101、階層レベル列102、上位ノードの名称列103によって規定し、各行が1のノードを表わしている。例えば4行目104は「サイト階層」にある「銀座店」ノードであり、上位ノードは「東京」ノードであることを示している(図4参照)。なお、同階層定義テーブル105においては、1〜3行目の上位ノードの名称が直属の「エンタープライズ」でなく「ROOT」になっているが、エンタープライズ階層の「企業A」「企業B」等がそれ以下の階層そのものを区分するので最上位の階層のノードを上位ノードに規定したものである。
図6は、この実施の形態のスケジュール表作成装置1の組織データ階層管理部6221c1において管理されているルールテーブルを模式的に示した図である。このルールテーブル110は、組織階層のノード毎のルールを組織階層ラベル列111、テンプレート番号列112、パラメータリスト列113、コメント文字列114に基づいて規定したものであり、各行が1のノード自身に規定されたルール情報を形成する。各行において、組織階層ラベル列111には各行のルール情報が規定されるノードの名称が規定され、テンプレート番号列112は各行のルール情報に適用される目標関数や制約条件の式(即ち上記(1)乃至(5)に示すような式のこと。この実施の形態では各式に通し番号が付され、この通し番号がテンプレート番号を形成する。)が規定され、パラメータリスト列113には、テンプレート番号列112で特定された式の変数に引き渡すパラメータの値が規定され、コメント文字列114は各行のルール情報の意味を概説するための情報が規定される。
次に、これらのテーブルを用いたルールの抽出手順について説明する。
図7は、この実施の形態のスケジュール表作成装置1の組織データ階層管理部6221c1において管理されている各テーブルを用いて、特定階層の特定のノードに適用するルール情報を抽出する処理を示すフローチャートである。当該処理は適用選択部6221dにおいて行われる。なお同フローチャートはサイト階層のノードに対する処理を例示して説明するが、サイト階層以外の階層のノードに対する処理であっても全て本フローチャートと同様の手順で処理が行われる。
例えば図4に示すサイト階層の「銀座店」ノード104に適用するルールを規定するルール情報を考える。このとき、まず適用選択部6221dは対象となるサイト階層を抽出し(ステップS1)、次いで組織階層定義テーブル100の名称「銀座店」ノード104を抽出する(ステップS1)。組織階層定義テーブル100の名称列101に対象となる「銀座店」を含む行(レコード)104を抽出する。そして、当該「銀座店」の行104において上位ノードの名称列103に記載されている名称「東京」を対象リージョンとし、次に組織階層定義テーブル100の名称列101に「東京」を含む行の上位ノードの名称列103に記載された「ROOT」を抽出する(ステップS2)。即ち、ステップS2の処理はステップS1で抽出された階層から最上位の階層までノードをさかのぼる(図4参照)形で組織階層定義テーブル100の抽出が行われる。
次に、適用選択部6221dはルールテーブル110の中からステップS2で抽出された行に対応する行(レコード)を抽出する。この実施の形態では、ルールテーブル110の中から対象サイト、対象リージョン(又はルート)に対応する、組織階層ラベル列111が「銀座店」の行115、及び組織階層ラベル列111が「東京」の行116を抽出する(ステップS3)。
そして、適用選択部6221dはステップS3で抽出された行(レコード)のセットを対象サイトに適用するルールセット(ルール情報)とする(ステップS4)。即ち、ステップS3で抽出された行(ここではルールテーブル110の行115、行116)において、テンプレート番号列112の番号で規定された目標関数や制約条件の式、及びパラメータリスト列113にて規定されたパラメータの値が「銀座店」ノード104のルールセット(ルール情報)となる。
このように、被雇用者が所属する部署等の組織に関する情報をルール情報として有すると共に組織に関する情報が階層的に管理された組織データ階層管理部6221c1を備えたことにより、関連性の高いルール情報同士を企業内の部署同士や事業所同士の関係と同様に階層的に管理し、また統合的に利用することを可能にする。これにより、部署毎、事業所毎、地域毎等の違いによる仕事の内容や仕事量の違いによって増加したルール情報を合理的に管理することを可能にすると共に、スケジュール情報を作成する際におけるルール情報の利用の利便性を向上させることができる。
次に、この実施の形態のスケジュール表作成装置1における、時間データ階層管理部6221c2において管理されている情報の具体的態様と、ルール情報の適用の具体的手順について説明する。
図8は、この実施の形態のスケジュール表作成装置1において定義された時間階層等を模式的に示した図である。同図に示す通り、スケジュール表作成システム1Aにおいては複数の時間階層、即ち季節階層、月階層、日階層、週階層、曜日種類階層、曜日階層、業務階層が定義されている。また、各階層には階層のカテゴリーに含まれるノードが定義されており、季節階層のノードと月階層のノード、曜日種類階層のノードと曜日階層のノードは上下関係を形成し、ゆえにこれらの階層同士も上下関係を形成している。また、各ノードはいずれの階層にも属しない「全ての日」ノードを起点とするツリー構造を形成している。なお、業務階層と、業務階層に含まれる棚卸」ノード及び「ミーティング」ノードとの定義は必ずしも必要ではないが、ノードの定義する「棚卸」のある日や「ミーティング」のある日にはその業務が定義されている。
図9は、この実施の形態のスケジュール表作成装置1の時間データ階層管理部6221c2において管理されている時間階層定義テーブルを模式的に示した図である。この時間階層定義テーブル200は図8に示す時間階層をテーブル化したものであり、各ノード及びノード相互間の関係を種類列201、値列202、上位ノード種類列203、上位ノード値列204によって規定し、各行が1のノードを表わしている。例えば4行目205は「月階層」にある「1月」ノードであり、上位階層は「季節階層」で上位ノードは「繁忙期」ノードであることを示している(図8参照)。
また、図示しないがこの実施の形態の時間データ階層管理部6221c2には時間ルールテーブルが設けられている。この時間ルールテーブルには、下記(A)を単位とするルール情報を複数有するテーブルデータを形成している。
{日にちの条件}−{スタッフの条件}−{ルールボディ}−{制限値}・・・(A)
但し(A)において{}は情報の単位、“−”は情報の単位同士の関連付けを示す。この{日にちの条件}には時間階層の特定のノード(図8の種類列201参照)が定義され、{スタッフの条件}にはスタッフの役職等(図4のロール階層のノード等参照)が定義され、{ルールボディ}には目標関数や制約条件の式(上記(1)乃至(5)に示すような式)が定義され、{制限値}には被雇用者の数や勤務時間等の具体的な制限値が定義されて、全体として例えば「繁忙期にはセールス階層の被雇用者が15人以上勤務する」ような時間毎の勤務条件が定義される。
次に、これらのテーブルを用いたルールの抽出手順について説明する。
図10は、この実施の形態のスケジュール表作成装置1の時間データ階層管理部6221c2において管理されている各テーブルを用いて、特定の時間に適用するルール情報を抽出する処理を示すフローチャートである。当該処理は適用選択部6221dにおいて行われる。なお同フローチャートは特定の「日」に適用されるルール情報の抽出処理を例示して説明するが、「日」以外の全ての時間(例えば図8における「季節」や「時間」等の各階層)に対する処理であっても全て本フローチャートと同様の手順で処理が行われる。
例えば「3月1日、月曜日」に適用されるルール情報を抽出する場合、適用選択部6221dは時間階層定義テーブル200の値列202に該当する時間種類が記載された行を抽出し、抽出した行情報をデータの一時記憶領域としての「日にちリスト(図10に示す6221e参照。実際には図2に示す通り適用選択部6221dの一部に形成される。)」に記憶しておく(ステップS11)。例えば図9の時間階層定義テーブル200においては、値列202が「3(月)」の行206、「1(週目)」の行207、「月(曜日)」の行208が抽出され、これらが「日にちリスト」に記憶される。そして、抽出された列の上位ノード種類列203、上位ノード値列204に値がある場合には(ステップS12の“Yes”)、その上位ノードが種類列201、値列202に記載された行の検索と抽出を行う(ステップS13)。図9の時間階層定義テーブル200においては、値列202が「通常期」の行209、値列202が「平日」の行210が抽出される。即ち、ステップS12〜S13の処理はステップS11で抽出された各ノードから最上位のノードまでそれぞれのノードツリーをさかのぼる(図8参照)形で時間階層定義テーブル200の抽出が行われる。
ステップS13の処理が全て完了したら(ステップS12の“No”)、適用選択部6221dは日にちリストに記憶された情報を抽出し(ステップS14)、時間ルールテーブル(図示せず)から該当するルールを抽出して(ステップS15の“Yes”)当該ルールを適用する(ステップS16)。時間ルールテーブルから如何なるルールも抽出できなければ(ステップS15の“No”)ルールの適用は行わない。
このように、被雇用者の勤務日、非勤務日、勤務日における勤務シフト等の勤務態様に関する情報をルール情報として有すると共に勤務態様に関する情報が階層的に管理された時間データ階層管理部6221c2を備えたことにより、関連性の高いルール情報同士を企業内の仕事の内容や仕事量を左右する時間情報に基づいて階層的に管理し、また統合的に利用することを可能にする。これにより、季節、月、曜日等の違いによる仕事の内容や仕事量の違いによって増加したルール情報を合理的に管理することを可能にすると共に、スケジュール情報を作成する際におけるルール情報の利用の利便性を向上させることができる。
そして、図7及び図10に示す手順が実行された結果、整数計画ソルバー6222は組織データ及び時間データに基づくルール情報を構成する目標関数及び制約条件と計算に必要なパラメータの値等を用いてスケジュール表を作成する。これにより、コンピュータが実行し易い態様で、適用される組織や時間等の条件に対する適合性の高いスケジュール表を作成できる。
(発明の実施の形態2)
以下、図11乃至図12にこの発明の実施の形態2を示す。
図11は、この発明の実施の形態2のスケジュール表作成装置1における最適化処理部6の機能ブロック図である。同図に示す通り、この実施の形態におけるスケジュール表作成装置1の最適化処理部6は、ルール緩和部6223が設けられている。このルール緩和部6223は、整数計画ソルバー6222において、適用選択部6221dによって選択されたルール情報を用いてスケジュール表の作成ができない場合、スケジュール表への適用が可能になるようにルール情報を緩和するものであり、当該ルール情報を用いてスケジュール表の作成ができるか否かを判断する判断部6223bと、判断部6223bにおいてスケジュール表が作成できないと判断された場合にルール情報の緩和を行う緩和部6223aとを有している。
また、この実施の形態の時間データ階層管理部6221c2にも時間ルールテーブル(図示せず)が設けられている。この時間ルールテーブルには、この発明の実施の形態1に示すルール情報(A)の他に、下記(B)に例示する例外ルール情報を複数有している。この例外ルール情報(B)は特定のルール情報に関連付けられて、当該特定のルール情報を適用できないときに例外適用するための情報を形成する。
{日にちの条件}−{スタッフの条件}−{制限値}・・・(B)
但し(B)において{}は情報の単位、“−”は情報の単位同士の関連付けを示す。
この{日にちの条件}には時間階層の特定のノード(図8の種類列201参照)が定義され、{スタッフの条件}にはスタッフの役職等(図4のロール階層のノード等参照)が定義され、{制限値}には被雇用者の数や勤務時間等の具体的な制限値が定義されて、全体として例えば「(ルール情報(A)によって規定された「日曜日には被雇用者が10人以上勤務する」という原則が適用できない場合には)6人以上9人以下の被雇用者が勤務する」ような時間毎の勤務条件が定義される。
また、この実施の形態2の時間ルールテーブル(図示せず)には、ルール情報(A)や例外ルール情報(B)の{日にちの条件}を自動的に変更しうるか否かの自動変更可否情報も併せて記録されている。
上記以外の構成は実施の形態1と同じである。
図12は、この実施の形態2のスケジュール表作成装置1における、ルール情報の緩和手順を示すフローチャートである。以下同フローチャートに基づいて具体的手順を説明する。
まず、図7,図10に示す手順の後、整数計画ソルバー6222に組織データ及び時間データに基づくルール情報を適用した結果、制約条件に基づいたスケジュール表の作成ができないとルール緩和部6223の判断部6223bが判断した場合、判断部6223bは、制約に違反したルール、違反した日を抽出する(ステップS21)。例えば「日曜日には被雇用者が10人以上勤務する」というルール情報があるにも係らず、予定表管理部61、及びスケジュール記録管理部5には、ある特定の日曜日は休暇や出張などで被雇用者が9人しか勤務できない旨の情報が記録されているような場合が、この「違反したルール」「違反した日」として抽出される条件に相当する。
次に、判断部6223bは、時間ルールテーブル(図示せず)等を参照し、例外ルール情報(上記(B))が存在するか否かを確認し、存在する場合(ステップS22の“Yes”)で、かつ当該例外ルール情報(B)やそれに関連付けられたルール情報(A)の{日にちの条件}の自動変更可否情報が自動変更可能の設定になっている場合(ステップS23の“Yes”)、緩和部6223aは「違反した日」を例外の日にちの条件に設定して例外の「日にちリスト(図10,図11に示す6221e参照)」に記憶する条件設定を行い(ステップS24)、再度、整数計画ソルバー6222による最適化処理が行われる(ステップS26)。なお、上記において例外ルール情報(B)が存在しない場合(ステップS22の“No”)や、{日にちの条件}の自動変更可否情報が自動変更不可の設定になっている場合(ステップS23の“No”)には、スケジュール表作成装置1のオペレータによる手動による例外の指定が行われ(ステップS25)て、かかる指定に基づいてステップS26の処理が行われる。
以上、この実施の形態2においては、整数計画ソルバー6222において、適用選択部6221dによって選択されたルール情報を用いてスケジュール表の作成ができない場合、スケジュール表への適用が可能になるようにルール情報を緩和するルール緩和部6223を備えたことにより、状況の変化に応じてルール情報の適用条件を調節し、制約条件を満たすことができないためにスケジュール表を作成できないような事態の発生を抑止することができる。
以上、上記各実施の形態においては、被雇用者の雇用条件に関する情報であってスケジュール表を作成する際の制約条件を形成するルール情報を階層構造として複数管理する階層管理部6221cと、階層管理部6221cで階層的に管理されたルール情報からスケジュール表の作成に適用するルール情報を選択する適用選択部6221dとを備えたことにより、関連性の高いルール情報同士をグループ化した状態で管理し、かつスケジュール表の作成に用いることが可能になる。これにより、スケジュール表作成時に用いる複数の制約条件を合理的に管理し、コンピュータに過大な負荷をかけることなく、多様な勤務態様、雇用条件に対応するスケジュール表を作成することができる。
上記各実施の形態において、各機能手段はプログラム等の演算結果に基いて形成されるものとしたが、これらの全部又は一部をハードウェアロジックによって形成し、処理の高速化を図ってもよい。
上記各実施の形態は本発明の例示であり、本発明が上記各実施の形態に限定されることを意味するものではないことは、いうまでもない。
1・・・スケジュール表作成装置
6221c・・・階層管理部(階層管理手段)
6221d・・・適用選択部(適用選択手段)
6222・・・整数計画ソルバー
6223・・・ルール緩和部(ルール緩和手段)

Claims (3)

  1. 企業等の被雇用者の日時ごとのスケジュールを表示するためのスケジュール表を自動的に作成するスケジュール表作成装置において、
    前記被雇用者の雇用条件に関する情報であって前記スケジュール表を作成する際の制約条件を形成するルール情報を複数設け、それぞれの前記ルール情報を木構造の階層構造として管理するための階層情報を備えた階層管理手段と、
    該階層管理手段で階層的に管理された前記ルール情報から前記スケジュール表の作成に適用する前記ルール情報を選択する適用選択手段と
    該適用選択手段において選択された前記ルール情報を構成する、任意の期間において勤務する勤務者の数を設定するための目標関数とそれぞれの前記勤務者の勤務可能な日時を設定するための所定の制約条件とを用いた整数計画によって前記スケジュール表の作成を行う整数計画ソルバーと、
    前記整数計画ソルバーにおいて前記ルール情報を用いて前記スケジュール表の作成ができない場合、該スケジュール表への適用が可能になるように前記ルール情報を調節するルール緩和手段とを有し、
    前記階層管理手段は、それぞれの前記階層情報を、一のノードをルートノードとし、他の複数の前記ノードを前記ルートノードを根とする前記木構造に形成してなる組織階層定義情報を有し、
    それぞれの前記ノードは、前記木構造を形成する情報として自らの直近の上位ノードを示す上位ノード情報を有し、
    それぞれの前記ノードには、前記被雇用者の役職等、個々の前記被雇用者の属性となる情報、及び/又は、前記被雇用者の勤務先、勤務地域等、雇用先の属性となる情報、が設定されると共に、それぞれの前記ノードごとに前記ルール情報が設定され、かつ、該ノード及び該ノードに繋がる下位の前記ノードに対して前記ルール情報が適用されることを規定する、前記ルール情報の適用の範囲情報が対応付けられ、
    前記適用選択手段は、前記ルール情報を適用する前記範囲情報が対応付けられた前記ノードを特定し、特定された前記ノードを起点に、前記上位ノード情報に基づいて前記ルートノードまで前記木構造をさかのぼって探索した場合に、該探索の経路に該当するそれぞれの前記ノードに関連付けられた前記ルール情報を選択し、
    前記整数計画ソルバーは、前記適用選択手段において選択された前記ルール情報に対応する前記目標関数と前記制約条件とを、前記目標関数と前記所定の制約条件として用いて前記スケジュール表を作成すると共に、
    前記ノードに関連付けられた前記ルール情報は、規定された前記目標関数と前記制約条件を用いて任意の勤務日、非勤務日、勤務時間帯におけるスケジュール作成ができない場合に、該スケジュール作成ができない時間帯において、前記目標関数の値の緩和条件を規定するルール緩和情報を有し、
    前記ルール緩和手段は、前記整数計画ソルバーにおいて、前記適用選択手段によって選択された前記ルール情報を用いて前記スケジュール表の作成ができない場合、該スケジュール表への適用が可能になるように、前記ルール緩和情報を用いて任意の前記ルール情報を緩和して、前記整数計画ソルバーに、前記緩和された前記ルール情報に対応する前記目的関数と前記制約条件とによって前記スケジュール表を作成させることを特徴とすることを特徴とするスケジュール表作成装置。
  2. 前記勤務者の勤務可能な日時は、前記勤務者の勤務日、非勤務日、勤務時間帯を有することを特徴とする請求項1に記載のスケジュール表作成装置。
  3. コンピュータを請求項1又は2に記載のスケジュール表作成装置として機能させることを特徴とするプログラム。
JP2012212528A 2012-09-26 2012-09-26 スケジュール表作成装置、プログラム Active JP5501421B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012212528A JP5501421B2 (ja) 2012-09-26 2012-09-26 スケジュール表作成装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012212528A JP5501421B2 (ja) 2012-09-26 2012-09-26 スケジュール表作成装置、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007203828A Division JP5101203B2 (ja) 2007-08-06 2007-08-06 スケジュール表作成装置、プログラム

Publications (2)

Publication Number Publication Date
JP2013030182A JP2013030182A (ja) 2013-02-07
JP5501421B2 true JP5501421B2 (ja) 2014-05-21

Family

ID=47787100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012212528A Active JP5501421B2 (ja) 2012-09-26 2012-09-26 スケジュール表作成装置、プログラム

Country Status (1)

Country Link
JP (1) JP5501421B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6156776B2 (ja) 2013-02-19 2017-07-05 スズキ株式会社 車両用空調制御装置
JP7039015B2 (ja) * 2018-03-18 2022-03-22 敬介 稲川 教材学習スケジュール決定装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3596111B2 (ja) * 1995-09-28 2004-12-02 三菱電機株式会社 生産計画装置及び生産計画方法
JP2003006393A (ja) * 2001-06-18 2003-01-10 Miyagi Seikatsu Kyodo Kumiai スケジューリング装置およびその方法
JP4430282B2 (ja) * 2002-06-06 2010-03-10 セコム株式会社 勤務表作成支援システム
JP4398672B2 (ja) * 2003-05-30 2010-01-13 セコム株式会社 割付表作成システム及び割付表作成プログラム
JP4224002B2 (ja) * 2003-07-25 2009-02-12 株式会社東芝 需給仲介システム及び需給仲介方法、並びに需給仲介を支援するためのプログラム

Also Published As

Publication number Publication date
JP2013030182A (ja) 2013-02-07

Similar Documents

Publication Publication Date Title
JP5101203B2 (ja) スケジュール表作成装置、プログラム
US20210166196A1 (en) Digital processing systems and methods for status-based task organization in collaborative work systems
Stefanovic Proactive supply chain performance management with predictive analytics
Heimerl et al. Work assignment to and qualification of multi-skilled human resources under knowledge depreciation and company skill level targets
US11915175B2 (en) System and method for allocating manufactured products to sellers using profitable order promising
US8626703B2 (en) Enterprise resource planning (ERP) system change data capture
US20070203935A1 (en) Apparatus and method for selecting a subset of report templates based on specified criteria
US20040236655A1 (en) Method and system for object-oriented management of multi-dimensional data
EP3014473B1 (en) Embedded experience through bidirectional integration of crm applications and spreadsheet applications
US20180018614A1 (en) Method and apparatus for optimizing constraint-based data
US20150006225A1 (en) Project management application with business rules framework
Thuerer et al. The application of workload control in assembly job shops: an assessment by simulation
Qiu et al. Robust optimisation for risk-averse multi-period inventory decision with partial demand distribution information
JP2009037568A (ja) スケジュール表作成装置、プログラム
JP2007323680A (ja) 経営意思決定支援システム
JP6732084B1 (ja) コンピュータプログラム、送信方法及び送信装置
US20090228867A1 (en) Methods for Configuring Software Package
JP5501421B2 (ja) スケジュール表作成装置、プログラム
Choi et al. Dispatching rules for dynamic scheduling of one-of-a-kind production
Gresh et al. Applying supply chain optimization techniques to workforce planning problems
Tang et al. Modelling and a tabu search solution for the slab reallocation problem in the steel industry
Xu et al. Service outsourcing under co-opetition and information asymmetry
US20150081356A1 (en) Dynamic multi-dimensional business reports
Morawiec et al. The new role of cloud technologies in management information systems implementation methodology
JP6924309B2 (ja) コンピュータプログラム、出力方法及び出力装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140311

R150 Certificate of patent or registration of utility model

Ref document number: 5501421

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250