JP2003157343A - 人員アサインシステム及び人員アサインプログラム - Google Patents

人員アサインシステム及び人員アサインプログラム

Info

Publication number
JP2003157343A
JP2003157343A JP2002159646A JP2002159646A JP2003157343A JP 2003157343 A JP2003157343 A JP 2003157343A JP 2002159646 A JP2002159646 A JP 2002159646A JP 2002159646 A JP2002159646 A JP 2002159646A JP 2003157343 A JP2003157343 A JP 2003157343A
Authority
JP
Japan
Prior art keywords
personnel
assigned
work
function
work position
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.)
Granted
Application number
JP2002159646A
Other languages
English (en)
Other versions
JP3373506B1 (ja
Inventor
Kiyoko Utada
清子 歌田
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.)
Japan Airlines Co Ltd
Original Assignee
Japan Airlines 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 Japan Airlines Co Ltd filed Critical Japan Airlines Co Ltd
Priority to JP2002159646A priority Critical patent/JP3373506B1/ja
Application granted granted Critical
Publication of JP3373506B1 publication Critical patent/JP3373506B1/ja
Publication of JP2003157343A publication Critical patent/JP2003157343A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 コンピュータを利用して、効率的に、多数の
人員を所定の場所にアサインする作業を実行させる。 【解決手段】 各勤務位置に番号を付ける(S30
1)。次に、それぞれの人員について決められている勤
務時間を参照し、その勤務時間の開始時刻が早い順番に
各人員を並べる(S302)。この並べられた順番で人
員を選択し(S303)、番号付けされた勤務位置の一
番から順番に空いている勤務位置を探し(S304)、
空いている勤務位置が見つかったときは(S305)、
そこにその人員をアサインする(S308)。すべての
勤務位置にすでに別の人員がアサインされている場合
は、すでにアサインされている人員の勤務時間が最も早
く終了する勤務位置を探し(S306)、その勤務位置
の勤務終了時刻と、アサインしようとする人員の勤務開
始時刻とを比較し、両者の時間帯の重なりを調べる(S
307)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば航空機の搭
乗券の電話予約を受け付ける事業所などにおいて、電話
予約を受け付けるスタッフを各座席にアサインする作業
を支援する人員アサインシステム及び人員アサインプロ
グラムに関する。
【0002】
【従来の技術】航空機の搭乗券の電話予約を受け付ける
事業所(コールセンター)などにおいては、電話機が用
意された各座席に電話予約受付人員を配置(アサイン)
する作業は、これまでは主として手作業で行われてい
た。このような電話予約受付業務には、通常数十人から
数百人という非常に多くの人員(スタッフ)が必要であ
る。しかしながら、予約電話が掛かってくる数は、季節
変動、長期休暇の有無、特別のキャンペーン業務の影響
などにより日々変動するものであるため、それぞれの変
動を予測して最適な数のスタッフを確保しなければなら
ない。しかし、こうして確保したスタッフには、まだ一
人では予約受付業務を行うことはできず誰かがついてい
てやる必要のあるスキルレベルの低い者、一人で一応の
業務をこなすことができるがまだ一般のスタッフに比べ
るとスキルレベルが低い者、既に高いスキルレベルを持
った者など、各人のスキルレベルは区々である。また、
スタッフには、毎日出勤する者、一日置きに出勤する
者、毎日出勤するが出勤時間が午前中だけの者、月に2
0日間出勤するがいつが出勤日とするかは未定の者な
ど、会社との契約の仕方によって種々の勤務形態となっ
ていることがある。
【0003】
【発明が解決しようとする課題】このような複雑な条件
を満たしながらスタッフの座席アサイン作業を手作業で
行うのは非常に手間がかかるため、従来から、このよう
な作業をコンピュータ化したいという要請があった。ア
サイン作業をコンピュータを使って自動化することを考
えた場合、そのためのソフトウェアを設計する方向性と
して一般的な考え方は、業務に就くことができる人員に
関するデータ、および人員が座る座席のデータなど、最
小限のデータを入力しておき、予め決められた数の座席
に人員をアサインすることができるすべての可能性につ
いてアサインパターンを全て作ってみて、その後これら
を一つ一つオペレータが指定した一定の条件に合致する
かどうかを調べ上げ、合致するものだけを抽出するとい
う方法であろう。
【0004】しかしながら、上記のような方向性は、ソ
フトウェアを開発するという立場からは比較的容易であ
ろうが、その反面、このようなソフトウェアを実行させ
るコンピュータにはかなり高い性能が要求される。その
理由は、例えば人員の数が100人を超える程度になる
と必要な計算量が膨大となり、このような膨大な計算を
円滑な業務を妨げない程度の実用的な速さで処理するこ
とが必要となるからである。一般的なパーソナルコンピ
ュータにこのような方針で設計されたソフトウェアを実
行させようとしても、最終的な結果が出力されるまでに
非常に長い時間がかかってしまうため、実用的ではな
い。
【0005】本発明はこのような技術的背景のもとでな
されたものであり、その目的は、コンピュータを利用し
て効率的に、多数の人員を所定の場所にアサインする作
業を実行できるようにするとともに、併せて座席アサイ
ン作業に付随する作業も効率的に行えるようにすること
である。
【0006】
【課題を解決するための手段】請求項1に記載の発明
は、勤務時間を有する複数の人員を複数の勤務位置にア
サインするために、コンピュータに、少なくとも、勤務
位置に順番を付ける第一機能、人員を前記勤務時間の開
始時刻順に並べ、この順番にアサインを試みる人員を選
択する第二機能、前記第一機能によって付けられた順番
に従って、どの人員もアサインされていない勤務位置を
探し、見つかったときは当該勤務位置に第二機能で選択
された人員をアサインする第三機能、前記第三機能によ
ってどの人員もアサインされていない勤務位置が見つか
らないときは、既アサイン人員の勤務時間が最も早く終
了する勤務位置を探す第四機能、前記第四機能により見
出された勤務位置の既アサイン人員の勤務時間と、アサ
インしようとする人員の勤務時間が重なるかどうかを判
定する第五機能、前記第五機能により勤務時間が重なら
ないときは人員を当該勤務位置にアサインする第六機
能、を実現させることを特徴とする人員アサインプログ
ラムである。
【0007】請求項2に記載の発明は、人員の先取りを
認めて、勤務時間を有する複数の人員を複数の勤務位置
にアサインするために、コンピュータに、少なくとも、
勤務位置に順番を付ける第一機能、必要に応じて、オペ
レータが指定した人員をコンピュータ端末上で希望する
勤務位置に先取りとしてアサインする第二機能、先取り
としてアサインされた人員を除き、各人員を前記勤務時
間の開始時刻順に並べ、この順番にアサインを試みる人
員を選択する第三機能、前記第一機能によって付けられ
た順番に従って、だれもアサインされていない勤務位置
又はアサインされているが既アサイン人員とアサインを
試みる人員の勤務時間が重ならない勤務位置を探す第四
機能、前記第四機能により誰もアサインされていない勤
務位置が見つかったときは当該勤務位置に当該人員をア
サインする第五機能、前記第四機能により誰もアサイン
されていない勤務位置は見つからないが、勤務時間が重
ならない勤務位置が見つかったときは、そのうちで既ア
サイン人員の勤務終了時刻が最も早い勤務位置に当該人
員をアサインする第六機能を実現させることを特徴とす
る人員アサインプログラムである。
【0008】請求項3に記載の発明は、勤務種別及び勤
務時間を有する複数の人員を、アサインしてよい勤務種
別が決められた複数の勤務位置にアサインするために、
コンピュータに、少なくとも、勤務位置に順番を付ける
第一機能、各人員を前記勤務時間の開始時刻順に並べ、
この順番にアサインを試みる人員を選択する第二機能、
アサインを試みる人員の勤務種別をアサインしてよい勤
務位置であって、どの人員もアサインされていない勤務
位置を探す第三機能、前記第三機能により該当する勤務
位置が見つからないときは、アサインを試みる人員の勤
務種別をアサインしてよい勤務位置であって既アサイン
人員の勤務時間の終了時刻が最も早い勤務位置を探す第
四機能、前記第四機能により見つかった勤務位置にアサ
インされている人員と、アサインを試みる人員の勤務時
間が重なるかどうかを判定する第五機能、前記第三機能
により勤務位置が見つかったとき、又は前記第五機能に
より重ならないと判定されたときに、当該勤務位置に当
該人員をアサインする第六機能を実現させることを特徴
とする人員アサインプログラム。
【0009】請求項4に記載の発明は、職能レベル、勤
務種別及び勤務時間を有する複数の人員を、アサインし
てよい勤務種別が決められた複数の勤務位置にアサイン
するために、コンピュータに、少なくとも、勤務位置に
優先順位に従った順番を付ける第一機能、各人員を前記
勤務時間の開始時刻順に並べ、さらに職能レベル順に並
べ直し、この順番にアサインを試みる人員を選択する第
二機能、誰もアサインされていない勤務位置、又は前記
第二機能により選択された人員の勤務時間と既アサイン
人員の勤務時間が重ならない勤務位置であって、前記第
二機能により選択された人員の勤務種別をアサインして
よい勤務位置を、第一機能により得られた勤務位置の順
番に従って探す第三機能、前記第三機能によりアサイン
可能な勤務位置が見つかったときは当該勤務位置に当該
人員をアサインする第四機能、を実現させることを特徴
とする人員アサインプログラムである。
【0010】請求項5に記載の発明は、職能レベル、勤
務種別及び勤務時間を有する複数の人員を、アサインし
てよい勤務種別が決められた複数の勤務位置にアサイン
するために、コンピュータに、少なくとも、勤務位置を
一又は二以上の勤務位置を含むゾーンに分け、ゾーンが
複数あるときは各ゾーンに優先順位を付けるとともに、
各ゾーンに含まれる勤務位置に優先順位を付け、これら
に基づいてすべての勤務位置を順番に並べ直す第一機
能、人員を前記勤務時間の開始時刻順に並べ、さらに職
能レベル順に並べ直し、この順番でアサインを試みる人
員を選択する第二機能、誰もアサインされていない勤務
位置又は、前記第二機能により選択された人員の勤務時
間と既アサイン人員の勤務時間が重ならない勤務位置で
あって、前記選択された人員の勤務種別をアサインして
よい勤務位置を、前記第一機能で得られた勤務位置の順
番に従って探す第三機能、前記第三機能によりアサイン
可能な勤務位置が見つかったときは当該勤務位置に当該
人員をアサインする第四機能を実現させることを特徴と
する人員アサインプログラムである。
【0011】請求項6に記載の発明は、職能レベル、勤
務種別及び勤務時間を有する複数の人員を、アサインし
てよい勤務種別がそれぞれに一又は二以上決められた複
数の勤務位置にアサインするために、コンピュータに、
少なくとも、勤務位置を一又は二以上の勤務位置を含む
ゾーンに分け、ゾーンが複数あるときは各ゾーンに優先
順位を付けるとともに、各ゾーンに含まれる勤務位置に
優先順位を付ける第一機能、勤務位置にアサインしてよ
い勤務種別が複数ある場合は、それぞれの勤務種別ごと
に仮想的に一勤務種別一勤務位置を発生させ、優先順位
の高い勤務種別順、優先順位の高いゾーン順、ゾーン内
のアサイン優先順に各勤務位置を並べ直す第二機能、人
員を前記勤務時間の開始時刻順に並べ、さらに職能レベ
ル順に並べ直し、この順番でアサインを試みる人員を選
択する第三機能、前記第三機能により選択された人員の
勤務種別がアサイン対象で空いている勤務位置、又は既
アサイン人員はいるが勤務時間が重ならない勤務位置
を、前記第二機能により得られた勤務位置の順番に従っ
て探す第四機能、前記第四機能によりアサイン可能な勤
務位置が見つかったときは当該勤務位置に当該人員をア
サインする第五機能を実現させることを特徴とする人員
アサインプログラムである。
【0012】請求項7に記載の発明は、請求項1乃至6
のうちいずれか一項に記載の人員アサインプログラムで
あって、コンピュータに、さらに、オペレータの指示に
より、同一勤務位置にアサインできる複数の人員にその
旨のマークを付す機能、アサインを試みるために順番に
選択された人員についてアサインできる勤務位置を探す
ときに、前記マークが付されている人員が既にアサイン
されているときは、同じマークが付されている人員を同
一の勤務位置にアサインする機能を実現させることを特
徴とする人員アサインプログラムである。
【0013】請求項8に記載の発明は、請求項1乃至7
のうちいずれか一項に記載の人員アサインプログラムで
あって、コンピュータに、さらに、オペレータの指示に
より、隣り合う勤務位置にアサインできる複数の人員に
その旨の第一及び第二のマークを付す機能、アサインを
試みるために順番に選択された人員についてアサインで
きる勤務位置を探すときに、選択された人員に第一のマ
ークが付されているときは、当該人員をアサインした勤
務位置の隣の勤務位置に第二のマークが付された人員を
アサインできるかどうかを判断する機能、前記第二のマ
ークが付された人員をアサインできると判断したときは
当該隣の勤務位置に当該第二のマークが付された人員を
アサインし、当該隣に当該第二のマークが付された当該
人員をアサインできないと判断したときはさらに別の勤
務位置を探す機能を実現させることを特徴とする人員ア
サインプログラムである。
【0014】請求項9に記載の発明は、請求項1乃至7
のうちいずれか一項に記載の人員アサインプログラムで
あって、コンピュータに、さらに、オペレータの指示に
より、同一の勤務位置にアサインできる複数の人員にそ
の旨の第一及び第二のマークを付すとともに、隣り合う
勤務位置にアサインできる複数の人員にその旨の第三及
び第四のマークを付す機能、アサインを試みる順番とし
て並べた人員をこの順番に基づいて選択してアサインで
きる勤務位置を探すときに、選択された人員に第一のマ
ークが付されているときは、当該人員をアサインした同
じ勤務位置に第二のマークが付された人員をアサインす
る機能と、前記選択された人員についてアサインできる
勤務位置を探すときに、選択された人員に第三のマーク
が付されているときは、当該人員をアサインした勤務位
置の隣の勤務位置に第四のマークが付された人員をアサ
インできるかどうかを判断する機能と、前記第四のマー
クが付された人員をアサインできると判断したときは当
該隣の勤務位置に当該第四のマークが付された人員をア
サインし、当該隣に当該第四のマークが付された当該人
員をアサインできないと判断したときはさらに別の勤務
位置を探す機能とを実現させることを特徴とする人員ア
サインプログラムである。
【0015】請求項10に記載の発明は、請求項1乃至
9のうちいずれか一項に記載の人員アサインプログラム
であって、コンピュータに、さらに、オペレータの指示
により、隣り合う勤務位置にアサインしたくない複数の
人員にその旨のマークを付す機能、アサインを試みるた
めに順番に選択された人員についてアサインできる勤務
位置を探すときに、選択された人員に前記マークが付さ
れているときは、当該人員をアサインしようとする勤務
位置の隣の勤務位置に前記マークが付された人員がアサ
インされているかどうかを判断する機能、当該隣の勤務
位置に前記マークが付された人員がアサインされていな
いときは当該勤務位置に当該人員をアサインし、当該隣
に前記マークが付された人員がアサインされているとき
はさらに別の勤務位置を探す機能を実現させることを特
徴とする人員アサインプログラムである。
【0016】請求項11に記載の発明は、前記アサイン
しようとする人員の勤務時間と、既アサイン人員の勤務
時間の重なりが一定時間内のときは、両勤務時間は重な
らないこととする請求項1乃至10のうちいずれか一項
に記載の人員アサインプログラムである。
【0017】請求項12に記載の発明は、請求項1乃至
11のうちいずれか一項に記載の人員アサインプログラ
ムであって、コンピュータに、さらに、人員を勤務位置
に自動的にアサインされた後にオペレータがディスプレ
ー画面を介する操作により、アサインされていない人員
を手作業で勤務位置にアサインし、アサインされた人員
の勤務位置を手作業で変更し、又はアサインされた人員
のアサインを手作業で解除する機能を実現させる人員ア
サインプログラムである。
【0018】請求項13に記載の発明は、請求項12に
記載の人員アサインプログラムにおいて、オペレータが
手作業でアサイン結果を変更するときに、自動アサイン
を行わせる場合には禁止されるアサイン状態となるとき
には、その旨の警告を発する機能を有する人員アサイン
プログラムである。
【0019】請求項14に記載の発明は、請求項1乃至
13のうちいずれか一項に記載の人員アサインシプログ
ラムにおいて、前記コンピュータが人員を勤務位置にア
サインする機能を実行する前に、所定の勤務位置にデイ
リージョブを割り当てることができる機能を実現させる
人員アサインプログラムである。
【0020】請求項15ち記載の発明は、請求項1乃至
14のうちいずれか一項に記載の人員アサインプログラ
ムにおいて、ディスプレー画面を介して前記複数の人員
をグループ分けするグループ情報を前記コンピュータに
入力するグループ情報入力機能をコンピュータに実現さ
せる人員アサインプログラムである。
【0021】請求項16に記載の発明は、前記人員を勤
務時間の開始時刻順に並べるときに、勤務時間が同時刻
に開始する人員については、乱数を用いて並べる順番を
決める機能コンピュータに実現させる請求項1乃至15
のうちいずれか一項に記載の人員アサインプログラムで
ある。
【0022】請求項17に記載の発明は、勤務時間及び
複数の休憩時間を有する複数の人員を複数の勤務位置に
アサインしたあとに、各人員の休憩時間を調整するため
に、コンピュータを、少なくとも、勤務位置を一又は二
以上の勤務位置を含むゾーンに分け、ゾーンが複数ある
ときは各ゾーンに優先順位を付ける機能と、各区分時間
について、マンパワーの合計が必要マンパワーを下回る
かどうかを判定する機能と、マンパワーの合計が必要マ
ンパワーを下回る区分時間があったときは、所定のゾー
ン順に、休憩時間の調整が済んでいない人員がアサイン
されているゾーンを探す機能と、そのようなゾーンが見
つかったときは、そのゾーンの中で、マンパワーの合計
が必要マンパワーを下回る区分時間に掛かる休憩時間を
有する調整が済んでいない人員を探す機能と、見つかっ
た人員の休憩時間を異なる休憩時間に代えて、再び各区
分時間についてマンパワーの合計が必要マンパワーを下
回るかどうかを判定する機能として機能させる人員アサ
インプログラムである。
【0023】請求項18に記載の発明は、コンピュータ
を利用して複数の人員を複数の勤務位置にアサインする
人員アサインシステムであって、前記複数の勤務位置の
配置を表す情報を、コンピュータ端末のディスプレー画
面を介して前記コンピュータに入力する配置情報入力手
段と、アサインされる人員と当該人員の勤務態様に関す
る情報を、コンピュータ端末のディスプレー画面を介し
て前記コンピュータに入力する人員情報入力手段と、ア
サインされる人員の職能レベルに関する情報を入力する
職能レベル入力手段と、勤務位置の優先順位及び勤務態
様の優先順位をコンピュータ端末のディスプレー画面を
介して前記コンピュータに入力する優先順位入力手段と
を具備し、前記配置情報入力手段、前記人員情報入力手
段、前記職能レベル入力手段のそれぞれによって前記コ
ンピュータに入力された情報、並びに、前記優先順位入
力手段によって前記コンピュータに入力された各優先順
位を基に、前記コンピュータが、ある勤務位置に人員を
アサインするときに当該勤務位置が、新人の勤務位置の
隣であるかどうかを判定する第1ステップ、ある勤務位
置に人員をアサインするときに当該勤務位置と隣り合う
勤務位置に空きがないかどうかを判定する第2ステッ
プ、前記第1ステップ又は第2ステップの判定結果に基
づいて、予め設定されている職能レベル順に、前記人員
情報入力手段によって入力された情報を参照しながら該
当する人員を検索する第3ステップ、そして前記第3ス
テップにおいて検索された人員を当該勤務位置にアサイ
ンする第4ステップを含む処理を、前記配置情報入力手
段によって入力された勤務位置について行って、各人員
を各勤務位置にアサインする計算処理を行うことを特徴
とする人員アサインシステムである。
【0024】請求項19に記載の発明は、請求項18に
記載の人員アサインシステムにおいて、前記配置情報入
力手段は、前記複数の勤務位置を一又は二以上のゾーン
に分割するとともに各ゾーンに優先順位を定義するゾー
ン分割情報を入力できるようにされ、前記コンピュータ
は、前記第1乃至第4ステップを含む処理を行うとき
に、当該優先順位に従って各人員を各勤務位置にアサイ
ンする計算処理を行うことを特徴とする人員アサインシ
ステムである。
【0025】請求項20に記載の発明は、請求項18又
は19に記載の人員アサインシステムであって、前記コ
ンピュータが各人員を各勤務位置にアサインする計算処
理を行う前に、所定の勤務位置にデイリージョブを割り
当てることを可能としたことを特徴とする人員アサイン
システムである。
【0026】請求項21に記載の発明は、前記人員情報
入力手段は、アサインされる人員を入力したときに、各
人員の順番をランダムに並び替えることを特徴とする請
求項18乃至20のうちいずれか一項に記載の人員アサ
インシステムである。
【0027】請求項22に記載の発明は、さらに、各人
員を各勤務位置に自動的にアサインした後に、コンピュ
ータ端末のディスプレー画面を介して自動アサインでア
サインされなかった人員を手作業で勤務位置にアサイン
する手段又は自動アサインでアサインされた人員の勤務
位置を手作業で変更する手段を設けたことを特徴とする
請求項18乃至21のうちいずれか一項に記載の人員ア
サインシステムである。
【0028】請求項23に記載の発明は、さらに、コン
ピュータ端末のディスプレー画面を介して前記複数の人
員をグループ分けするグループ情報を前記コンピュータ
に入力するグループ情報入力手段を設けたことを特徴と
する請求項18乃至22のうちいずれか一項に記載の人
員アサインシステムである。
【0029】
【発明の実施の形態】ここから、添付図面を参照しなが
ら本発明に係る人員アサインプログラムの実施の形態及
び実施例について説明する。まず、本発明に係る人員ア
サインプログラムを実際に稼働するプログラムとして実
現する上で必要となる基本的なアルゴリズムについて、
多数の具体的なフローチャート及び説明図を用いて説明
する。続いて、これらのアルゴリズムを利用して実際に
稼働するプログラムとして実現させた人員アサインプロ
グラムの実施例について説明する。
【0030】ただし、以下の説明は、あくまでも特許請
求の範囲に記載した発明の例示であって、以下の記載に
よって本発明の技術的範囲が限定されるものではない。
【0031】《アルゴリズム1》まず、全体でk人いる
人員を、nカ所の勤務位置にアサインする場合を考え
る。なお、電話の応答業務(例えば各種チケットの電話
予約応答業務、コンピュータソフトウェアの電話サポー
ト業務、各種製品の苦情受け付け業務その他)を行うコ
ールセンターに適用する場合を考えると、「人員」は応
答業務を遂行するスタッフ又はオペレータ等に対応し、
「勤務位置」はスタッフ又はオペレータが座る座席等に
対応する。
【0032】まず、人員にも勤務位置にも特別な条件
(例えば特定の人員を特定の勤務位置にアサインしなけ
ればならないといった条件)は何も課さず、もっとも単
純に複数の勤務位置に複数の人員をアサインするだけの
アルゴリズムを考える。図1は、このような最も単純な
人員アサインのためのアルゴリズムを示したフローチャ
ートである。
【0033】最初に、各勤務位置に番号を付ける(S1
01)。この番号は、各勤務位置が一意的に決まるもの
であればどのような付け方でもよいが、普通は勤務位置
が並んでいる順番に連続する番号を付ける。続いて、ア
サインされていない人員を一人選び(S102)、番号
を付けた各勤務位置の1番目から順番に空いている勤務
位置を探す(S103)。そして、空いている勤務位置
があるかどうかを判断し(S39)、あればその勤務位
置にその人員をアサインする(S105)。このような
手順がすべての人員について終了したかどうかを判断し
(S106)、終了していなければS102に戻る。一
方、S39において、空いている勤務位置がない場合に
は、すでに全ての勤務位置に人員がアサインされたこと
になるのでさらなるアサインはできなくなるため(S4
2)、アサイン作業を終了する。このようにアサインさ
れなかった人員を「あふれ人員」という。
【0034】図2は、図1のアルゴリズムに従って勤務
位置に人員を配置した結果の一例を示している。このう
ち図2(a)はk≦nの場合であり、この場合は、すべ
ての人員がいずれかの勤務位置にアサインされる。特に
k<nであれば、人員がアサインされない勤務位置が生
じ、k=nであれば、すべての勤務位置に人員がアサイ
ンされる。図2(b)は、k>nの場合である。この場
合は、勤務位置よりも人員の方が多いので、アサインさ
れない人員が生じる。この例では、k、k−1、k−2
という3人があふれ人員となってアサインされなかった
ことを示している。
【0035】このように、アサインされない勤務位置が
生じたり、アサインされずにあふれる人員が生じても、
図2(a)、(b)のような一つの人員配置パターンが
得られれば、それでアサイン作業は終了する。
【0036】図1に示したアルゴリズムは、前述のよう
に人員にも勤務位置にも何ら条件を課しておらず、非常
に単純化されているため、実際にはコンピュータを用い
るまでもない。しかも、図1のアルゴリズムでは一つの
勤務位置に一人しかアサインできず、二交代、三交代等
の勤務形態には適用できないので実用性は低い。しかし
ながら、図1に示したアルゴリズムの考え方は、これ以
降順次説明してゆくより複雑かつ実用的な人員アサイン
のためのアルゴリズムを理解する上で有用である。
【0037】《アルゴリズム2》図3は、図1と同じ
く、k人の人員をnカ所の勤務位置にアサインする場合
のアルゴリズムを示したフローチャートであるが、この
アルゴリズムは、勤務可能な時間が決められているそれ
ぞれの人員を、その勤務時間帯を考慮してアサインする
ことができる。現実のコールセンター等の状況を考える
と、アサインすべき各スタッフには、通常、それぞれに
勤務時間帯が決められている。したがって、図3のアル
ゴリズムはこのような現実のコールセンターにも適用で
きる。また、図3のアルゴリズムでは、勤務位置の数n
よりもアサインすべき人員数kがずっと多い場合を考え
ており、基本的に時間交代で、一つの勤務位置に複数の
人員をアサインすることもできるようにしてある。
【0038】図3では、図1の場合と同様に、まず各勤
務位置に番号を付ける(S301)。次に、それぞれの
人員について決められている勤務時間を参照し、その勤
務時間の開始時刻が早い順番に各人員を並べる(S30
2)。図4は、このように勤務時間の開始時刻が早い順
番に全ての人員を並べた例を示している(この例では人
員数は21)。同図に示すように勤務時間の長さは各人
員によって区々のため勤務時間の終了時刻は順番通りに
はならないが、このアルゴリズムではその点は考慮せ
ず、あくまでも勤務時間の開始時刻だけを基準に並べ
る。
【0039】ここで、図4の人員「人5」と人員「人
4」のように、同じ開始時刻の人員が複数存在する場合
は、乱数を用いて順番を決めることとする。図4は、乱
数により「人4」よりも「人5」の順番が早くなった場
合を示している。
【0040】実際のコールセンターなどでは、勤務時間
が同時刻に開始する人員が多数いる場合が多い。このよ
うな場合に、勤務時間が同時刻に開始する人員について
例えば50音順に並べられた人員名簿をそのまま踏襲し
て並べると、ある人員が毎日ある決まった勤務位置にア
サインされる確率が高くなる。したがって、各人員の配
置される勤務位置を毎日変えたい場合には、本実施形態
のように、勤務時間が同じ時刻に開始される人員につい
て乱数を用いて順番を決めるようにすれば、人員が毎日
決まった勤務位置にアサインされる確率が下がり、結果
として人員の配置される勤務位置を毎日変えることがで
きる。
【0041】図4のように勤務時間の開始時刻の早い順
に人員を並べた順番(同時刻に開始する人員については
乱数により決めた順番)を、アサインを試みる順番とす
る。この点が、図3のアルゴリズムの一つの特徴であ
る。すなわち、この並べられた順番で一人ずつ人員を選
択し(S303)、番号付けされた勤務位置の一番から
順番に、空いている勤務位置を探していって(S30
4)、空いている勤務位置が見つかったときは(S30
5)、そこにその人員をアサインする(S308)。
【0042】一方、S305において、すべての勤務位
置にすでに別の人員がアサインされている場合は、すで
にアサインされている人員の勤務時間が最も早く終了す
る勤務位置を探し出す(S306)。この点も、このア
ルゴリズムの一つの特徴である。そして、見出された勤
務位置の勤務終了時刻と、アサインしようとする人員の
勤務開始時刻とを比較し、両者の時間帯の重なりを調べ
る(S307)。
【0043】S307において、「重ならない」場合に
は、そのその勤務位置にその人員をアサインする。一
方、S307において「重なる」場合には、その人員は
アサイン不可能であり、その人員を「あふれ人員」とす
る(S310)。このような処理を、図4に示した順番
ですべての人員に対して行う(S309)。
【0044】ところで、図3のアルゴリズムでは、破線
の四角320内に記載したように、同じ勤務位置にアサ
インしようとする二人の人員の勤務時間が全く重ならな
いか、あるいは重なってもその時間が許容時間m分以内
の場合を「重ならない」とし、両者が許容時間m分を越
えて重なる場合を「重なる」と定義する。このようにし
たのは、現実の勤務現場においては、勤務時間に僅かな
時間(m分)の重なりがあったとしても、あとから勤務
するスタッフにその時間だけ勤務の開始を待ってもらっ
たり、あるいは先に勤務しているスタッフにその分早く
切り上げてもらうといった柔軟な対応が可能だからであ
る。以下でも、特に断らない限り、この「重なる」及び
「重ならない」は、同様の意味とする。
【0045】図5〜図7は、図3のアルゴリズムにおけ
るS306のようなステップを設けずに、単純に図4で
並べた順番と勤務位置の番号に従ってアサインしてゆく
方法を採った場合のアサイン結果の一例を示している。
ここでは簡単のために、勤務位置の個数nを9としてい
る。なお、図5〜図7においてアサインされた各人員
は、図4に現れるそれぞれの時間帯をそのまま保持して
いるものとする。
【0046】もし仮に、S306のようなステップを設
けずに、図5に示すように9カ所の勤務位置のすべてが
すでに埋まっている状態で、次の10番目の人員をアサ
インするときに、1番の勤務位置からすでにアサインさ
れた人員の勤務時間の終了時刻を順番に見て行き、時間
帯が重ならない最初の勤務位置が見つかったときはそこ
にアサインするという単純な方法を採ると、アサイン結
果は図6のようになる。すなわち、10番目の人員「人
10」は、最初にアサイン可能な4番の勤務位置にアサ
インされ、11番目の人員「人11」は、次にアサイン
可能な5番の勤務位置にアサインされる。
【0047】しかしながら、このような方法では、12
番目の人員「人12」及び13番目の人員「人13」は
アサインすることができない。図7は、さらに14番目
以降最後までの人員をアサインした結果を示している。
図7に示すように、「人12」及び「人13」の各人員
はアサインされないまま残ってしまい、あふれ人員とな
る。このように、S306のようなステップを設けない
と、あふれ人員が発生し易くなる。
【0048】一方、図3に示したアルゴリズムに従って
勤務位置に人員をアサインしてゆくときの状況は、図8
〜図14のようになる。なお、これらの各図でも、各人
員の勤務時間は、図4に示したそれぞれの勤務時間をそ
のまま移行している。
【0049】まず、図8は、図5と同様に各勤務位置へ
のアサインが一巡した状態を示している。この状態で1
0番目の人員「人10」をアサインするときに、S30
5のステップに来ると、ここで初めて空いている勤務位
置が「ない」と判定される。したがって、「人10」
は、前述のS306の処理によって、図9に示すよう
に、5番の勤務位置にアサインされる。続いてアサイン
される11番目の人員「人11」も同様に図10に示す
ように、4番の勤務位置にアサインされる。
【0050】続く「人12」、「人13」の各人員は、
図6の場合にはいずれの勤務位置にもアサインできなか
ったが、図3のアルゴリズムに従って処理すれば、図1
1に示すように、人員「人12」は1番の勤務位置に、
人員「人13」は3番の勤務位置にそれぞれアサインさ
れる。図11は、さらに14番目の人員「人14」、1
5番目の人員「人15」までアサインされた状況を示し
ている。
【0051】図12は、続く16番目の人員「人16」
がアサインされる状況を示している。この場合、「人1
6」は、すでに二人の人員がアサインされている4番の
勤務位置にアサインされる。これは、図3のS306の
処理おいては、その勤務位置にすでに何人アサインされ
ているかは考慮せず、単純に勤務時間の終了時刻が一番
早い勤務位置を探しているからである。このようにする
と、処理が簡単になるだけでなく、勤務位置に生じる無
駄な空き時間を少なくできるので、結果的に都合がよ
い。
【0052】図13はさらに17番目の人員「人17」
から19番目の人員「人19」までがアサインされる状
況を示しており、図14は20番目の人員「人20」と
最後の21番目の人員「人21」がアサインされる状況
を示している。結局、この例では、図6、図7で生じた
ようなあふれ人員は発生せず、すべての人員がいずれか
の勤務位置にアサインされる。また、図14を見て分か
るように、5番の勤務位置が3交代の勤務、4番の勤務
位置が4交代の勤務となっている。このように、図3の
アルゴリズムに基づいてアサイン処理を行うと、勤務位
置における無駄な空き時間を最小限に抑えることができ
る。
【0053】図3のS306の処理では、個々の人員を
アサインするときに、すでにアサインされている人員の
勤務時間が最も早く終了する勤務位置を探し出した。こ
のようにする代わりに、すべの勤務位置についてのアサ
インが一巡した段階で、次に人員をアサインするとき
は、すでにアサインされている人員の勤務時間が早く終
了する順番に勤務位置をソートする処理を行い、このソ
ート結果の順番に基づいて、もっとも早く勤務時間が終
了する勤務位置に当該人員をアサインするようにしても
よい。図15は、このような処理で16番目の人員をア
サインする様子を示している。同図において、16番目
の人員をアサインするときに、太線で示した人員につい
ての勤務時間の終了時刻についてソートされ、そのうち
で最も終了時刻の早い4番の勤務位置に当該人員「人1
6」がアサインされる。
【0054】《アルゴリズム3》次に「先取り」につい
て説明する。実際の勤務現場では、様々な理由から、特
定の人員を予め決めた特定の勤務位置にアサインする必
要が生じることがある。例えば、コールセンター等の場
合には、電話応答の経験が浅い人員にトラブルが生じた
ときにベテランの人員が手助けできるよう、経験の浅い
人員を、グループの責任者(インチャージともいう)の
近くの座席に座らせたいといった場合が該当する。この
ように、コンピュータにアサイン計算を実行させる前
に、オペレータが手作業で特定の人員を特定の勤務位置
にアサインし、それを固定しておくことを、ここでは
「先取り」と呼ぶ。
【0055】図16は、図3と同じくk人の人員をnカ
所の勤務位置にアサインするアルゴリズムのフローチャ
ートであるが、図16のアルゴリズムは、オペレータの
手作業による先取りがあった場合でも最適なアサインが
可能となる。なお、図16のアルゴリズムでは省略して
あるが、この前に先取り処理は済んでおり、既に特定の
人員が所定の勤務位置に先取りによってアサインされて
いるものとする。
【0056】図16において、S1601〜S1603
までの処理は、図3のS301〜S303の処理と同じ
である。S1604のは、先取りとして比較的遅い時間
にアサインされた人員がいる場合を意図して設けられた
ステップである。すなわち、未だ誰もアサインされてい
ない勤務位置、あるいは先取り又は通常の処理で既に誰
かがアサインされているが許容時間m分の重なりを許し
てアサインできる勤務位置を探す。そのような勤務位置
があった場合でも、まず、アサインされている人員の勤
務時間の前が空いている勤務位置に優先的にアサインす
るために、アサインされている人員の勤務時間の前が空
いている勤務位置があるかどうかを見る(S160
5)。
【0057】そして、そのような勤務位置があればそこ
ににアサインし(S1607)、前が空いている勤務位
置がない場合は、すでに時間的に前にアサインされた人
員のいる勤務位置のうち勤務終了時刻が一番早いところ
を探して(S1606)、そこにアサインする(S16
07)。
【0058】一方、S1604において、アサインしよ
うとする人員を当てはめることができない場合にはアサ
イン不可能であり、あふれ人員とする(S1609)。
このような処理をすべての人員について実行して(S1
608)、最終的なアサイン結果を得る。
【0059】図17は、予め先取りが行われた場合に、
図16のアルゴリズムに従って勤務位置に人員をアサイ
ンしてゆくときの途中の状況の一例を示している。ここ
では「先取人A」という人員が4番の勤務位置に、ま
た、「先取人B」という人員が3番の勤務位置に、それ
ぞれ図示の時間帯で先取りでアサインされている。
【0060】図17において、3番目にアサインが試み
られる人員「人3」は、「先取人B」がアサインされた
同じ3番の勤務位置において前の時間帯が空いているの
で、ここでS1604の判定結果は「ある」となり、ま
た、その前にはまだ誰もアサインされていないので(S
1605)、3番の勤務位置にアサインされる(S16
07)。同様にして、4番目にアサインが試みられる人
員「人5」は、「先取人A」がアサインされた同じ4番
の勤務位置にアサインされる(S1607)。
【0061】10番目にアサインされる人員「人10」
は、S1606の処理において、すでに時間的に前にア
サインされた人員のいる勤務位置のうち勤務時間の終了
時刻が一番早いところとして5番の勤務位置を見出し
て、ここにアサインされる(S1607)。11番目に
アサインされる人員「人11」のアサインを試みると、
先取れされた「先取人A」と勤務時間が重なるので4番
の勤務位置にはアサインされず、S1606の処理で見
出された1番の勤務位置にアサインされる(S160
7)。さらに、12番目にアサインされる人員「人1
2」は、3番の勤務位置に「先取人B」がアサインされ
ており、その前の時間帯には「人3」がアサインされて
いるが、S1604の判定において、ここに勤務時間が
重ならない時間帯があり、かつ、「人3」の勤務時間が
最も早く終了するので、ここにアサインされる(S16
07)。
【0062】このように、図16のアルゴリズムによれ
ば、先取り処理を行った場合でも、適切に人員アサイン
を行うことができる。しかも、このアルゴリズムは、図
3に示したアルゴリズムに僅かな変更を加えるだけで済
むことが分かる。
【0063】《アルゴリズム4》次に、「勤務種別」と
いう概念を導入した人員アサインのためのアルゴリズム
について説明する。各人員を勤務位置にアサインすると
きに、特定の勤務種別の人員を特定の勤務位置にアサイ
ンしたい場合がある。コールセンター等では、早朝だけ
勤務する人や夕方から深夜にかけて勤務する人に、それ
ぞれ早帯勤務、遅帯勤務を意味するシフトコードを付与
する場合があるが、この早帯勤務、昼帯勤務、遅帯勤務
などの勤務時間帯を示すシフトコードが、ここで言う勤
務種別の例である。以下の各例でも、特に断らない限
り、勤務種別とはシフトコードを指すものとする。ただ
し、シフトコードは勤務種別の一例であり、本発明いう
「勤務種別」が、シフトコード以外のものも含むことは
言うまでもない。
【0064】コールセンター等では、全体の座席数は多
数(例えば100席以上)用意されているが、勤務者の
少ない早朝や深夜には、保安上の観点等から、特定の座
席の周囲に人員を集中させてアサインしたいという要請
がある。このような場合に、勤務種別の機能をうまく利
用すると、早朝・深夜勤務の人員を部屋の特定の領域に
集中させるといったことが可能となる他、アサイン担当
者の意向により良く沿ったアサイン結果が得られる。
【0065】図18は、図1のアルゴリズムに、「勤務
種別」という概念を導入したアルゴリズムの一例を示し
たフローチャートである。ただし、この例は、勤務種別
の概念を分かり易く説明することを目的とするものであ
るため、図3や図16のアルゴリズムのように各人員の
勤務時間は考慮していない。
【0066】図19は、図18のアルゴリズムに基づい
て人員を勤務位置にアサインしたときの具体的な状況を
示している。ここでは、k人(=9人)の人員をnカ所
(=8カ所)の勤務位置にアサインする場合の具体例が
示してある。図19において、小文字のアルファベット
a、b、cが勤務種別を表している。
【0067】各人員には、図19の右側に示すように、
予めいずれかの勤務種別が付与されているものとする
(人員1の勤務種別はa、人員2の勤務種別はb、…人
員9の勤務種別はc)。最初のステップであるS180
1では、各勤務位置に番号(1〜n)を付けるととも
に、それぞれの勤務位置にアサインすることができる勤
務種別を決めて割り当てる。図19において、1番から
8番までの各勤務位置の横にc,b,b,a,c,a,
c,bという勤務種別が割り当てられているが、これら
がその勤務位置にアサインすることができる人員の勤務
種別を示している。次のS1802では、各人員を勤務
開始時刻の早い順番に並べる。
【0068】続いて、アサインされていない人員を一人
選び(S1803)、番号を付けた各勤務位置の1番目
から順番に空いている勤務位置を探し(S1804)、
空いている勤務位置がない場合には(S1805)、そ
の人員はアサイン不可であるからあふれ人員として(S
1809)、最初に戻る。一方、空いている勤務位置が
ある場合には(S1805)、その人員の勤務種別がそ
の勤務位置にアサイン可能なものかどうかを判定する
(S1806)。
【0069】アサイン可能な勤務種別でなければ、次に
空いている勤務位置を探す(S1810)。一方、アサ
イン可能な勤務種別であれば、その人員をその勤務位置
にアサインする(S1807)。以上と同様の処理をす
べての人員について行って(S1808)、アサイン処
理を終了する。
【0070】図18のアルゴリズムに従うと、図19に
おいて人員「人1a」(勤務種別はa)を最初にアサイ
ンしようとするが、その際1番の勤務位置を見ると、こ
こは空いてはいるもののこの場所にアサインできる勤務
種別はcであるから、S1805の処理により「人1
a」はここにはアサインされない。次に、2番の勤務位
置も空いているが、勤務種別がbであるからここにもア
サインされない。3番の勤務位置も同じく勤務種別がb
であるから、ここにもアサインされない。そして、4番
の勤務位置において初めて勤務種別がaであるから、
「人1a」はここにアサインされる。以下同様にして図
18のアルゴリズムに従ってアサインしてゆくと、最終
的に図19のようなアサイン結果が得られ、「人7a」
があふれ人員となっている。
【0071】《アルゴリズム5》図20は、図3及び図
16のアルゴリズムと同様に各人員に勤務可能な時間帯
が決められ、さらに前述の勤務種別を考慮して、各人員
を勤務位置にアサインするアルゴリズムのフローチャー
トである。同図において、S2001の処理は、図18
のS1801と同じである。続くS2002の処理は、
図3のS302、図18のS1802の処理と同じであ
り、各人員を、そのそれぞれの勤務時間帯の開始時刻が
早い順に並べる。図21は、このように各人員を開始時
刻の早い順番に並べた状態を示している。この図に示す
結果は、各人員に勤務種別が割り振られていること以外
は、図4の結果と同じである。
【0072】続いて、図21のように並んだ上から順番
に、アサインしようとする人員を一人選択する(S20
03)。そして、番号が付された各勤務位置の一番目か
ら順に、当該人員の勤務種別をアサインでき、かつ、空
いいる勤務位置を探し(S2004)、該当する勤務位
置が見つかったときは(S2005)、そこにその人員
をアサインする(S2008)。
【0073】一方、S2005において、すべての勤務
位置がすでに埋まっていて空いている勤務位置がない場
合は、すでにアサインされている人員の勤務時間が最も
早く終了する勤務位置を探し(S2006)、見出され
た勤務位置の占有終了時刻と、アサインしようとする人
員の勤務開始時刻とを比較し、両者の時間帯の重なりを
調べる(S2007)。なお、同じ勤務位置にアサイン
しようとする二人の人員の勤務時間が全く重ならない
か、あるいは重なってもその時間が許容時間m分以内の
場合を「重ならない」とし、両者が許容時間m分を越え
て重なる場合を「重なる」とする点は、図3の場合と同
様である。
【0074】S2007において、「重ならない」場合
には、そのその勤務位置にその人員をアサインする。一
方、S2007において「重なる」場合には、その人員
はアサイン不可能であり、その人員を「あふれ人員」と
する(S2010)。このような処理を、図4に順番で
示したすべての人員に対して行う(S2009)。
【0075】図22〜図24は、図20に示したアルゴ
リズムに従って各勤務位置に各人員をアサインしてゆく
状況の一例を示している。図22は、9番目の人員「人
9c」までのアサイン作業が終わった状況を示してい
る。ここで、人員「人9c」はどこにもアサインされず
にあふれ人員となっている。これは、9番目の人員の勤
務種別がcであるため、空いているn番(=9番)の勤
務位置にはアサインできず、また、勤務時間の開始時刻
が、すでにアサインされている人員のどの勤務終了時刻
よりも早くて重なってしまうからである。
【0076】この状態で、10番目の人員「人10a」
のアサインを試みると、図23のように、割り当てられ
た勤務種別がaで、かつ空いているn番(=9番)の勤
務位置にアサインされる。この段階ですべての勤務位置
に少なくとも一人の人員がアサインされたので、これ以
降は、図20のS2006、S2007の処理が実行さ
れ、各人員が所定の勤務位置に順次アサインされてゆ
く。
【0077】前述の図23には、図20のアルゴリズム
に従って、図21のように並べられた21人すべての人
員をアサインした結果を示してある。この中で例えば1
1番目の人員「人11b」は勤務種別がbなので、bが
割り当てられたうちで勤務終了時刻が最も早い3番の勤
務位置にアサインされている。12番目の人員「人12
c」は勤務種別がcであり、cが割り当てられた勤務位
置のうちで勤務時間が重ならないのは1番だけなので、
1番の勤務位置にアサインされている。以下同様であ
る。その結果、9番目の人員「人9c」と16番目の人
員「人16a」はアサインできず、あふれ人員となって
いる。このように、図20に示したアルゴリズムは、勤
務種別まで考慮しているにもかかわらず、発生するあふ
れ人員の数が少なく抑えられている。
【0078】図24は、図20のフローチャートを若干
変更したアルゴリズムに基づいてアサイン作業を実行し
た結果を示している。すなわち、付与された勤務種別ご
とに各人員を予めまとめ、かつ、アサインすることがで
きる勤務種別ごとに各勤務位置をまとめて(かため
て)、それぞれの勤務種別ごとに図3に示したアルゴリ
ズムを適用してアサインした結果である。図24に示し
たアサイン結果は、勤務位置の並ぶ順番が異なる点を除
けば、どの勤務位置にどの人員がアサインされるか、あ
ふれ人員が誰になるかは図23の場合と全く同じであ
る。したがって、いずれのアルゴリズムを採用するか
は、状況に応じて選択できる。
【0079】《アルゴリズム6》図25は、アサインす
る各人員にその職務能力(職能レベル)の違いがある場
合に、これを考慮して各勤務位置に適切に人員をアサイ
ンするアルゴリズムのフローチャートである。人員アサ
インの際に職能レベルの概念を採り入れる理由は、コー
ルセンター等では、その職に就いたばかりの職能レベル
の低い新人は、職務教育の一環としてかならず勤務に就
かせたいという要請があることと、その際に職能レベル
の高いベテラン人員の座席やそのグループの長(インチ
ャージともいう)の座席として特別に固定された座席か
ら見易い座席にアサインしたいという要請があるからで
ある。
【0080】このように職能レベルを考慮してコンピュ
ータにアサイン計算を実行させるために、各勤務位置に
ついても、「優先順位」という考え方を導入する。これ
までの勤務位置の番号は、単純に勤務位置の物理的な並
び順であったが、その他に「優先順位」を導入する理由
は、例えばインチャージの隣を最も高い優先順位とし、
インチャージから離れるに従って優先順位を下げておく
ことによって、職能レベルの低い新人をできるだけイン
チャージの近くに優先的にアサインさせる、という処理
をコンピュータに自動的に行わせるためである。
【0081】図25のアルゴリズムについて説明する。
まず、人員をアサインすることが可能な各勤務位置に優
先順位を付け(この作業はアサイン担当者が予め行って
おく)、勤務位置をこの優先順位の高い順番に並べる
(S2501)。続いて、アサインすべき人員を職能レ
ベルの低い順、かつ、勤務時間帯の開始時刻の早い順に
並べる(S2502)。このように並んだ順番が、アサ
インを試みる順番である。
【0082】図26は、図21と同様に、各人員を単純
にそれぞれの勤務時間帯の開始時刻が早い順に並べた状
態を示している。ただし、この場合は各人員に、勤務種
別の他に、職能レベルを示す「高」、「中」、「低」の
うちのいずれかが付されている。ここで「高」は最も高
い職能レベルを示し、「中」はその次に高い職能レベル
を示し、「低」は最も低い職能レベルを示す。なお、こ
こでは一例として職能レベルを3段階としたが、職能レ
ベルの分け方を2段階又は4段階以上とすることも当然
可能である。
【0083】図27は、図26のように勤務時間帯の開
始時刻の早い順に並べた人員を、さらに職能レベルの低
い順に並べ直した状況を示している。この図27が、S
2502の処理を行った結果の一例である。図27を見
ると分かるように、全体が三つのグループに分かれ、職
能レベル「低」のグループは上位に、職能レベル「中」
のグループは中位に、職能レベル「高」のグループは下
位に来る。これにより、勤務時間の開始時刻より前に、
職能レベルの低さを考慮したアサイン計算が行われる。
すなわち、職能レベルが「低」の人員から先に優先順位
の高い勤務位置(すなわちインチャージの近くの座席な
ど)にアサインされてゆく。
【0084】このようにした理由は、職能レベルの高い
人員はどのような場所にアサインされても問題はなく、
また「あふれ人員」になっても後に手作業で比較的容易
にアサインし直すことができる(例えば余分に座席等が
用意してあればそこに配置してもよい)のに対し、職能
レベルの低い新人などは一旦アサイン結果が得られた後
は、前述のような条件を満たす勤務位置に手作業でアサ
インするのが難しい場合が多いからである。実際、後述
の実施例の人員アサインシステムには、人員を勤務位置
に自動的にアサインされた後にオペレータがディスプレ
ー画面を介する操作により、アサインされていない人員
を手作業で勤務位置にアサインし、アサインされた人員
の勤務位置を手作業で変更し、又はアサインされた人員
のアサインを手作業で解除する機能が設けられている。
【0085】続いて、S2502で図27のように並べ
た順番に従って、最初にアサインする人員「人3a低」
(勤務種別はa、職能レベルは「低」)を選択する(S
2503)。この人員を、先に述べた勤務位置の優先順
位の高い順にアサインできるかどうかを見てゆく(S2
504)。アサインできるかどうかの判定は、勤務種別
が合致しているかどうか、すでにアサインされている人
員の勤務時間と重ならないかどうかに基づいて行う。
【0086】図28は、図25のアルゴリズムに従って
アサインを行った状況を示した図であり、この図の左側
に各勤務位置の優先順位が示してある。例えば、優先順
位が1番の勤務位置は、元々は5番だった勤務位置であ
り、元々1番だった勤務位置は、この優先順位順に並べ
ると4番となっている。
【0087】したがって、まず、最初に人員「人3a
低」をこの優先順位順に、勤務種別も考慮して、アサイ
ンできる勤務位置を探す(S2504)。その結果、図
28に示すように、優先順位が6番の(元々の番号が4
番の)勤務位置がアサイン可能な勤務種別に該当するの
で(S2505)、ここに人員「人3a低」をアサイン
する(S2506)。該当する勤務位置がなければ、ア
サインできず、当該人員をあふれ人員とする(S250
8)。以下同様にして各人員のアサインを試みる。
【0088】なお、すでに人員がアサインされている勤
務位置に別の人員をアサインする場合に、S2504に
おいて、許容時間m分以内の場合を「重ならない」と
し、両者が許容時間m分を越えて重なる場合を「重な
る」ということにするのは、これまでと同じである。
【0089】このようなアサイン処理を行ってゆくと、
最終的に図28に示したアサイン結果が得られる。この
図を見ると分かるように、この例では、たまたま勤務種
別aが割り当てられた勤務位置が少なかったので、あふ
れ人員に勤務種別aの人が多い。しかし、職能レベル
「低」の人員は比較的優先順位の高い勤務位置に集中
し、職能レベル「高」の人員は比較的優先順位の低い勤
務位置に集中している。また、発生したあふれ人員を見
ると、職能レベル「低」の人員はおらず、4人のうち3
人までが職能レベル「高」の人員という、当初の意図に
良く沿った結果となっている。このように、図25のア
ルゴリズムは、何らかの理由で特定の人員(ここでは職
能レベル「低」の人員)を特定の勤務位置(例えばイン
チャージの近く)にアサインしたいという要請にも簡単
に応えられるという点が大きな特徴である。
【0090】これに対し、これ以前に説明した各アルゴ
リズムでは、すでにアサインされた人員と勤務時間が重
ならない人員を順次アサインして行って一つのアサイン
結果を得ていたので、誰がどこの勤務位置にアサインさ
れるかは、最終的なアサイン結果が得られるまで分から
なかった。
【0091】図25のアルゴリズムで、各人員に職能レ
ベルを指定する際に、全員に職能レベルを指定しないか
あるいは全員を同じ職能レベルとし、かつ、勤務位置に
優先順位を付けないかあるいは物理的な配置順に優先順
位をつけて実行させると、アサイン結果は図20のアル
ゴリズムを実行させて得られる図23の結果と同じにな
る。勤務種別もつけなければ、図3のアルゴリズムと同
じ結果となる。図25のアルゴリズムを採用した場合で
も、特定の人員を特定の勤務位置にアサインする必要が
ない場合には、最初の設定の際にこのようにすればよ
い。
【0092】《アルゴリズム7》図29は、複数の勤務
位置を一つのゾーンとしてまとめ、かつ、複数のゾーン
それぞれに優先順位をつけて人員をアサインする場合の
アルゴリズムを示したフローチャートである。このよう
に勤務位置を複数のゾーンに分割し、それぞれに優先順
位を付けるというのは、優先順位の高いゾーンから順番
に人員のアサインを試みてゆくことを意味する。なお、
人員には、図25と同じく「勤務種別」及び「職能レベ
ル」が付与されている。
【0093】図30の例を参照して、優先順位を付けた
複数のゾーンについて説明する。ここでは二つのゾーン
X及びYが設けられ、ゾーンXの優先順位が1、ゾーン
Yの優先順位が2とされている。したがって、ある人員
をアサインするとき、まず優先順位が高いゾーンX内の
各勤務位置についてアサインを試み、ゾーンX内にアサ
インできる勤務位置がないときに、次に優先順位が高い
ゾーンY内の勤務位置についてアサインを試みることに
なる。また、ゾーン間だけでなく、各ゾーンに含まれる
それぞれの勤務位置にも優先順位が付されている。な
お、ゾーンの優先順位や、ゾーン内の各勤務位置の優先
順位を付す作業は、アサイン作業の担当者が予め手作業
で行っておく。
【0094】図30の例では、ゾーンXには6カ所の勤
務位置が含まれており、1から6までの番号が付いてい
る。この番号は、このゾーンXの中における各勤務位置
の優先順位を表す。さらに、各勤務位置に付された小文
字のアルファベットa、b、cは、その勤務位置にアサ
インすべき人員の勤務種別を表している。ゾーンYにも
同じく優先順位1から6までの優先順位が付けられた6
カ所の勤務位置が含まれており、各勤務位置には勤務種
別を表す小文字のアルファベットが付されている。各ゾ
ーンには、インチャージ用の勤務位置(不図示)が一つ
設けられている。その場所は、ゾーンXでは1番と2番
の勤務位置の上、ゾーンYでは4番と1番の勤務位置の
上である。
【0095】ゾーンXについて、優先順位1と2の勤務
位置を一番上に横に並べたのは、職能レベル「低」の人
員をインチャージの近くにアサインし、かつ、勤務種別
aの人員をインチャージの近くに集めたいというアサイ
ン作業担当者の意図が表れている。また、この例ではア
サイン作業担当者は、勤務種別aの人員が少ないと予想
し、優先順位5と6の勤務位置は勤務種別aの人員では
埋まらないと考えた結果、勤務種別をcにしている。ゾ
ーンYの場合は、勤務種別bとcの人員を集めたいが、
人員がそんなに多くはいないだろうからインチャージか
ら遠い優先順位6の勤務位置はaでもよいというアサイ
ン作業担当者の意図が表れている。
【0096】以上のように、どの勤務位置を一つのゾー
ンに含めるか、各ゾーンにどういう優先順位を付すか、
各ゾーン内の勤務位置の優先順位はどうするか、それぞ
れの勤務位置に割り当てる勤務種別をどうするかについ
ては、コンピュータに自動アサイン計算を実行させる前
に予め、どのようなアサイン結果が欲しいかというアサ
イン作業の担当者の希望に沿って設定しておく。
【0097】特に、勤務位置が100を越えるような多
数の場合には、これらを複数のゾーンに分割し、それら
のゾーンに優先順位を設定するようにすると、ゾーンが
ない状態で多数の勤務位置に優先順位を設定する場合に
比べて、アサイン結果の見通しが良くなる。また、部屋
の形がいびつで勤務位置の配置をきちんとした長方形等
にできない場合なども、このようにゾーンに分けること
は、優先順位の設定などの作業の労力を軽減できるとい
う効果がある。
【0098】図31は、以上の設定に基づいて、各勤務
位置を優先順位の高い順に、アサイン可能な勤務種別を
有する勤務位置をゾーン内の優先順位順に並べた状態を
示している。図29のS2901は、この図31のよう
に各勤務位置を並べるところまでの処理を表している。
図31を見ると分かるように、最初の6カ所はすべてゾ
ーンXに含まれる勤務位置であり、その後の6カ所はす
べてゾーンYに含まれる勤務位置である。
【0099】続いてS2902では、図25のアルゴリ
ズムのS2502とまったく同じ処理によって各人員を
順番に並べる。このように並べられた順番は、アサイン
を試みる順番である。図32は、S2902の処理によ
って各人員を並べた状態を示した図であり、この並び方
は図27と全く同じである。したがって、S2902及
び図32については、S2502及び図27についての
説明をそのまま参照することができる。つまり、ここで
は人員についての条件は図25の場合と全く同じであ
る。
【0100】以上のようにして勤務位置及び人員を並べ
たところで、S2903以降の実際のアサイン処理に進
む。まず、図32のように並んだ順番で一人の人員を選
択し(S2903)、この人員について図31のように
並べた順番でアサインできる勤務位置を探す(S290
4)。これ以降はこれまでと同じように、該当する勤務
位置が見つかったときは(S2905)、そこに人員を
アサインし(S2906)、見つからなければ(S29
05)、その人員はアサインできないあふれ人員とする
(S2908)。
【0101】図33は、図29のアルゴリズムに基づい
て全人員についてアサイン処理を実行した結果を示して
いる。これを見ると次のことが分かる。まず、人員「人
7c高」はアサインされる順番が後の方なのであふれ人
員となっているが、職能レベルが「高」であるため、ど
うしても特定の勤務位置にアサインしなければならない
という要求は小さく、したがって必要ならば後に担当者
が手作業で適当な勤務位置にアサインすればよい。
【0102】また、勤務種別a、bに関しては、当初意
図した通りに、優先順位の高い勤務位置に職能レベル
「低」の人員が配置されている。勤務種別cに関して
は、ゾーンXの方がゾーンYよりも優先順位が高いの
で、ゾーンX内の優先順位的には低い勤務位置に職能レ
ベル「低」の人員が配置されている。この場合、勤務種
別cの人員を、職能レベルが「中」で、空いている勤務
位置ならどこにアサインしてもよいという人にしておけ
ば、まず勤務種別a、bの人が意図した通りの勤務位置
にアサインされ、勤務種別cの人はその後の空いた勤務
位置に配置される、といった計画を立てることができ
る。
【0103】《アルゴリズム8》次に、一つの勤務位置
に複数の勤務種別を割り当てて人員をアサインできるよ
うにしたアルゴリズムについて説明する。図34は、こ
のようなアルゴリズムの一例を示したフローチャートで
ある。また、図35〜図38は、図34のアルゴリズム
に従って人員をアサインしてゆく状況の一例を示してい
る。ある勤務位置に一つの勤務種別を割り当てたが、も
しその勤務種別の人員がいなかった場合には、別の勤務
種別の人員をアサインしてもよいという場合がある。そ
のような場合も考慮したアルゴリズムにすれば、あふれ
人員の発生をさらに少なく抑えることができる場合があ
る。
【0104】図35は、図30と同様に、二つのゾーン
X及びYが設けられ、ゾーンXに優先順位1が、ゾーン
Yに優先順位2が付されている場合である。さらに、各
勤務位置には二種類の勤務種別が割り当てられている。
例えば、ゾーンXの1番の勤務位置には、aとbという
勤務種別が割り当てられている。これは、左側の勤務種
別(「左勤務種別」という)aの方が右側の勤務種別
(「右勤務種別」という)bよりも優先度が高く、左勤
務種別aの人員がアサインできない場合には右勤務種別
bの人員をアサインしてもよいことを示している。図3
4のアルゴリズムに従ってアサインすると、まず、すべ
てのゾーンの左勤務種別(ゾーンXの1番の勤務位置で
はa)の人員がアサインの対象となり、すべてのゾーン
を探してアサインできない人員が生じた場合には、最初
のゾーンから右勤務種別(ゾーンXの1番の勤務位置で
はb)の人員がアサインの対象となる。
【0105】なお、ここでは一つの勤務位置にアサイン
可能な人員の勤務種別を二つだけとしたが、三つ以上と
することも簡単にできることは、以下の説明から容易に
理解される。
【0106】図34のアルゴリズムでは、まず、勤務位
置について、仮想的に一つの勤務位置について一つの勤
務種別を発生させ(本明細書ではこれを「一勤務種別一
勤務位置」ともいう)、優先度の高い左勤務種別の順
番、優先順位の高いゾーンの順番、各ゾーン内の勤務位
置の優先順位の順番に並べる(S3401)。この処理
は、図34のアルゴリズムの一つの特徴である。これ
は、図36に示すように(A)、(B)、(C)に分け
て考えると分かり易い。
【0107】まず、図36(A)のように、各勤務位置
を図31と同じく優先順位の高いゾーンの順番、ゾーン
内の優先順位の高い勤務位置の順番に並べる。ここまで
はまだ勤務種別を考慮していない。次に図36(B)の
ように、(A)の各勤務位置をさらに勤務種別ごとに二
つに分ける。ここで、各勤務位置の右側に示した
「左」、「右」はそれぞれ、各勤務位置に割り当てられ
た左勤務種別、右勤務種別を示している。そして図36
(C)のように、(B)で並べた各勤務位置を、左勤務
種別が先に、右勤務種別が後になるように並べ直す。こ
こまでがS3401の処理である。
【0108】このように、図36(B)の段階では、一
勤務種別一勤務位置を発生させたことになり、図36
(C)ではさらに、これを優先順位の高い務種別順、優
先順位の高いゾーン順、ゾーン内のアサイン優先順に並
べたことになる。
【0109】図36(C)を見ると分かるように、この
並びの中に一つの勤務種別が2回現れ、合計では実際の
勤務位置の2倍の数の勤務位置が生じる。これは割り当
てられた勤務種別が二つであることに対応しており、勤
務種別が三つ以上割り当てられた場合には、その数だけ
現れ、実際の勤務位置の3倍又はそれ以上となる。この
ように元々は同じ勤務位置を勤務種別で区別して考える
と、形式的には勤務位置の数が増えるが、区別されたそ
れぞれの勤務位置は一つだけとみなすことができる。
【0110】次に、S3402では、図29のS290
2と全く同じ処理で、各人員を並べる。このようにして
並べた順番は、アサインを試みる順番である。したがっ
て、ここでは再度の説明及び図示を省略するとともに、
S2902との関連で例示した図32の人員の並びを、
S3402の処理で得られた結果として利用する。
【0111】図32のようにして得られた順番でまず一
人の人員「人3a低」を選択し(S3403)、図36
(C)のように並んだ勤務位置の順番で、アサインでき
る勤務位置があるかどうかを探してゆく(S340
4)。
【0112】S3404において勤務位置が見つかった
ときは(S3405)、その勤務位置に当該人員をアサ
インするのであるが、このとき同時に、勤務種別だけが
異なる同じ番号の勤務位置にもその同じ人員を配置する
(S3406)。この点も、これまでのアルゴリズムと
は異なる本アルゴリズムの特徴の一つである。
【0113】図37は、このときの様子を示している。
すなわち、最初にアサインを試みる3番目の人員「人3
a低」(図32参照)は、左勤務種別がaであるX1と
いう勤務位置(X1a)にアサインされるが、このとき
仮想的に勤務位置(X1a)とは別の勤務位置のように
見立てた勤務位置(X1b)にも、同時に同じ人員「人
3a低」がアサインされる。別々の勤務位置のように見
えるが、実際には勤務位置(X1a)と勤務位置(X1
b)は、単一の勤務位置(X1)である。
【0114】以下同様にして図32の順番に従って各人
員をアサインしてゆくと、図38に示すように、図32
の上から16人目の人員「人4b高」までは左勤務種別
の範囲内でアサインされる(梨地で示す)。しかし、1
7人目の人員「人7c高」は、左勤務種別の範囲内でア
サインすることができないので、続く右勤務種別の中で
アサインできる勤務位置を探す(S3404)。する
と、X4cという勤務位置が空いており、勤務種別も一
致するので、17人目の人員「人7c高」はここにアサ
インされる。このとき同時に、勤務種別のみ異なる同じ
勤務位置X4aにも同じ人員「人7c高」がアサインさ
れる(S3406)。
【0115】以上のような処理を行ってもアサインされ
なかった人員は、あふれ人員となるが(S3408)、
この例ではあふれ人員は発生していない。
【0116】以上の処理をすべての人員について行うこ
とによって(S3407)、一つのアサイン結果が得ら
れる。このようにして得られたアサイン結果は、一つの
勤務位置に複数の勤務種別の人員のアサインを許す場合
であり、このような場合に図34のアルゴリズムを利用
すると、無駄にあふれ人員を発生させなくて済む可能性
が高くなる。
【0117】《アルゴリズム9》次に、一つの勤務位置
に複数の人員をアサインすることを許す場合のアルゴリ
ズムについて説明する。
【0118】先に、「先取り」を許す場合のアルゴリズ
ム(図16参照)及び職能レベルの低い人員をインチャ
ージの座席から見易い座席にアサインするアルゴリズム
について説明した(図25参照)。これらの場合は、先
取りの対象やインチャージの近くにアサインする対象と
なるのは、経験は浅いがすでに実務経験のある人員であ
り、また一つの勤務位置にアサインするのは必ず一人の
人員だった。
【0119】これに対して、実務経験の全くない人員を
初めて実務に就かせようとする場合に、このような人員
と同じ勤務位置に、実務経験豊富な人員を先生としてア
サインしたい場合がある。その他の場合にも、一つの勤
務位置に複数の人員をアサインしたい状況は数多く考え
られる。このような状況に対処するために案出されたの
が、図39にフローチャートを示したアルゴリズムであ
る。図40及び図41は、図39のアルゴリズムに従っ
て人員をアサインしてゆく場合の状況の一例を示してい
る。
【0120】なお、図39のアルゴリズムでは、分かり
易くするために、図29のアルゴリズムと同じく一つの
勤務位置に割り当てられる勤務種別は一つだけとしが、
一つの勤務位置に複数の勤務種別を割り当てる場合も図
39のアルゴリズムを容易に適用できる。
【0121】図39のアルゴリズムでは、まず、図29
のS2901と同じく、各勤務位置を優先度の高い順
に、アサイン可能な勤務種別を有する勤務位置をゾーン
内の優先度順に並べる(S3901)。その結果の一例
を図31に示す。次に、図29のS2902と同じ処理
によって人員を並べる(S3902)。こうして並べら
れた順番はアサインを試みる順番である。これは図25
のS2502の処理とも同じである。図32は、人員を
並べた状態の一例を示した図であり、この並び方は図2
7と全く同じである。
【0122】更にS3902の処理では、アサイン作業
の担当者が、同一の勤務位置にアサインすることができ
る人員に手作業で所定のマークを付す。あるいは、これ
よりも以前に前もってマークを付しておいてもよい。こ
れは、本アルゴリズムの特徴的な点である。
【0123】通常は、「先生」になることができる職能
レベル「高」の人員と、「生徒」となる職能レベル
「低」又は「中」の人員にマークを付すが、必ずしもこ
れには限られない。また、勤務種別としては前述のシフ
トコードを意図しているので、同じ勤務位置にアサイン
する複数の人員は、同じ勤務種別の者同士でなければな
らない。
【0124】図40は、図32と同じように人員をアサ
インする順番に並べた状態を示しているが、図40の例
では、3番目にアサインされる人員「人9c低」、13
番目にアサインされる人員「人16a中」、17番目に
アサインされる人員「人7c高」、そして19番目にア
サインされる人員「人15a高」の4人にマークを付し
た状況を示している。
【0125】このような準備を経た上で、実際のアサイ
ン作業に進む。S3903の処理は、S2903の処理
と同じである。続くS3904の処理は、このアルゴリ
ズムに特有の処理である。すなわち、S3903で選択
された人員にマークが付されている場合には、図31の
ように並べた順番で勤務位置を見てゆき、当該人員の勤
務種別が割り当てられており、かつ、職能レベルが異な
り勤務時間が重なるマーク付きのすでにアサインされた
人員がいるかどうかを見る。そして、そのような人員が
いる場合には、その同じ勤務位置に当該人員をアサイン
する(S3907)。
【0126】一方、S3904の処理で、そのような人
員がいないか、あるいは元々S3903で選択した人員
にマークが付されていない場合には、S3905の処理
に進む。S3905の処理は、図29のS2904の処
理と同じである。すなわち、勤務位置については図31
のように並べた勤務位置の順番で当該人員アサインでき
るところを探す。そして、該当する勤務位置があれば
(S3906)、そこに当該人員をアサインし(S39
07)、該当する勤務位置がなければ(S3906)、
あふれ人員とする(S3909)。以上の処理をすべて
の人員について実行する(S3908)。
【0127】図41は、以上の処理を実行した結果の一
例を示している。一つの勤務位置に複数の人員のアサイ
ンを許さなければ、17番目にアサインする人員「人7
c高」及び19番目にアサインする人員「人15a高」
はあふれ人員となっていたはずである。しかしながら、
本アルゴリズムでは、マークが付された複数の人員が同
時に一つの勤務位置にアサインされるので、図41の例
では、人員「人7c高」は勤務位置「X6c」に、人員
「人9c低」と勤務時間が重なった状態でアサインされ
る。また、人員「人15a高」は勤務位置「X1a」
に、人員「人16a中」と勤務時間が重なった状態でア
サインされる。
【0128】ここで、勤務位置「X6c」に重複してア
サインされた二人の人員の職能レベルは、一方が「低」
で他方が「高」であり、勤務位置「X1a」に重複して
アサインされた二人の人員の職能レベルは、一方が
「中」で他方が「高」である。また、重複してしてアサ
インされた二人の人員の勤務種別は、いずれも一致して
いる。したがって、当初意図した通りのアサイン結果と
なっている。
【0129】《アルゴリズム10》次に、特定の二人の
人員を互いに隣り合った勤務位置にアサインすることを
可能とするアルゴリズムについて説明する。例えば、電
話応答の経験が浅い人員にトラブルが生じたときにベテ
ランの人員が手助けできるよう、経験の浅い人員をベテ
ランの人員の隣に座らせたい場合などに、このようなア
ルゴリズムを適用できる。なお、次に説明するアルゴリ
ズムでは、「先生」になることができる人員と「生徒」
になる人員を同じ勤務位置にアサインする場合も含んで
いる。図42はこのような方法を実現するアルゴリズム
の一例を示したフローチャートでる。
【0130】ここでは、「マーク1S」、「マーク1
T」、「マーク2S」、「マーク2T」という四種類の
マークを用意する。「マーク1S」は同一勤務位置にア
サインしてよい職能レベル「低」の人員に付すマークで
あり、「マーク1T」は同一勤務位置にアサインしてよ
い職能レベル「高」の人員に付すマークである。また、
「マーク2S」は隣り合う勤務位置にアサインしてよい
職能レベル「低」の人員に付すマークであり、「マーク
2T」は隣り合う勤務位置にアサインしてよい職能レベ
ル「高」の人員に付すマークである。
【0131】図42のS4201は、図39のS390
1と同じ処理である。ただし、隣り合う勤務位置に特定
の人員をアサインさせようとするところでは、その二つ
の当該勤務位置には同じ勤務種別を割り当てておくのが
望ましい。勤務種別がシフトコードの場合には、隣り合
う勤務位置のシフトコードが異なると、せっかく隣り合
う勤務位置にアサインされても時間帯がずれてしまうか
らである。
【0132】次に、各人員を並べる(S4202)。そ
の際の並べ方は、マーク2Sを付した人員を最も高い優
先順位とし、マーク1Sを付した人員を次に高い優先度
とし、これ以降は、図39のS3902と同様にして並
べる。この並べた結果は、後述の図44と同じになる。
マーク2S付した人員を最も高い優先順位とした理由
は、隣に「先生」となるマーク2Tを付した人員をアサ
インしなければならないマーク2Sが付いた人員の勤務
位置を、勤務位置が埋まっていないなるべく早い段階で
確定させたいからである。
【0133】これ以降の処理は、これまでとは異なる。
すなわち、これまでは人員を並べた順番に選択し、その
人員をアサインできる勤務位置があるかどうかを見てい
った。これに対して、本アルゴリズムでは、逆に勤務位
置についてS4201で並べた順番に、それぞれの勤務
位置にアサインできる人員がいるかどうかを調べてゆ
く。その理由は、人員の順番でアサインできる勤務位置
があるかどうかを見てゆく方法だと、ある人員のアサイ
ンを試みるときに、その人員が、既にアサインされた特
定の人員の隣にアサインすべき人員の場合には、当該隣
の勤務位置に既に別の人員がアサインされていると、そ
の人員をアサインできないことになるからである。
【0134】そこで、まずS4201の処理で並べられ
た順番で勤務位置を一つ選択し(S4203)、その勤
務位置にマーク1Sの人員がアサインされているかどう
かを判定する(S4204)。ここで、マーク1Sの人
員がアサインされていたら(最初は誰もアサインされて
いないので、アサインされているのは2回目以降に限ら
れる)、人員の中からマーク1Tが付されている人員を
探してきて、この同じ勤務位置にアサインする(S42
11)。これにより、マーク1S(生徒)の人員とマー
ク1Tの人員(先生)が同一の勤務位置にアサインされ
る。
【0135】一方、S4204の判定が「いいえ」の場
合には、その勤務位置の隣にマーク2Sの人員がアサイ
ンされているかどうかを判定する(S4205)。隣に
マーク2Sの人員がアサインされているときは、マーク
2Tが付された人員を探してきてその勤務位置にアサイ
ンする(S4212)。これにより、マーク2Sの人員
(生徒)の隣にマーク2Tの人員(先生)がアサインさ
れる。また、S4205の判定が「いいえ」のときは、
隣に空いた勤務位置がないかどうかを判定し(S420
6)、ない場合(「はい」の場合)には、人員の中か
ら、マークが付されていない人員、マーク2Tが付され
た人員、マーク1Tが付された人員の順番で、勤務時間
帯が重ならない人員を検索してアサインする(S421
3)。
【0136】S4206の処理で、隣に空いた勤務位置
がある場合(「いいえ」の場合)には、人員の中からマ
ーク2Sが付された人員、マーク1Sが付された人員、
マークなしの人員、マーク2Tの人員、マーク1Tの人
員の順番で、勤務時間が重ならない人員を検索してアサ
インする(S4207)。ここでマーク2S(生徒)の
人員を最初に探すのは、もしこのような人員がいれば、
その隣の空いている勤務位置に次の検索処理で先生とな
る2Tの人員を探してアサインする必要があるからであ
る。
【0137】これ以降も同様に、勤務位置の順番にアサ
インできる人員を探し、該当者がいればそこにアサイン
し、いなければ次の勤務位置に移行して同様にアサイン
できる人員を探すという処理をすべての勤務位置につい
て繰り返す(S4208)。その結果、アサインされな
いで残った人員がいたときは、これらが自動的にあふれ
人員となる(S4210)。
【0138】なお、後述する図90に示したアルゴリズ
ムは、図42におけるS4203〜S4208、S42
11〜S4203の考え方を基本とし、これをより具体
化したものである。
【0139】《アルゴリズム11》図43は、特定の二
人の人員を互いに隣り合った勤務位置にアサインするこ
とを可能とするアルゴリズムである点は図42と同じで
あるが、異なるのは、並べた人員の順番でアサインでき
る勤務位置を探すことを基本としつつ、隣り合わせる必
要のある人員をアサインするときには、サブルーチンの
ように処理を分岐させてアサインを実行するという点で
ある。
【0140】S4301及びS4302の処理は、図4
2の場合と同じである。図44は、S4301の処理に
よって並べられた人員の順番を示している。このS43
01の処理により、マーク2Sが付された人員「人14
c低」が最初に来て、次にマーク1Sが付された人員
「人9c低」が来るようにしたのは、「生徒」となる人
員をまずアサインしたいという要請による。なお、この
とき、「先生」となるマーク1Tと「生徒」となるマー
ク1S、「先生」となるマーク2Tと「生徒」となるマ
ーク2Sの各人員は、勤務時間帯が重なるよう、同じ勤
務種別としておくのが望ましい。
【0141】続いて、並べられた最初の人員を選択し
(S4303)、この人員がマーク1S又はマーク2S
が付された人員かどうかを判定する(S4304)。S
4304において、いずれでもないとき(「いいえ」の
とき)は、図39のS3905と同じ処理でアサインで
きる勤務位置を探し(S4305)、見つかったときは
そこにアサインし(S4307)、見つからないときは
当該人員をあふれ人員とする(S4309)。
【0142】一方、S4304の判定結果が「はい」の
ときは、S4310において、人員の優先順位順ではな
く勤務位置の優先順位順に、それぞれの勤務位置にアサ
インできる人員を探すとういやり方で順次アサインを試
みる。そして、アサインできた場合、その人員に付され
たマークが2Sならば、人員の中からマーク2Tが付さ
れた者を探して隣にアサインする。一方、その人員に付
されたマークが1Sなら、人員の中からマーク1Tが付
された者を探して同一の勤務位置にアサインする。この
場合、マーク2Sが付された人員は最優先でアサインさ
れるので、これらの人員がアサインされても隣の勤務位
置はまだ空いており、ここに「先生」となるべきマーク
2Tが付された人員をアサインすることができる。
【0143】本アルゴリズムにより、予め希望した二人
を隣り合う勤務位置にアサインすることができるが、コ
ールセンターなどでは、これとは逆に、特定の二人を隣
り合う勤務位置にアサインしたくないという場合も考え
られる。たとえば、入社年月日が同じ(いわゆる同期入
社の)社員を隣り合う勤務位置にアサインすると、私語
などで仕事がはかどらないので隣り合わないようにアサ
インしたいという場合がある。そのような場合には、隣
り合わないようにしたい人員にマークを付け、図43の
アルゴリズムを若干追加・変更すれば、容易に、特定の
人員が隣り合わないようにアサインすることができる。
【0144】そのような方法の一例として、互いに隣り
合う勤務位置にアサインしたくない複数の人員にその旨
のマーク(例えばX)を付けておき、S4306の次
に、その人員にXが付けられている場合には、隣の勤務
位置にマークXが付けられた人員がアサインされている
かどうかを判定し、マークXが付けられた人員が隣にア
サインされているときは、次の勤務位置を探す、という
処理を実行すればよい。
【0145】《アルゴリズム12》次に、一応のアサイ
ンが終了した各人員に対して、各人員の休憩時間を自動
的に調整するアルゴリズムについて説明する。人員を継
続して一定時間以上勤務させる場合には、途中に休憩時
間をとらせなければならない場合がある。しかし、何人
もの人員が一斉に休憩に入ると、勤務している人員が一
時的に減って、業務遂行に支障をきたすこともありう
る。そこで、休憩時間を自動的にうまくずらして、この
ような問題を回避しようとして案出されたのが、図46
に示したアルゴリズムである。
【0146】図46のアルゴリズムを実行させる前提と
して、まず、勤務時間を一例として30分単位で区切り
(これを1区分時間という)、平均的な職能レベルを有
する人員が1区分時間のあいだずっと勤務位置について
いる場合のマンパワーを1マンパワー(MP)と定義す
る。たとえば、平均的な職能レベルの人員がこの1区分
時間(30分)のうち15分だけ勤務位置につき、残り
15分は休憩や勤務時間終了で勤務位置につかない場
合、この人員が、この1区分時間について寄与するマン
パワーは、MP/2(1MPの2分の1)である。ま
た、経験が浅く、一つの電話に応答するのに平均的な職
能レベルの人に比べて2倍程度の時間が考えられる人員
の場合は、30分フルに勤務についてもこの1区分時間
について寄与するマンパワーは、MP/2(1MPの2
分の1)である(このような設定は予め行っておく)。
したがって、例えばある1区分時間(30分間)に、1
MPの人員50人がフルに勤務につき、1MPの人員1
0人が15分だけ勤務につくとすると、その区分時間に
おけるマンパワーは55MPである。
【0147】なお、上記のような考慮を行わず、職能レ
ベルに関係なく単純にどの人員も1マンパワーと考える
場合や、ある区分時間にわずかでも勤務位置につく場合
は勤務についたことにし単純に1マンパワーと考える場
合も、本発明の技術的思想の範囲に含まれる。
【0148】一方、前述のように、各人員には勤務種別
として早帯勤務、昼帯勤務、遅帯勤務を意味するシフト
コードが付与されている。そして、各シフトコードに
は、第1候補から第3候補までの休憩時間(休憩開始時
刻及び休憩終了時刻)を予め関連付けておく。したがっ
て、シフトコードを指定すれば、対応する勤務時間の他
に、第1候補から第3候補までの休憩時間も指定された
ことになる。
【0149】さらに、各区分時間には、予めそれぞれの
区分時間について必要なマンパワー(必要MP)を、予
めコンピュータに入力しておく。
【0150】図46に示したアルゴリズムは、既に以上
の準備が整い、かつ、勤務位置への各人員の一応のアサ
イン計算が済んだ段階で実行する。まず、S4601で
は、各区分時間について、それぞれのマンパワーの合計
を計算し、このマンパワーが区分時間毎に予め設定され
ている必要MPを下回る(マイナスとなる)区分時間の
うちで、マイナス幅が最大の区分時間を探す。もし、マ
イナスとなる区分時間がなければ(S4602)、休憩
時間を調整する必要はないのでこのアルゴリズムを終了
する。
【0151】一方、S4602で、マイナス幅が最大と
なる区分時間が見つかった場合は、優先順位の低いゾー
ンから、休憩時間の調整が済んでいない人員がアサイン
されているゾーンを探す(S4603)。「休憩時間の
調整」とは、後述のS4607において行う処理であ
り、休憩時間の調整が済んだ人員には後述のようにその
旨のマークが付されるので、休憩時間の調整が済んでい
るかどうかは、このマークの有無により判定する。
【0152】S4604において休憩時間の調整が済ん
でいない人員がアサインされているゾーンがなければ、
それ以上休憩時間の調整はできないのでこのアルゴリズ
ムを終了する。一方、S4604においてそのようなゾ
ーンが見つかれば、当該区分時間に掛かる休憩時間を持
ち、かつ、未調整の人員を、勤務位置の優先順位の低い
方から順番に探す(S4605)。S4606におい
て、そのような人員が見つかれば、S4607において
休憩時間調整の処理を行う。
【0153】なお、S4605において、「勤務位置の
優先順位の低い方から」探すのは、このような勤務位置
は、職能レベルが中程度の人員がアサインされている可
能性が高いからである。すなわち、優先順位の高い勤務
位置には、職能レベルが低い人員、或いはこのような職
能レベルの低い人員と一緒にアサインされた職能レベル
の高い人員がアサインされているが可能性があり、その
ような人員をひとまず避け、職能レベルが中程度の人員
から先に休憩時間の調整を行うとする意図が表れてい
る。
【0154】S4607における休憩時間の調整は、具
体的には次のように行う。まず、S4606において見
つかった人員と同じゾーンに属する人員であって、同じ
勤務種別を有する人員がいれば(これらの人員の休憩時
間は皆同じことになっている)、それらすべての人員の
休憩時間を、次に候補順位が高い休憩時間(現在が第1
候補なら次は第2候補、現在が第2候補なら次は第3候
補)に変更する。このように同じ勤務種別の人員の休憩
時間を一斉に変更するのは、各人員がばらばらに抜ける
と、その人員が休憩なのか休んでいるのか分かりにくい
のに対し、このように数人がかたまって勤務位置をはず
していれば、休憩であることが分かり易いという理由に
よる。
【0155】そして再びS4601と同様に、変更後の
マンパワーの合計を計算し、この合計のマンパワーが区
分時間毎に予め設定されている必要MPを上回るかどう
かを判定し、上回らなければ次に候補順位の高い休憩時
間に変更する。そして、第3候補まで変更した場合に
は、変更した人員には調整済みのマークを付す。以上の
S4601〜S4607までの処理を終了するまで繰り
返す。
【0156】かかるアルゴリズムを実行することによっ
て、自動的に休憩時間の調整がなされる。この場合、必
ずしも必要MPが満たされるとは限らないが、少なくと
も必要MPにより近づけることができる。
【0157】
【実施例】ここからは、これまで説明してきたアルゴリ
ズムを利用して実際に稼働するプログラムとして実現さ
せた人員アサインプログラムの実施例について説明す
る。
【0158】以下では、航空機の搭乗券の電話予約を受
け付けるコールセンターにおいて、多数の電話予約受付
人員(以下「スタッフ」という)を多数の座席にアサイ
ンする作業に、本実施例の人員アサインシステム(以下
「本システム」ともいう)を適用する場合について説明
する。
【0159】本システムは、パーソナルコンピュータや
ワークステーションなどの一般的なコンピュータ及びそ
の周辺機器、そして、このコンピュータ上で実行される
コンピュータプログラムから構成されている。コンピュ
ータや周辺機器は、汎用のものであるため、本システム
の中心的な役割を果たすのは、コンピュータプログラム
からなるソフトウェアの部分である。
【0160】本システムのプログラムは、予め入力する
データを最小限に抑えて可能な座席アサインパターンを
すべて作り、その中から条件に合致するものを抽出する
という方針とは異なり、必要となる基本情報を予め十分
に入力しておき、それに基づいて、とにかく条件を満た
した座席アサインパターンを一つ作り、それで不都合が
あるときは、予め用意したツールでオペレータが簡単に
修正できるようにするという方針に基づいて設計されて
いる。
【0161】図47は、本実施例のシステムを起動させ
たときに最初にコンピュータのディスプレーに現れる基
本メニュー選択の画面を示している。以下の(1)〜
(10)では、この基本メニュー選択画面に表示された
メニューに沿って本実施例を説明してゆく。
【0162】(1)マスタ登録 「マスタ登録」は、このシステムを稼働させるための基
本情報である各種マスタの登録作業を行う場合にクリッ
クして選択する。以下ではまず、基本情報を登録するた
めのマスタ登録の機能及びこの機能を使って登録者が行
う基本情報の入力作業について説明する。図48は、こ
の「マスタ登録」ボタンをクリックしたときに現れるマ
スタ登録のサブメニューである。
【0163】(a)座席マスタ まず、座席マスタの登録について説明する。スタッフが
座る座席を実際のフロアにどのように配置するかを決め
るために登録した情報が「座席マスタ」である。座席マ
スタに座席の配置を登録する場合は、図48のマスタ登
録のサブメニューのうちの「座席設定」を選択する。す
ると、ディスプレーには、図49に示すようなスプレッ
ドシート表示(グリッド表示とも言う)の画面が表示さ
れる。図49は、すでに座席が配置されたあとの状態で
ある。
【0164】本実施例では、図49に示したスプレッド
シートの各セルのうち、4桁の数字が入力されているセ
ルが一つのスタッフ用の座席に対応する。この4桁の数
字は、各座席に一台ずつ設置されているACD(Auto C
all Distributor)端末の番号である。ACDとは、あ
る一つの番号に掛かってきた外線電話を、対応可能な状
態にあるスタッフのACD端末に自動的に接続するため
のシステムである。ACDは通常サーバーを有してお
り、通話開始時刻、通話時間などを自動的に記録する機
能を備えている。なお、本実施例における座席は、特許
請求の範囲に記載した「勤務位置」の一例である。
【0165】本実施例では、一つの座席に一台のACD
端末を設置してあるので、各座席を一意的に特定する手
段としてこのACD番号を利用する。また、本実施例で
は、一つの座席には一名のスタッフがアサインされるの
が原則であるが、後述のように、まだ独り立ちできない
「BUDDY」スタッフについては、その後ろにスキルレベ
ルの高いスタッフが先生としてつくことになるので、そ
の場合は、一つの座席に二人のスタッフがアサインされ
る。BUDDYとは、自動車の運転にたとえると、必ず免許
所有者が同乗しなければならない仮免許段階の運転者に
相当する。本明細書ではBUDDYに似た概念として「新
人」という用語も用いるが、同じく自動車の運転にたと
えると、新人はいわば免許取り立ての若葉マークの運転
者に相当する。しかし、新人は、若葉マークではあって
もすでに独り立ちして電話受付業務を行うことができる
スタッフである。ただし、本実施例では、新人の隣に
は、困ったときなどに助けることができる世話役の座席
が必ずアサインされるようにしてある。
【0166】各座席を特定する方法は、ACD番号を利
用する以外にも、例えば座席に順番に番号を付与するな
ど種々の方法が可能である。また、各座席にアサインす
るスタッフの数も、本実施例のシステムを導入するそれ
ぞれの状況に応じて任意に変えることができる。
【0167】座席マスタの登録作業を行うオペレータ
は、1枚のスプレッドシート上で、フロアーの形状や広
さを考慮して、座席をどのように配置するかを思い描き
ながら、その座席の位置に対応するセルにその座席のA
CD番号を入力してゆく。図49では、例えば、A列と
B列で一つの島が形成され、D列とE列で一つの島が形
成され、これらの間のC列は通路となっている。このよ
うに、一枚のスプレッドシートが実際のフロアーのよう
に見立てられているので、座席マスタの登録作業を直感
的な操作で行うことができる。各セルの番号は簡単に消
去できるので、配置の修正作業は容易である。例えば、
ある座席のACD端末が故障して使えなくなったような
場合には、そのACD番号を図49のスプレッドシート
から消去しておけば、次の日の人員アサイン表からは、
その座席にはスタッフは配置されなくなる。
【0168】なお、本実施例のシステムでは、図49の
スプレッドシートにおいて、列が同一で、かつ行が一行
違う席を「隣の座席」と定義する。これは、本実施例の
システムを実際に適用した現場では、列が一列違う席は
互いにスタッフが向き合うような机の配置となってお
り、その間にはコンピュータ端末のディスプレーが置か
れるため、感覚的には隣と言えないためである。また、
次に説明する「ゾーンマスタ」で設定されるゾーンが異
なる場合は、たとえ物理的には隣り合う席でも、本実施
例では「隣の席」とはしない。すなわち、例えば後述の
友人チェックの処理で、あるスタッフとあるスタッフが
隣同士の席にならないように指定する場合でも、当該二
人のスタッフが配置されるゾーンが異なっていれば、物
理的に隣同士になることを排除しないようなアルゴリズ
ムとしてある。ただし、これらは本実施例を適用する特
定の場合においてその方が都合がよいからという理由に
よるものであり、本発明のシステムを適用する個々のシ
ステムの事情に応じて、任意に変更することができる。
【0169】(b)ゾーンマスタ 次に、ゾーンマスタについて説明する。「ゾーン」と
は、全体の座席をいくつかのグループに分けるときの一
つのまとまりであり、全体をどのようなゾーンに分ける
かを登録した情報がゾーンマスタである。一つのゾーン
にいくつの座席を含めるか、また、一つのゾーンの座席
の並びをどのようにするかなども、このゾーンマスタに
おいて自由に決めることができる。極端な例では、座席
マスタで登録したすべての座席を一つのゾーンとするこ
とや、一つの座席を一つのゾーンとすることも可能であ
る。
【0170】またゾーンマスタには、設定した各ゾーン
同士の優先順位、ならびに、各ゾーンの中でのそれぞれ
の座席の優先順位も登録する。ゾーンの優先順位とは、
本システムがスタッフを各座席にアサインする計算処理
を行うときに、優先順位の高いゾーンから先にアサイン
してゆくようにするものである。また、ゾーンの中での
座席の優先順位とは、例えばそのゾーンのインチャージ
の近くに新人スタッフをアサインするといったことを可
能とするために、指定する優先順位である。なお、「イ
ンチャージ」とは、本明細書では業務の運用に関して責
任を持つスタッフのことを指し、ここでは「責任者」と
もいう。
【0171】このようにゾーンを設定できるようにする
と、例えば特定のゾーンに新人スタッフだけを集めた
り、逆に新人スタッフが各ゾーンに均等に分散するよう
アサインしたり、各ゾーンごとに責任者を決めたり、ま
たゾーンごとに食事や休憩の時間を決めることによって
全員が食事や休憩に行って一時的にスタッフが不足する
といった状態が回避されるようにアサインすることがで
きる。また、例えば深夜勤務の場合などに、広いフロア
にスタッフが点在する状態でアサインされていると保安
上問題があるので、深夜勤務では特定のゾーンだけを使
うようにして保安上の問題を回避するなどといったよう
に、実際の業務に付随するさまざまな状況に柔軟に対応
することができる。
【0172】また、離れたところに存在する(物理的に
隣り合っていない)複数の座席をまとめて一つのゾーン
とすることも可能であり、このことを利用すると、例え
ばインチャージとして同じ時間帯(シフト)に勤務する
複数のスタッフを、各ゾーンに一つずつ設けられるイン
チャージ席(これらは当然離れたところに存在する)に
一人ずつアサインしたいような場合には、離れた場所に
あるこれらのインチャージ席全体を一つのゾーンに設定
し、インチャージスタッフのシフトコードだけをこのゾ
ーンに割り振るよう設定しておけば、座席アサイン計算
を実行させたときに、インチャージが必ずインチャージ
席に座るよう自動的に座席アサインしてくれる。
【0173】ゾーンマスタの登録を行う場合には、図4
8のマスタ登録のサブメニューのうちの「ゾーン設定」
を選択する。すると、ディスプレーには、図50に示す
ダイアログボックスが表示される。この例では、すで
に、「コード/優先順」の欄に、ゾーンのコード(例え
ば「A」、「B」など)とその優先順位(ここでは3桁
の数字としている)が、優先順位の高い順番でリストア
ップされている。
【0174】このリストに、新しいゾーンを追加し又は
更新する場合には、図50のダイアログボックスの「追
加」ボタン又は「更新」ボタンをクリックする。「更
新」ボタンをクリックすると、図51に示すようなダイ
アログボックスが表示される。ここで、「コード」(図
51の例では「C」)及び「優先順位」(図51の例で
は「3」)を入力し、さらにそのゾーンを表す「色」を
指定する。「色」を指定するときは、「色」と書いてあ
る部分の右側のボックスをクリックする。すると、図5
2に示す色選択ダイアログボックスが表示されるので、
この中から希望する色のボックスをクリックし、「O
K」ボタンをクリックする。
【0175】次に、設定したゾーンへの各座席の割り振
りを行う。この場合は、図50に示したダイアログボッ
クスのメニューから「座席の設定」を選択する。する
と、図53に示した画面が開く。これは、図49に示し
た座席マスタでの登録状況と類似しているが、図53の
スプレッドシートの右側には、登録された各ゾーンコー
ドと、そのゾーンについて指定された色が一覧表示され
る。
【0176】この図53のスプレッドシート上で各座席
についてゾーン分けするには、次のような操作を行う。
まず、図53のスプレッドシート上で、一つの同じゾー
ンに含めたい座席のセルをクリックして選択状態とし、
この状態でマウスを右クリックする。すると、図54に
示すように、すでに図50のダイアログボックスにリス
トアップされているゾーン(Aゾーン、ADゾーン、
…、LEゾーン)がポップアップ表示される。この中か
ら一つのゾーンを選択すると、選択状態とされたセルの
座席が、このゾーンに割り振られる。このようにして各
座席がそれぞれのゾーンに割り振られると、図53に示
したスプレッドシートの各セルのACD番号の文字が、
そのゾーンに指定されている色で表示される。つまり、
同じゾーンに属する座席のACD番号は同じ色で表示さ
れ、ゾーンが異なればACD番号の文字は異なる色で表
示される。また、スプレッドシートの横には、ゾーンに
ついて指定された色が一覧表示されているため、どの座
席がどこのゾーンに属しているかを一見して認識でき
る。既にゾーンに割り振られた座席を無効する場合に
は、図54に示したポップアップの中で「未配置へ」を
選択する。
【0177】最後に、各ゾーン内における座席の優先順
位を設定する。この場合は、図50の画面で、「座席優
先順位付け」ボタンをクリックすると、図55に示すダ
イアログボックスが表示される。図55の例では、ゾー
ンコードはAであり、このゾーンAには図に示すような
ACD番号で示される座席が割り振られていることが分
かる。この状態で、上からこのゾーンAの中の各座席に
優先順位を付けるには、優先順位を付けたい座席のAC
D番号をクリックし、その右側にある四つのボタン10
〜13のうちのどれかをクリックする。このうち一番上
のボタン10をクリックすると、その座席の優先順位は
先頭になる。その下のボタン11をクリックすると、そ
の座席の優先順位は一つ上がる。その下のボタン12を
クリックすると、その座席の優先順位は一つ下がる。そ
して、一番下のボタン13をクリックすると、その座席
の優先順位は最後になる。
【0178】(c)契約形態マスタ これは、座席のアサインには直接関係はなく、後述の1
ヶ月分のシフト表を読み込んだあとで一覧を見るときに
見やすくするため、その他必要に応じて利用するマスタ
である。後述のように、1ヶ月分のシフト表をコンピュ
ータに読み込ませたときに、オペレータは漏れがないか
どうかを目でチェックしなければいけないが、その場合
に、各スタッフが単純にアイウエオ順に並んでいると、
誰が抜けているかが分からない。このとき、契約形態ご
とに連続して表示させることができれば、各契約形態の
スタッフが何人いるかが分かっている場合には、抜けを
簡単にチェックできるという点で便利である。特に、契
約形態が多数ある場合には非常に有用である。例えば、
Aという契約形態の人数は20人のはずなのに、これら
を連続して表示させたところ19人しかいなかったとす
ると、1人抜けていることが容易に分かる。
【0179】契約形態を登録する場合は、図48に示す
サブメニューで「契約形態登録」ボタンをクリックす
る。すると図56に示す画面が開く。図56の画面で
は、既に登録されている契約形態のリストも合わせて表
示されており、左側に契約形態コード、右側に契約形態
名が示されている。ここで新たな契約形態を登録すると
きは「追加」ボタンをクリックする。すると図57に示
す画面が開くので、ここで必要事項を入力する。ここで
は、契約形態の「コード」は必須の入力項目で、4桁以
内で設定する。重複は認められず、重複したコードを入
力しようとすると警告が表示され、登録が拒否される。
また、契約形態名である「名称」は、全角10文字(半
角20文字)以内で入力する。「拘束時間」、「実労時
間」、「VDT中断」、「勤務日・備考」の各項目に入
力される情報は、座席の自動アサイン計算処理の終了後
にオペレータが手作業でスタッフの座席、シフト、休憩
時間などを変える際に、そのスタッフの契約内容を確認
するのに用いられる。「表示順」には1〜99までの数
値を入力する。これはシフト表における表示順に用いら
れるもので、必須の入力項目である。入力が済んだら、
最後に「OK」ボタンをクリックすることによって、当該
契約形態が新たな契約形態として登録される。なお、
「VDT中断」とは、短時間(例えば15分)の休憩を
指す。
【0180】契約形態は、契約形態コードを仲介とし
て、次に説明するスタッフマスタと関連づけられる。し
たがって、シフト表を読み込んだときに、スタッフマス
タに登録されていない人は座席にアサインされない。あ
るスタッフがアサインされていない場合に、それがスタ
ッフマスタに登録されていないからなのか、シフト表で
漏れたためなのかをチェックするのは難しい。そのよう
な場合に、この契約形態マスタを活用すると、そのよう
な場合の漏れを容易にチェックすることができる。
【0181】(d)グループマスタ これは、スタッフを何らかのグループにグループ分けし
たいときに、それぞれのグループを本システムに登録で
きるようにし、そしてこうして登録されたグループの情
報がグループマスタである。次に説明するスタッフマス
タに個々のスタッフを登録するときに、併せてグループ
分けすることができる。このグループマスタは、後述の
「デイリージョブ設定」の中の「座席固定」で、特定の
グループにデイリージョブを自動的にアサインさせる時
に使用される。
【0182】グループを登録する場合は、図48のサブ
メニューの中の「グループマスタ」ボタンをクリックす
る。すると図58に示す画面が開く。図58の画面で
は、既に登録されているグループのリストも合わせて表
示されている。左側にグループコード、右側にグループ
名が表示されている。ここで新たなグループを登録する
ときは「追加」ボタンをクリックする。すると図59に
示す画面が開くので、必要事項を入力する。ここでは
「コード」は、必須の入力項目であり、4文字以内で入
力する。「名称」は、全角10文字(半角20文字)以
内で入力する。
【0183】グループマスタは、例えばある契約形態の
スタッフが60人いたとして、それを更に小さいグルー
プに分けてミーティングを行う、といったような場合な
どに有用である。座席とは別に、勤務形態で誰の下につ
いているか、といったことを登録するする場合にも、こ
のグループマスタを利用することができる。例えばブリ
ーフィングを実施するときに、ゾーンごとにまとめて実
施しようとしても、一つのゾーンには色々な契約形態の
人が入っているので、連絡事項が一致しないことが多い
が、連絡事項が共通するスタッフを同一のグループにグ
ループ分けしておけば、これらのスタッフだけを集めて
ブリーフィングを行うようにすれば、連絡事項の伝達も
効率よく行うことができる。
【0184】(e)スタッフマスタ スタッフマスタは、配置される個々の人員(スタッフ)
に関する基本的な情報を登録して得られるもので、各マ
スタの中でも最も基本的なものであり、ここで説明する
もののほとんどは、特許請求の範囲に記載した「人員
と、当該人員の勤務態様に関する情報」の一例である。
【0185】スタッフマスタの登録を行う場合には、図
48のマスタ登録のサブメニューのうちの「スタッフ登
録」を選択する。すると、ディスプレーには、図60に
示すダイアログボックスが表示される。ここで、スタッ
フの更新又は削除を行う場合は、図61に示すように、
「契約形態」のコンボボックスのプルダウンリストを表
示させ、この中から該当する契約形態を選択すると、そ
の契約形態に該当するスタッフが表示される。また、リ
ストの一番上の「All:全て」を選択すると、図62に
示すように、すべてのスタッフが表示される。この中か
ら更新あるいは削除を行いたいスタッフを選択する。ま
た、新たなスタッフの追加を行う場合又は更新するスタ
ッフを選択した場合には、図63に示す画面が開く。更
新の場合には図63のように既に入力されているデータ
が表示されるが、追加の場合にはまだ何も入力されてい
ない状態である。
【0186】図63の各項目のうち、「コード」は、個
々のスタッフを特定するものであり、例えば社員番号な
どをここでいう「コード」として用いることができる。
このコードは必須の入力項目であって、重複は認められ
ない。重複したコードを入力しようとすると警告が表示
され、登録が拒否される。本実施例では、コードを6桁
の英数字としている。「名前」は個々のスタッフの氏名
であり、ここでは全角10文字(半角20文字)以内と
する。なお、コードによって各スタッフは一意的に特定
されるが、実務上の利便性を考慮し、「名前」項目も必
須の入力項目としてある。
【0187】「契約形態」は、このスタッフの契約形態
を指定する項目であり、前述の契約形態マスタで使用し
た契約形態のコードと契約形態名で選択する。「契約形
態」は、特許請求の範囲に記載した「人員の勤務態様に
関する情報」の一例である。ここで選択された契約形態
は、シフト表において当日勤務するスタッフを表示する
ときの表示順を決めるのに使用される。
【0188】「入社日」は、文字通りそのスタッフが入
社した日付である。本実施例のシステムでは、入社年月
日が同一のスタッフは隣同士の席にアサインされないよ
うにするアルゴリズムを採用しているが、そのようにす
るために、ここで入力された入社日の情報が利用され
る。ここを上手く使うと、例えば実際には入社日が同一
年月日でない複数のスタッフを隣同士に並ばせたくない
何らかの事情がある場合には、当該各スタッフの入社日
のところを同じ日付にしておくと、自動的にこれらのス
タッフの座席が隣り合わないようにアサインすることが
可能となる。
【0189】「グループ」は、このスタッフが所属する
グループを設定するものである。グループの選択には、
前述のグループマスタで使用した各グループのコードが
使用される。これは、前述のように、例えば契約形態が
同じスタッフの人数が多い場合には、それを更にいくつ
かのグループに分けておくことが実際の業務を行う上で
望ましい場合があるため、必要に応じてここを指定する
ことにより、スタッフを柔軟にグループ分けすることが
できる。
【0190】図63のダイアログボックスの中程の「世
話役(BUDDY担当可)」、「世話役(BUDDY担当不
可)」、「新人」、「BUDDY」の四つは、そのスタッフ
のスキルのレベルを指定するもので、どれも指定しない
場合は一般のスタッフとなる。なお、このスキルレベル
は、特許請求の範囲に記載した「職能レベル」の一例で
ある。
【0191】ここで、「BUDDY」とは、教室での教育が
終了し、後述の「BUDDY担当」のスタッフが先生として
ついてくれれば一人で仕事をることができるレベルに達
したスタッフのことを指し、前述の四つの区分の中では
もっともスキルレベルは低い。「新人」とは、BUDDYの
期間が終了し、先生なしで一人で電話予約業務が行える
ようになったばかりのスタッフのことを指す。「BUDDY
担当」とは、BUDDYに対して、例えば一週間くらいのあ
いだ同じ座席に居て(例えばBUDDYの座席の後にすわる
などして)間違いがあったときなどにアドバイスする役
職である。したがって、BUDDY担当になった場合は、BUD
DYと同じ座席にアサインされる。「世話役」とは、自分
の座席の隣にアサインされる新人を指導する立場の役職
である。したがって、新人スタッフは、世話役の隣の座
席にアサインされるようプログラムされている。世話役
にもBUDDY担当にもなれるこの「世話役(BUDDY担当
可)」は、最もスキルレベルの高いスタッフである。
【0192】「世話役(BUDDY担当可)」を指定する
と、自動アサイン計算を行う際に、BUDDYと同一座席
(後にすわるなどするからである)、新人の隣の座席に
優先的にアサインされる。「世話役(BUDDY担当不
可)」を指定すると、自動アサイン計算時に、新人の隣
の座席に優先的にアサインされるが、BUDDYの席と同一
座席にはならない。「新人」は、自動アサイン計算時
に、前述のゾーン登録で順位付けを行った優先順位の高
い座席から順番にアサインされる。「BUDDY」は、自動
アサイン対象外であり、後述の先取り処理のBUDDY分と
して登録される。先取り処理で世話役がアサインされて
いない場合、自動アサイン計算では、「世話役(BUDDY
担当可)」のスタッフはBUDDYと同じ座席に一人ずつ優
先的にアサインされる。そして「一般(無指定)」は、
上述のように一般のスタッフで、自動アサインでは、新
人をその座席にアサインしない場合は、新人が隣にいな
い(世話役を配置する必要がない)場合に優先的に座席
がアサインされる。
【0193】「スキルレベル」は、スタッフのスキルを
数字で指定するもので、ここでは0〜99の範囲で指定
できる。この上の「世話役(BUDDY担当可)」、「世話
役(BUDDY担当不可)」、「新人」、「BUDDY」という四
つの項目が指定されるとそちらが優先されるが、例えば
同じ「世話役(BUDDY担当不可)」でも、この「スキル
レベル」で指定する数字を変えると、スキルの指定に差
が出ることになる。無指定の場合は自動的に0レベルと
なる。このスキルレベルが高いほど(数字が大きいほ
ど)自動アサイン時のアサイン優先順位が下がるので、
責任者席から近い座席をゾーンマスタで優先順位を高く
しておくと、スキルレベルの低いスタッフを責任者席に
近い座席にアサインし、スキルレベルの高いスタッフを
責任者席から遠い座席にアサインするという、コールセ
ンター全体の業務を効率的に行うという観点から望まし
い形態にアサインすることができる。
【0194】「備考」項目には、何らかの意味で業務に
必要な情報や連絡事項を入力するが、必須の入力項目で
はない。
【0195】図63の各項目の入力が終了したら、「O
K」ボタンをクリックする。すると、そのスタッフが更
新された内容で登録される。一方、「Cancel」ボタンを
クリックするかESCキーを押すと、入力した内容は破
棄される。
【0196】(f)シフトマスタ シフトの種類を登録して蓄積される情報がシフトマスタ
である。ここでは、シフトを表すコード体系は、シフト
とジョブとを併せて(シフト+ジョブで)1シフトとす
るよう設計されている。ここで言うジョブとは、インチ
ャージなどの役職のことである。これは、同じシフトの
スタッフでも、特別に役割を持つスタッフを区別するた
めである。例えば、「E0」というシフトコード(5:
10から13:50までの勤務時間シフトを表すシフト
コード)で表されるスタッフの中で、インチャージを特
別の座席(インチャージ席)に座らせたいときは、その
インチャージのスタッフを「E0i」とする。こうする
と、E0シフトであるが、一人だけ席が違うことが一見
して分かるので便利である。
【0197】シフト登録を行うには、図48のマスタ登
録のサブメニューのうちの「シフト登録」を選択する。
すると、ディスプレーには、図64に示すダイアログボ
ックスが現れ、既に登録されているシフトのシフトコー
ド(左側)とシフト名(右側)がリスト表示される。こ
の例では便宜上、左側のシフトコードと右側のシフト名
を同一にしているが、実際このシステムを運用する際
は、右側には、左側のシフトコードの内容が分かるよう
な名称とするのが望ましい。ここの例では、各スタッフ
について、出勤してくる時間や帰る時間が区々であるた
め、非常に多くのシフトが登録されている。このように
非常にシフトの種類が多い場合に手作業でスタッフを各
座席にアサインする作業は非常に大変であるが、本実施
例では、予めすべてのシフトを登録しておいて、後述の
ようにコンピュータに自動的にアサイン計算を実行させ
る。
【0198】シフトの「追加」、「更新」、「コードを
変えて登録」を行う場合は、図64のデイアログボック
スの右側に示したそれぞれのボタンを押す。すると、図
65に示す画面が現れる。ここで、「コード」は半角7
桁以内、「名称」は全角10文字(半角20文字)以内
で入力する。「勤務時間」は必須の入力項目で、hhmm
(時分)の形式で入力する。
【0199】「時間帯」のD帯、E帯、S帯は、それぞ
れ、座席を使用する時間帯を指定する項目である。この
項目は、基本的に全体を二交代制にしていることから必
要となる項目である。このうちD帯とは、これをチェッ
クすると、このシフトのスタッフが配置されたときにそ
の配置された座席を一日中その一人のスタッフが占有す
る(二交代ではない)ことを指定したことになる。E帯
(早帯)とは、これをチェックすると、このシフトのス
タッフが配置されたときにその配置された座席を二交代
のうちの前半にそのスタッフが座ることを指定したこと
になる。S帯(遅帯)とは、これをチェックすると、こ
のシフトのスタッフが配置されたときにその配置された
座席を二交代のうちの後半にそのスタッフが座ること、
すなわち先に誰か別のスタッフが座っていて、そのスタ
ッフの業務が終了してから座るシフトであることを指定
したことになる。
【0200】なお、ここで「時間帯」を指定するように
しているのは、前述のように本実施例のシステムを適用
している特定の電話受付作業が二交代制という特殊な業
務形態だからであり、そうでない一般の場合には、上記
の「勤務時間」だけでシフトを指定するようアルゴリズ
ムを設計にすることもできる。
【0201】「分割シフト」項目の「E帯インチャージ
時終了時間」とは、E帯とS帯で座席の場所が変わるシ
フトで、E帯を自動アサインさせたい場合に設定する。
この設定を行うシフトでは時間帯のところでD帯を指定
する。この場合、自動アサイン時に、E帯分は自動アサ
インされ、S帯分は未アサインリストに表示される。
「S帯インチャージ時開始時間」とは、E帯とS帯で座
席の場所が変わるシフトでS帯を自動アサインさせたい
場合に設定する。この設定を行うシフトでは時間帯のと
ころでD帯を指定する。この場合、自動アサイン時に、
S帯分は自動アサインされ、E帯分は未アサインリスト
に表示される。すなわち、インチャージを行う時間帯の
み自動的にアサインさせ、その他は手作業で空いている
席にアサインさせる場合である。
【0202】「昼休み」項目では、このシフトの昼休み
の時間を設定する。ここで優先1〜優先3の三つの時間
帯を設けたのは、必要な出面数を確保するために、いつ
でも決まった時間帯あるいは希望の時間帯に昼休みをと
ることができるとは限らず、スタッフの出勤状況に応じ
て昼休みをずらす必要があるためである。なお、本明細
書では、「出面」とは、ある日のある長さの時間(ここ
では30分間)において、ほぼこれくらいのスタッフは
必要となるだろうというスタッフの基準人数を指してい
る。本実施例のシステムは、この優先1〜優先3で指定
した情報に基づいて、必要な出面数を確保しつつ座席ア
サインを行うようプログラムしてある。すなわち、図6
5に示したように優先順位を付けた三つの時間帯を指定
してあると、座席アサイン計算を行う際に、まず、優先
1の時間で座席アサインを試み、出勤するスタッフが出
面数を下回るなどの不都合がある場合は、優先2、優先
3の順に再度座席アサイン計算を実行するようになって
いる。
【0203】「VDT中断」項目は、短時間の休憩時間
の指定である。これも「昼休み」項目と同様に、全員が
一度に作業を中断しないよう、優先1〜3を指定する。
「昼休み」項目及び「VDT中断」項目は、時間ごとに
指定された基準スタッフ数を下回らないように、優先1
〜3をシステムが自動的に計算してアサインする。なお
本明細書では、「昼休み」と「VDT中断」を併せて
「休憩」とも呼ぶ。
【0204】(g)デイリージョブマスタ デイリージョブマスタの機能は本来の座席アサインと直
接の関係はないが、あると非常に便利な付帯的機能であ
る。デイリージョブとは、現場で行っている、例えば掃
除当番、テープ当番(電話で流す運航情報のテープへの
吹き込みを行う)、飲み物当番(コーヒーなどの飲み物
の準備や後片づけ)など、実際に数多くのスタッフが職
場で仕事をするときに必要となる、本来の電話予約受付
業務以外の日常的な作業を指す。
【0205】本実施例では、毎日、スタッフが職場に来
たときに後述の座席アサイン表を渡し、スタッフはこれ
を見てその日に自分がアサインされている座席を確認す
る。その際に、座席によって各人が担当するデイリージ
ョブも併せてこの座席表に書き込んで、座席アサインの
他にデイリージョブアサイン表も兼ねるようにすると、
自分の担当するデイリージョブも確認できるので、非常
に便利である。こういったデイリージョブを登録したも
のが、デイリージョブマスタである。
【0206】デイリージョブの登録を行う場合には、図
48のマスタ登録のサブメニューのうちの「デイリージ
ョブ登録」を選択する。すると、ディスプレーには、図
66に示すダイアログボックスが表示される。図66に
は、既に登録されているデイリージョブのリストが示さ
れている。この画面右側の「追加」又は「更新」をクリ
ックすることによって、図67に示すダイアログボック
スが現れる。
【0207】図67のダイアログボックスにおいて、
「コード」は登録しようとするデイリージョブに付与す
る4桁以内のコード番号で、必須の入力項目である。
「名称」には全角10文字(半角20文字)以内で入力
する。「時間帯」は、そのデイリージョブを実行する時
間帯と、それがE帯に属するのかS帯に属するのかを指
定する。「座席固定」は、座席の自動アサイン計算時に
自動的に固定座席にデイリージョブを配置する場合に入
力する項目である。この固定座席にアサインされたスタ
ッフは、自動的にこのデイリージョブを担当するという
ルールをスタッフ間で決めておく。その場合、「ACD
番号」には、デイリージョブを配置する座席のACD番
号を入力する。ここを入力しない場合は、次の「グルー
プ番号」とスキルレベルを指定しても、そのことは座席
アサイン結果に反映されない。「グループ番号」では、
デイリージョブを配置するスタッフのグループコードを
指定する。これは、座席固定にする場合に特定のグルー
プに所属しているスタッフを対象とする必要がある場合
に設定しておく。「スキルレベル」では、デイリージョ
ブを配置するスタッフに必要なスキルレベルを指定す
る。最後の「有効曜日」は、このデイリージョブが有効
となる曜日を指定する。有効としたい曜日にチェックマ
ークを付けることによって指定する。曜日は複数選択可
能である。
【0208】入力が完了したら、「OK」ボタンをクリッ
クするか、Enterキーを押すことによってデータを保存
し、元の画面に戻る。入力したものを破棄する場合を
「Cancel」ボタンをクリックするか、Escキーを押すこ
とによって修正が破棄され、元の画面に戻る。
【0209】本実施例では、このようにして登録された
デイリージョブを、ある決まった座席に座った人が担当
することに決めておけば、座席アサインとデイリージョ
ブのアサインとを同時に行うことができるので効率的で
ある。その他の方法として、後述のように、管理者など
がデイリージョブごとにその日に出勤するスタッフのう
ちの適切な人に割り当てることもできる。このようにし
て登録されたデイリージョブは、本実施例では後述のよ
うに、管理者が、出来上がった座席アサイン表の上でタ
スクバーからデイリージョブを選択すると、デイリージ
ョブマスタに登録されているデイリージョブのプルダウ
ンメニューが現れ、その中から希望のデイリージョブを
選び、所望の座席にドラッグ&ドロップすることによっ
て、自動的にその座席に座った人にそのデイリージョブ
を割り当てたことになる。
【0210】以上が、マスタ登録に関する説明である。
【0211】(2)コンバート コンバートとは、月次のシフト表を、本実施例の人員ア
サインシステムで利用するシフト表の形態に変換する処
理である。本実施例の説明で例として挙げている電話予
約受付業務を行う各コールセンター(複数存在する)で
は、誰がいつ出勤してくるかを分かり易く表形式にした
シフト表というものを毎月作成している。本実施例のシ
ステムでは、このシフト表の電子データをインポートし
て、日々の座席アサイン作業を自動的に行うことによ
り、シフト表をより有効に利用しようとするものであ
る。しかしながらその前に、ここで説明するこのコンバ
ート処理が必要となる。
【0212】コンバート処理が必要となる背景には、こ
の同じシステムを複数のコールセンターで共通に利用で
きれば効率的だが、各コールセンターごとにこれまで使
い続けてきたシフト表(ここではマイクロソフト社のEx
cel(商標)で作られていることを前提とする)の書式
があって、各コールセンターでは使い慣れたそれぞれの
シフト表をそのまま使い続けたいという要請があったこ
とによる。本システムを導入する以前から、月次のシフ
ト表は、各コールセンターごとにExcelを用いて作って
いたが、その書式は統一されていなかった。このため、
各コールセンターで使っている書式の最大公約数的な形
式をルールとして決め、これに合致しているシフト表を
インポートして、本システム専用のスプレッド形式の書
式に変換する処理が、ここでいうコンバート処理であ
る。
【0213】前述の「ルール」とは、一例として、スタ
ッフのコード名をExcelのスプレッドシートの列に、ス
タッフの名前をこれとは異なる列の対応するコード名の
横に、そして、31日まで(一月分)の日付をスプレッ
ドシートの行に、それぞれ設定した表になっていること
である。
【0214】コンバート処理を行う場合には、図47に
示したメニュー選択の画面で、「コンバート」を選択す
る。すると図68の画面が現れる。この画面上では、ま
ず「対象年月」の欄にコンバートしようとするシフト表
の月を指定する。その下の「インポートファイル名」
は、コンバートしようとするシフト表のファイル名を指
定するものである。例えば「ファイル1」のボタンをク
リックすると、図69に示すポップアップ画面が現れ、
ここでファイル1としてコンバートしようとするExcel
のファイルを指定する。ファイル2、ファイル3につい
ても同様である。三つのファイルを指定すると、図70
に示すように、「ファイル1」、「ファイル2」、「フ
ァイル3」のそれぞれのボタンの右側に各シフト表のフ
ァイルのパス名が表示される。
【0215】ここで、「ファイル1」、「ファイル
2」、「ファイル3」という三つのファイルがあるの
は、契約形態ごとに三種類のシフト表を作っていたとい
う特殊な事情に対応するためのものであり、シフト表が
元々一種類だけであれば、ファイルの数も一つとなる。
【0216】その下の「ファイル1仕様」、「ファイル
2仕様」、「ファイル3仕様」では、各シフト表におい
てスタッフの名前が開始される行を指定し、コード名が
入力されている列を指定し、名前が入力されている列を
指定し、そしてシフトの内容が始まる列を指定する。こ
のような指定が必要となるのは、前述のように、各コー
ルセンターごとにシフト表の形式が統一されていないか
らである。このファイル1仕様、ファイル2仕様、ファ
イル3仕様については、一度入力すると、システムがそ
れを記憶しておき、次回も同じであれば入力を省くこと
ができる。
【0217】コンバート処理を開始すると、前述のルー
ルに則っていることを条件にどのような形式のシフト表
も、予め規定されている一枚のスプレッドシートに変換
される。上で述べた三種類のシフト表を用いる場合も、
一枚のスプレッドシートに変換される。
【0218】(3)シフト表入力 「シフト表入力」処理とは、コンバート処理によってコ
ンバートされた統一書式のシフト表のファイル(スプレ
ッドシート形式のファイル)を本実施例の人員アサイン
システムにインポートする処理である。この処理を実行
するには、図47に示したメニュー選択の画面で、「シ
フト表入力」を選択する。すると図71の画面が現れ
る。この画面では、デフォルトで現在の年月が表示され
ている。ここで、インポートや修正を行おうとする年月
を選択する。これは、各シフト表のファイルが、年月を
名前とするフォルダの中に格納されているからである。
ここで「OK」ボタンをクリックすると、指定した年月で
まだ一度もインポート処理を行っていない場合には、図
72に示す画面が現れる。
【0219】図72の画面は、前述のコンバート処理に
よって統一された書式に変換したあとのシフト表と同じ
スプレッドシートの画面である。ここでは左側二列の固
定列に、スタッフコードとスタッフの氏名が表示され
る。スタッフの表示順は、契約形態マスタの優先順と、
スタッフコードに基づいている。契約形態が設定されて
いないスタッフは、契約形態の設定されているスタッフ
より上の位置に表示される。図72では分かりにくい
が、契約形態が変わるごとに緑色の行で契約形態のコー
ドと契約形態名が表示されている。
【0220】次にこのシフト表のインポート処理を行
う。図72に示したスプレッドシートのメニューからイ
ンポートを選択すると、図73に示すようなファイルを
開くダイアログボックスが表示される。ここで前述のコ
ンバート処理でコンバートされたファイルを選択してイ
ンポート処理を実行する。インポート処理が開始される
と、スタッフマスタを参照して、それぞれのシフト表に
出てくるスタッフがスタッフマスタに登録されているか
どうかを調べ、スタッフマスタに登録されていないスタ
ッフについては無視しながらインポート処理を実行す
る。したがって、例えばコールセンターによっては座席
アサインの対象者以外の者をシフト表に載せていたとし
ても、システムはそれを無視する。また、コールセンタ
ーによっては途中の行にそれまでの人数の小計を計算し
た結果を入れているような場合もあるが、システムはそ
のような行も無視する。したがって、オペレータがスプ
レッドシート上で一々これらを削除するなどしてシフト
表を作り直すという手間を省くことができ、便利であ
る。コンバートされたシフト表は、所定のフォルダに所
定のファイル名が付されて格納される。
【0221】インポート処理が終了すると、図74の画
面が現れる。これは、座席アサインに関係のない例えば
役職を持っている人や座席が常に一定の場所に決まって
いる人(これらの人も、いつ出勤しているかを知る必要
があるので、シフト表には載っている)を省いた状態
の、座席アサイン用のシフト表とでも呼ぶべきものであ
る。このシフト表を見てシフトコードと照らし合わせる
と、座席アサインの対象となるどのスタッフが、いつど
のような勤務形態で出勤するかが分かる。ただし、この
シフト表では、休日を表すH、年休を表すALや、ビジ
ネストリップを表すBTなどといったシフトコード省く
ようにしてある。なぜなら、そのスタッフが出勤しない
日には、そのスタッフを座席アサインの対象とする必要
がないからである。また、シフトマスターに登録されて
いないシフトコードは、座席アサインには必要ないので
ブランクとされる。
【0222】仮に、各コールセンターにおいてシフト表
の書式が完全に統一されていて、最初から、次に説明す
るシフト表の書式になっていれば、ここで説明したコン
バート処理は必要なく、最初から統一された書式のシフ
ト表をインポートするものとしてシステムのアルゴリズ
ムを設計すればよい。また、もし、シフト表を別途作成
していない場合には、コンバート処理を行わないで、図
72の真っさらな(何も記入されていない)画面に各自
のシフトコードを入力してもよい。
【0223】図74に示した座席アサイン用のシフト表
は、この表の上で手作業で修正、追加、削除を行うこと
もできる。また、月の半ばでシフトが変更になった場合
は、座席アサインの前に、ここでシフトコードを修正し
ておく。こうして得られた座席アサイン用のシフト表
は、所定のフォルダ内に格納しておく。自動座席アサイ
ン計算処理を開始すると、後述のように、システムはこ
のように格納された座席アサイン用のシフト表から、一
日分を切り出してその日の座席アサイン処理を実行す
る。
【0224】(4)先取り処理 この処理は、オペレータが必要に応じて日々行う座席ア
サインに関連する作業である。「先取り処理」とは、何
らかの理由により、あるスタッフを特定の座席に座らせ
たいといった事情がある場合に、システムに自動的にア
サイン計算を行わせる前にそのことを事前に設定する処
理である。この先取り処理によってあるスタッフの座席
を指定すると、自動アサイン計算を行なっても、先取り
処理で指定された座席にアサインされたスタッフは移動
しない。このような先取り処理を行いたい場合の例とし
ては、あるスタッフを特定のインチャージ席の前の座席
にアサインしたい場合や、前述の特定のBUDDYを一つの
ゾーンにまとめて座らせたい場合などがある。また前述
のようにインチャージ(責任者)として同じ時間帯(シ
フト)に勤務する複数のスタッフを、各ゾーンのインチ
ャージ席(これらは当然離れたところに存在する)に一
人ずつアサインしたいよう場合には、前述のようにイン
チャージ席だけからなるゾーンを設定する方法の他に、
この先取り処理を利用することもできる。
【0225】先取り処理を実行するには、図47に示し
たメニュー選択の画面で、「先取り処理」を選択する。
すると図75に示す、座席アサインシートのテンプレー
ト画面が現れる。この画面には、まだ何も入っていない
ブランクの状態の座席の配置と、「日付の指定」ダイア
ログボックスが表示されている。この座席の配置は、前
述の座席マスタに登録されている情報に基づいて構成さ
れている。「日付の指定」のダイアログボックスでは、
先取り処理を行う日付を設定し、「OK」ボタンをクリッ
クする。すると、図76に示すような、座席の配置とス
タッフのリストを示す画面が現れる。
【0226】ここで、各座席の形式について簡単に説明
する。各座席は、図77に示すように、大きく分けて三
つの部分から構成される。このうち、符号20で示す部
分にはACD番号が、ゾーンマスタで設定した色を用い
て表示される。符号21は、E帯の時間帯にアサインす
る座席の情報(スタッフの名前、シフトコード、勤務時
間)が表示される部分であり、符号22は、S帯の時間
帯にアサインする座席の情報が表示される部分である。
【0227】図76に示す画面上で、スクリーン下のタ
スクバーの「シフト表」をクリックすると、シフト表の
中からその日に出勤するスタッフが切り出されて一覧表
示される。この一覧には、スタッフマスタに登録されて
いる各スタッフのスタッフコード、シフトコード、スタ
ッフの名前が、出勤時間帯などと共に表示される。オペ
レータは、この一覧の中から座席を前もってアサインし
たいスタッフを選択し、そのスタッフを希望する座席に
ドラッグ&ドロップする。するとその座席の部分には、
図77に関連して説明した内容が表示される。このよう
な操作を必要な分だけ行い、その内容を保存することに
よって、この先取り処理の内容が確定する。このような
グラフィックを利用した簡単な操作によって、特定のス
タッフの座席を自動アサイン計算の前に決めることがで
きる。
【0228】また、タスクバーの「未配置BUDDYリス
ト」に「BUDDY」スタッフがいる場合は、同じくここで
座席をアサインするようにする。「BUDDY」スタッフの
場合、一つの席に「BUDDY」スタッフ(生徒)と「世話
役BUDDY可」スタッフ(先生)がアサインされる関係
で、メニューバー表示中のBUDDY表示モードで「BUDDY」
スタッフのアサイン状態を表示させてみる。こうして自
動アサイン計算を行うと、「世話役BUDDY可」スタッフ
の中からスキルの高い順に先生が選ばれ、「BUDDY」と
同じ席に一人一人自動的にアサインされ、生徒と先生の
組み合わせが自動的に作成されるようにプログラムされ
ている。
【0229】図78は、先取り処理において、ドラッグ
&ドロップによって処理できる操作のうちの一部のみを
示している。
【0230】(5)プラン設定 これは、自動アサイン処理のロジックに関連する処理で
ある。前述のように、ゾーンには優先順位が定められて
おり、各ゾーン内の座席にも優先順位が決められてい
る。このプラン設定処理は、特定のゾーンにどういうシ
フトコードをどういう優先順位で指定してゆくかを設定
する処理であり、どこのゾーンにどういうシフトを配置
するかを予めパターンで登録する。例えば土曜日に出勤
するスタッフの数が平日の半分くらいだとすると、スタ
ッフを特定のゾーンに集めるように座席アサインを行う
のが望ましい場合がある。また、繁忙期とそれほど忙し
くない時期とで、ゾーンへの配置の仕方が異なる場合も
ある。また、キャンペーン期間など特別なイベントがあ
る場合には航空券の予約の問い合わせが多くなる傾向が
あることが過去の経験から分かっている。そこで、各ゾ
ーンにどういうシフトを入れるかを、予めパターンにし
て登録する処理が、プラン設定処理である。
【0231】登録したプランを具体的に利用する場合
は、例えば、明日の座席アサインを行うという場合に
「明日は平日だから平日用のアサインパターンを使お
う」というような形態で利用する。
【0232】図47に示したメインメニューから「プラ
ン設定」ボタンをクリックすると、図79に示す画面が
現れる。ここでは、「COPYTEST:テスト」など六つのパ
ターンが既に登録されている。このうち「:」の左側の
「COPYTEST」はアサインプランコード、右側の「テス
ト」はアサインプラン名である。図79の画面で3番目
の「SAMPLE:サンプル」を選択すると、図80に示す画
面が現れる。これは、「SAMPLE:サンプル」というアサ
インパターンのAゾーンについての情報を示している。
ここで、「ゾーン」の部分には、コード名がゾーンマス
タで設定した色で表示される。ここで、「次頁」ボタン
をクリックするとBゾーンに移行する。あとは、「前
頁」ボタンと「次頁」ボタンをクリックすることによっ
て、前後のゾーンに移行することができる。
【0233】図80のAゾーンでは座席数が11となっ
ているが、これは座席マスタにAというゾーンを登録し
たときに、このゾーンに含められた座席の数である。そ
の下のシフトコードの部分には「L0,L9,E0,L
2,E1,G,M,C1,C2」という9個のシフトコ
ードが優先順位順に列挙されている。ここでは、最も左
側のL0がもっとも優先順位が高く、右側へゆくほど優
先順位は低くなる。
【0234】これは次のことを意味している。前述のよ
うに、各ゾーンの座席には、前述のように優先順位が設
定されている。その最も優先順位の高い座席には、ここ
で最も優先順位の高いL0というシフトコードのシフト
がアサインされる。そして、このゾーンにアサインされ
ることになっているL0というシフトの人数が例えば4
人だとすると、座席の優先順位の4番目まではこのL0
というシフトがアサインされる。そして5番目に優先順
位の高い座席には、次に優先順位の高いL9というシフ
トコードのシフトが、その人数分だけ優先順位の高い順
番に座席にアサインされる。以下同様である。このよう
に、ここでシフトコードが優先順位順に列挙すること
は、特許請求の範囲において記載した「勤務態様の優先
順位を入力する」ことの一例である。
【0235】このようになっているため、早帯シフトの
時間帯及び遅帯シフトの時間帯において、スタッフを保
安上部屋の中心付近のゾーンに集めたい場合には、中心
付近のゾーンに早帯シフトと最終シフトのシフトコード
を最優先となるようにしておけばよい。また、インチャ
ージ席を一つのゾーンにして前述の「E0i」のように
インチャージと分かっているシフト+ジョブコードを指
定することにより、インチャージ数名をインチャージ席
数席に自動的にアサインさせることもできる。すなわ
ち、ここで、オペレータの行いたい座席アサインがルー
ルとして目に見え、かつ、容易に変更することができ
る。また、ここの指定の仕方如何で、例えばシフトコー
ドと座席の数を考慮しないと、未アサインのスタッフが
生じることになる。
【0236】(6)出面入力 「出面」数とは、前述のように、ある日のある長さの時
間(ここでは30分間)において、ほぼこれくらいのス
タッフが必要となるだろうというスタッフの基準人数を
指しており、特許請求の範囲に記載した基準人員数の一
例である。
【0237】本システムには、日々の出面を自動的に又
は手作業で入力する手段が設けられている。ここで入力
された出面データは、休憩時間/昼食時間として三つの
候補が用意されているなかで、必要出面を下回ることが
ないよう各スタッフにどの休憩時間/昼食時間をアサイ
ンするかを決めるために利用される。
【0238】労働基準法等により、電話予約受付業務を
行う事業所は、各スタッフに所定時間につき一定時間の
休憩を取らせることが義務づけられている。この場合、
多数のスタッフが一度に休憩を取ってしまうと、一時的
にスタッフが不足し、外部から電話を掛けてくる潜在的
な顧客にしてみるとずっと話し中の状態が続くことにな
り、顧客からクレームがつく要因の一つとなる。このた
め、座席のアサインをうまく行っても、各スタッフへの
休憩時間の割り当て方が不適当だと、やはり円滑な電話
予約受付業務を行うことはできない。そのため出勤して
くる各スタッフに休憩時間を適切に割り振ることが重要
となり、この休憩時間の自動割り振りのアルゴリズムに
必要な情報として、ここで入力する「出面」数を利用す
る。
【0239】出面入力処理を行う場合には、図47に示
したメインメニューから「出面入力」ボタンをクリック
する。すると図81に示す画面が現れる。ここでは、す
でに入力されている出面がリスト表示されている。ここ
で、一番上の「20010101:20010101
出面」のうち、左側の「20010101」は出面コー
ド、左側の「20010101 出面」は出面名であ
り、これは2001年1月1日の出面であることを示し
ている。このリストの上から4番目の出面を選択して
「追加」又は「更新」ボタンをクリックすると、図82
に示す画面が表示される。これは、2001年1月4日
に30分ごとの時間帯の出面数が、すでにこのように設
定されていることを示している。
【0240】出面数は、例えば、過去の同じ時期にどれ
だけの仕事量があり、それをこなすために何人のスタッ
フが必要だったかという統計データを基に決定する。た
だし、この出面数はあくまでの予測値であるため、結果
的には忙しかったにもかかわらず出面数は少なめになっ
ていたり、逆に比較的ひまだったのに多めの出面数にな
っていたということもある。したがって例えばプラスマ
イナス10パーセント程度の誤差(例えば100人のス
タッフがいた場合にプラスマイナス10人程度の誤差)
は許容範囲である。こうして決定された出面数は、オペ
レータが手作業で入力することもできるし、Excelなど
で表として蓄積されたデータがある場合には、これをイ
ンポートすることもできる。インポートする場合には、
図81の画面の「インポート」メニューを選択する。す
ると、図83に示す画面が現れ、インポートしようとす
るファイルを指定する。
【0241】続いて、登録した各種マスタの情報や、プ
ラン設定や先取り処理で設定された情報に基づいて行
う、日々のスタッフの座席アサイン計算について説明す
る。
【0242】(7)アサイン計算 アサイン計算処理を実行する場合には、図47に示した
メニュー選択の画面で、「アサイン計算」ボタンをクリ
ックする。「アサイン計算」ボタンをクリックすると、
図84に示すダイアログボックスが現れる。
【0243】図84の「計算日」の項目は、アサイン計
算を実行しようとする日付を入力する。通常、アサイン
計算を行うのが前日であることから、デフォルトでは計
算を実行しようとする日の翌日の日付が自動的に入力さ
れた状態として表示される。
【0244】その下の「プラン」は、前述のプラン設定
で設定したアサインプランのうちでどれを使うかを指定
する項目である。右側のプルダウンメニューをクリック
すると、前述のプラン設定で設定したアサインプランの
プランコードとプラン名がプランコード順に表示される
ので、この中から適切なものを選択する。例えば、プラ
ン設定の際に平日用のアサインプランが用意されてお
り、これからアサイン計算を行おうとする日が平日で、
キャンペーンなどの特別なイベントがない場合には、こ
の平日用のアサインプランを選択する。また例えば、ア
サイン計算を行おうとする日が年末年始などの休暇シー
ズン用の航空券予約が開始される日である場合には、予
めそれ用に用意されているアサインプランを選択する。
【0245】「出面」項目は、前述の出面入力で入力さ
れた出面を選択する項目である。右側のプルダウンメニ
ューをクリックすると、出面入力で入力された各出面が
出面コード順に設定される。前述のようにこの出面コー
ドはその日付が分かるようなコード体系になっているの
で、通常はアサイン計算を行なおうとする翌日の日付の
出面を選択する。また、突発的に必要なスタッフの数が
増えるなどした場合には、前述の「出面入力」に戻り、
出面を修正してから、その修正後の出面を選択する。こ
うして選択された「出面」項目は、出面数を下回らない
よう、1〜3までの優先順位を付けて設定した「昼休
み」項目及び「VDT中断」(これらを併せて「休憩時
間」という)をどこにするかを決定するアルゴリズムに
おいて用いられる。
【0246】休憩時間を割り振る処理は、座席アサイン
計算の中で行われる他に、アサイン終了後にオペレータ
が個別の事情でアサインされたスタッフの座席を手作業
で変更した場合にも実行することができる。
【0247】前述のように、労働基準法等により、所定
時間につき一定時間の休憩を各スタッフに取らせなけれ
ばならないことから、従来は、専任の担当者が、その日
の各時間帯において必要な出面数を下回らないよう、そ
の日に出勤してくる各スタッフに休憩時間を割り振る作
業を、座席アサインの作業とはまったく別に手作業で行
っていた。これに対して、本実施例のシステムでは、出
面入力で入力した出面数の情報と、休憩時間をいつ取る
かを選択する際の1〜3までの優先順位とに基づいて、
自動的に、出面数を下回らないよう各スタッフの休憩時
間を割り振る計算を行う。これにより、各スタッフに休
憩時間を適切に割り振るための専任の担当者は不要とな
る。なお、この休憩時間を割り振る処理を行うアルゴリ
ズムの一例は、前述の図46にそのフローチャートを示
したものである。
【0248】「Option」項目には、必要に応じて指定す
るいくつかの項目が含まれている。この中で、「友人チ
ェック」とは、入社日の同じスタッフが隣同士にならな
いようにする処理であり、これにチェックマークを付け
ておくと、「友人チェック」処理が行われる。これは、
入社日が同じ同期のスタッフが隣同士になった場合には
私語などで仕事の効率が低下する傾向があることから設
けられている。友人チェック処理を行う場合は、「スタ
ッフマスタ」の登録における「入社日」の項目に入力さ
れた情報が使われる。なお、この処理を実行するための
基本的な考え方は、前述の図42のアルゴリズムを説明
する際に説明した。
【0249】その下の「E帯とS帯の間隔」とは、E帯
(早帯シフト)のスタッフの仕事が終わってからS帯
(遅帯シフト)のスタッフが仕事を開始するまでの時間
を指定するものである。ここを例えば10分にしておく
と、E帯スタッフの仕事が終わってからS帯スタッフが
仕事を開始するまでの時間が10分開くように座席アサ
インが行われる。また、ここは図84に示すように、時
間間隔にマイナス符号を付けることもでき、その場合
は、両者が重なってもよい旨を指定したことになる。
【0250】Option項目の中の「新人のMP(マンパワ
ー)」は、業務の経験が浅い新人の場合は業務の処理効
率が一般のスタッフに比べて低いことを考慮して設けら
れたものである。例えば、新人スタッフが顧客からの質
問に答えられず、それを誰かに聞きに行くとして、その
時間が平均2分だとしても、同じスキルレベルの新人が
10人いれば20分ということになり、事業所全体で見
た処理能力の低下は無視できない。特に、新入社員が多
く配属される5月頃はスタッフの中の新人の割合が多く
なるため、このような状況が生じる可能性が高まる。そ
こで、この「新人のMP」で、新人を一般スタッフの何割
分のマンパワーであるかを指定して、これに基づいて休
憩時間を割り振る処理を行う際の人数計算を行うように
している。たとえば、新人二人で、一般スタッフの一人
分の処理能力だとすれば、ここを「5割分」と指定す
る。この場合も、「5割分」の新人が二人いたとする
と、出面が30人と指定されている時間帯では、これら
の新人は二人で一人分になるので、実際に必要なスタッ
フの数として31人にする、といったロジックになって
いる。
【0251】以上のような設定を行った上で、図84の
「実行」ボタンをクリックし、図85に示す確認ダイア
ログボックスで「はい」ボタンをクリックすると、座席
アサイン計算処理が開始される。この処理期間中は、コ
ンピュータのディスプレーには図86で示すような処理
経過を棒グラフ表示する画面が現れ、処理が完了する
と、その旨を表す図87の画面が表示される。なお、処
理期間中に図86の「Cancel」ボタンをクリックすると
処理は中断され、図88の画面が表示される。
【0252】次に、この座席アサイン計算処理の中で具
体的にどのような処理が行われているかについて説明す
る。図89は、座席アサイン計算処理の全体的な流れを
示したフローチャートである。処理開始のボタンがクリ
ックされると(Step10)、まず「前処理」が開始され
る(Step11)。
【0253】「前処理」では、まず、テンポラリーデー
タベースを作成する。これは、マスターデータから、該
当日の座席アサイン計算のトランザクションに必要なデ
ータだけを抜き出して書き写すための簡易なデータベー
スとも言えるファイルであるとともに、途中の中間的な
データを書き込むためのワークファイルとしても機能す
る。トランザクションが開始されると、まず、シフト表
入力を参照して、該当日の座席アサイン計算に必要なデ
ータをマスターデータから抜き出してきて、このテンポ
ラリーデータベースに書き写す。
【0254】例えばマスターデータに200人分のスタ
ッフのスタッフマスターが蓄積されていたとしても、該
当日のシフト表に載っているスタッフが30人だったと
すれば、残りの170人分のデータは今回のトランザク
ションには不要である。また、プラン設定でいくつもの
アサインプランが設定してあったとしても、該当日に使
うアサインプランは選択した一つだけであり、それ以外
はトランザクションに必要ない。そこで、実際のトラン
ザクションに必要なデータだけをマスターデータから抜
き出してテンポラリーデータベースに書き写し、これか
ら行うトランザクションはこのテンポラリーデータベー
スに対してだけ行うようにする。これにより、トランザ
クションでは比較的小さいデータを扱うだけでよくな
り、また、重要なマスターデータには手を加えずに済む
ことになる。トランザクションが終了したら、このテン
ポラリーデータベースは上書きしたり破棄することも可
能である。
【0255】さらに、テンポラリーデータベースに書き
写す際に、予め用意してあるSort Orderフィールドとい
うフィールドに、100,000までのランダムな数値
をセットし、そして、スタッフマスタで指定されている
スキルレベルに100,000を掛けた数値をこれに加
算する。そして、その結果の数値で昇順に並び替える。
このようなことを行う理由は、シフト表を読み込むとき
に、通常これは名簿のアイウエオ順やアルファベット順
になっているので、これに基づいて座席アサイン計算を
実行すると、例えば名簿の最初に記載されている人が毎
日出勤するスタッフだとすると、その人は毎日同じ座席
にアサインされてしまう可能性が高くなるので、毎日名
前の順に関係のないランダムなスタッフファイルを基に
してアサインを開始してこのようなことを回避するとと
もに、一方で、新人は新人だけで近い座席にまとめてア
サインしたいとう要請もあるので、これらのことを併せ
て実現するために案出されたものである。
【0256】実際にこのようにして座席アサイン計算処
理を実行すると、スキルレベルの低い新人ほど優先度の
高い座席にアサインするようプログラムされているの
で、スキルレベルの低いスタッフはSort Orderフィール
ドの数字が小さくなるためインチャージ席の近くの座席
に配置されやすくなり、スキルレベルの高いスタッフは
Sort Orderフィールドの数字が大きくなるためインチャ
ージ席から遠くに配置されやすくなる。そして、近くの
座席に配置される新人はその中では毎日違うランダムな
座席にアサインされ、遠くの座席に配置されるスキルレ
ベルの高いスタッフはその中では毎日違うランダムな座
席にアサインされることになる。
【0257】さらに、前処理では、シフト表のデータを
テンポラリーデータベースに書き写す際に、これらのデ
ータを、 α:世話役(BUDDY担当可,新人の担当可) β:世話役(BUDDY担当不可,新人の担当可) γ:一般スタッフ δ:新人 という四種類のテーブルを作り、それぞれにスタッフマ
スタを登録する際に図63の画面で指定したレベルに応
じて各データを上記α、β、γ、δの各テーブルに分割
する。なお、新人については、MP(マンパワー)を、
図84の画面で指定した割合で計算する。
【0258】なお、座席アサイン計算処理が終了したと
きは、その結果をテンポラリーデータベースのファイル
に書き込み、最終的に決定したものを、本来のデータベ
ースに書き込む。
【0259】以上がStep11の「前処理」の説明であ
る。次に、先取り分を移行する処理を行う(Step1
2)。これは、図75の画面で行った先取り指定の内容
をそのまま移行してきて、アサイン計算の対象から外す
処理を行う。
【0260】次に、デイリージョブ座席固定分の処理を
行う(Step13)。これは、ある特定の座席だけに備わ
っている特別な機器を使ったデイリージョブがあって、
そこには必ず特定のシフトのスタッフを座らせる必要が
あるような場合に、その座席が含まれるゾーンにおける
プラン設定のシフトの優先順位が最も高いスタッフよ
り、γ、β、αの優先順で配置する処理である。
【0261】続いて、狭義のアサイン計算処理を行う
(Step14)。図90は、この処理のフローチャートを
示している。この処理は、基本的に、座席に沿って順番
に見ていって処理を行う。まず、最初に行う処理は、そ
れぞれの座席が、先取り処理でBUDDYの座席として指定
されたかどうかである(Step21)。BUDDYの座席であ
る場合、その席にはすでにBUDDYが先取り処理でアサイ
ンされているが、そのBUDDYのための先生を捜さなけれ
ばならない。そこで、その座席がBUDDYの座席として指
定されている場合には、その座席に、前述のα、βの順
で該当するスタッフを検索して該当者をアサインする
(Step22)。
【0262】Step21の判定結果がNoであると、その
座席について隣の座席が新人であるかどうかを判断する
(Step23)。ここで言う「隣の座席」は、前で定義し
たように、図49のスプレッドシートにおいて、列が同
一で、かつ行が一行違う座席を指す。Step23の判定結
果がYesだと、α、β、γの順で該当するスタッフを
検索してアサインする。このようなアルゴリズムを採用
したのは、新人の隣にはできるだけベテランのスタッフ
を配置して新人と一般スタッフが隣り合う座席にならな
いようにするためである。
【0263】一方、Step23の判定結果がNoの場合に
は、その座席の隣の座席に空き座席がないかどうかを判
定する(Step25)。この判定結果がYesの場合に、
γ、β、αの順番に該当するスタッフを検索して、該当
者をアサインする(Step26)。これは、Step25の判
定結果がYesの場合は、両隣の座席が新人以外のスタ
ッフで埋まっていることを意味するので、一般のスタッ
フから順番にアサインしてゆくことを意味する。
【0264】Step25の判定結果がNoの場合、すなわ
ち隣の座席が空いている場合には、その座席にはδ、
γ、β、αの順番に該当するスタッフを検索していっ
て、該当者をアサインする。これは、新人(δ)の隣に
は必ず先生となる世話役を配置する必要があるので新人
の隣の座席を空けておく必要があり、そのために隣の座
席が空いている座席にまず新人を配置しようとする意図
の現れである。以上が狭義のアサイン計算処理である。
【0265】続いて休憩時間の計算について説明する
(図89、Step15)。この休憩時間を自動計算させる
アルゴリズムは、前述の「アルゴリズム11」(図46
に示した)について説明した考え方が基本となってい
る。
【0266】この処理は、図84に示したダイアログボ
ックスで、「出面」項目においていずれかの出面パター
ンを選択した場合にのみ実行される。コールセンターに
よっては休憩時間の計算を行わない場合もあるので、図
84に示したダイアログボックスで、「出面」項目を選
択せずにアサイン計算を実行させると、この処理は行わ
れず、その場合は、休憩時間は、図65の「昼休み」、
「VDT中断」の両項目の「優先1」で指定した時間帯
がそのまま休憩時間として設定される。例えば、コール
センター全体で一斉に昼休みや休憩をとれるような場合
には、「出面」を選択しないようにすることによって、
図65の「昼休み」、「VDT中断」の両項目の「優先
1」で優先1に規定した時間帯を自動的に休憩時間とす
ることができる。このようにすれば、アサイン計算全体
の処理時間も短縮される。
【0267】「出面」項目が選択されている場合におけ
る休憩時間の計算の具体的処理は、次のようになされ
る。まず、図65の「昼休み」、「VDT中断」の両項
目の「優先1」で指定した時間帯が自動的に引き出され
てきて、これを選択された出面コードの出面テーブル
(図82に示した30分ごとのテーブル)と比較する
(新人のマンパワーも考慮して)。そして、その場合に
必要な出面数が足りていれば、その段階で休憩時間の計
算は終了し、必要な出面数に足りていない場合には、同
一ゾーンの同一列で同一シフトのデータについてまとめ
て、休憩時間を前述の「優先1」から「優先2」に変更
する。これは、飛び飛びの位置に複数の座席のスタッフ
が同時に休憩で座席を空けると、いつ休憩が終わって帰
ってきたかが分かりずらいので、連続する複数の座席
(例えば1列分)のスタッフがまとまって休憩に入るよ
うにしていることによる。
【0268】この変更の順番は、ゾーンの優先順位の降
順、ゾーン毎の座席の優先順位の昇順で見た列の降順と
なる。例えば、優先順位が一番下のゾーンが図91のよ
うな座席の配置となっていたとする。ここで、各座席に
付された番号はそのゾーンの中での座席の優先順位であ
る。このゾーンにはA、B、C、Dという四つの列があ
り、それぞれの列で一番若い番号は1(C列)、2(B
列)、5(D列)、9(A列)である。
【0269】そこで、この降順であるA列、D列、B
列、C列の順に休憩時間を変えてゆく。この場合だと、
最初の休憩時間の計算で必要出面数を下回った場合に、
まずA列全体について休憩時間を優先1から優先2に変
え、それでも必要出面数を下回る場合は、A列の休憩時
間を優先2から優先3に変える。この変更で必要出面数
に達した場合はその内容で休憩時間の割り振りを確定す
るが、それでもまだ必要出面数を下回る場合は、A列の
休憩時間を優先3のままにして、次のD列について休憩
時間を優先1から優先2に変える。以下同様の手続き
を、必要出面数に達するまで行う。しかし、どの優先順
位に入れ替えても必要人数を下回ってしまう場合は、ど
の休憩時間で入れ替えるかの根拠がないため、不足数が
最小となる組み合わせを見つけて、優先順位1から優先
順位3を配置するということを行う。その場合、同一シ
フトグループごとに優先順位を決定してゆくので、その
決め方は、例えば優先順位1が3グループ、優先順位2
が2グループ、優先順位3が4グループというのが不足
数最小の組み合わせになったとしたら、同一シフトグル
ープをその数全体から探して休憩時間をずらしてゆく。
【0270】最後に、後処理を行う(図89、Step1
6)。具体的には、トランザクションの途中で書き換え
られたテンポラリーデータベースの内容を実データベー
スに書き込んでトランザクションを終了し、テンポラリ
ーデータベースのファイルを削除する。以上が、図89
に示した自動アサイン計算処理の全体の処理についての
説明である。
【0271】(8)アサイン修正 以上の自動アサイン処理によって得られた座席アサイン
の結果で不都合がなければそれをそのまま使うことがで
きるが、例えば次の日に勤務する予定だったスタッフが
急に欠勤する場合、特定の座席のADC機器が故障して
座席を移らなければならなくなった場合、何からの事情
で特定の二人を隣り合う座席にアサインしたい場合な
ど、予め用意しておいた条件には当てはまらない種々の
事情が生じることがあるので、本実施例のシステムは、
自動アサイン計算によって得られた、当初用意したすべ
て条件を満たすアサイン結果についても、オペレータが
手作業で簡単に修正できる「アサイン修正」の機能を備
えている。
【0272】アサイン修正を行う場合には、図47に示
したメインメニューで「アサイン修正」ボタンをクリッ
クし、図92に示すような座席アサインシートのテンプ
レート上に日付入力ダイアログボックスを表示させる。
これは、図75に示したものと同様である。この画面上
で、日付入力ダイアログボックスに、アサイン結果を修
正しようとする日付を入力する。デフォルトでは、最後
に自動アサイン計算を実行した日付が入った状態となっ
ている。ここで「OK」ボタンをクリックすると、図93
に示すように、各座席にアサイン計算の結果得られた各
スタッフの情報が入った「座席アサインシート」と、こ
の左上に一部隠れている「デイリージョブリスト」と
「未アサインリスト」が表示される。
【0273】図94は、図93の「座席アサインシー
ト」の表示を拡大して示した図である。各座席の表示の
構成は、図95のようになっている。ここで、符号30
の部分には、ACD番号が、ゾーンマスタで設定した座
席表示の色で表示される。符号31の部分には、E帯に
アサインされるスタッフの情報(名前、シフトコード、
勤務時間)が表示される。符号32の部分には、S帯に
アサインされるスタッフの情報(名前、シフトコード、
時間帯)が表示される。ただし、BUDDYがアサインされ
ている座席には、スペースの関係でそのBUDDYに先生と
してつくスタッフの情報だけが表示される。BUDDYに関
する情報を表示させるには、メニューバーから「表示」
メニューを選択して、後述のような操作を行う。
【0274】図94の上部のメニューバーには、「ファ
イル」、「備考」、「表示」の各メニューが用意されて
いる。
【0275】「ファイル」メニューは、「日付を選んで
開く」、「保存」、「終了」の各サブメニューが用意さ
れている。「日付を選んで開く」を選択すると、アサイ
ン修正を行おうとする日付を変えることができる。「保
存」を選択すると、座席アサインしたデータが保存され
る。画面上で種々の変更を加えても、ここで「保存」を
選択しないと、その変更は破棄されるので注意が必要で
ある。「終了」を選択すると、アサイン修正処理を終了
してメインメニューに戻る。
【0276】「備考」メニューは、何らかの伝達事項や
注意事項などの情報を備考として入力するためのメニュ
ーである。
【0277】「表示」メニューには、「時間帯」、「未
アサインリスト」、「デイリージョブリスト」、「BUDD
Y」の各サブメニューが用意されている。このうち、
「時間帯」を選択すると、図95の符号31、32に表
示される時間帯の部分に表示される時間帯の種類を選択
することができる。この時間帯の部分にはデフォルトで
は勤務時間が表示されるが、これ以外に昼食時間、VD
T中断1、VDT中断2のいずれかを選択することがで
きる。「未アサインリスト」を選択すると、未アサイン
リストのフォームが全面に表示される。ただし、タスク
バーで未アサインリスト部分を選択しても同様の操作が
可能である。「デイリージョブリスト」を選択すると、
前述のデイリージョブリストが前面に表示される。タス
クバーでデイリージョブリストの部分を選択しても同様
の操作が可能である。「BUDDY」を選択すると、裏画面
に切り替わり、BUDDYがアサインされている座席につい
て、当該BUDDYに先生として付いているスタッフに代え
て当該BUDDYの情報が表示される。
【0278】図96は、図93に示した「未アサインリ
スト」の表示を拡大して示した図である。これは、シフ
ト表には記載されているが、前述の自動的アサイン計算
処理で座席にアサインすることができなかったスタッフ
の一覧を示している。このようにアサインされないスタ
ッフ(「あふれ人員」)が生じる理由は、例えば、これ
までに設定した条件ではすべてのスタッフをアサインで
きなかったり、あるいは、例えばキャンペーンなどがあ
って特定の契約形態のスタッフを増員したためにその契
約形態を割り振ったゾーンに入りきれなくなるような場
合があり得るからである。このように自動アサイン計算
処理でアサインすることができなかったスタッフについ
ては、この未アサインリストからアサインしたいスタッ
フを選択し、図94に示した座席アサインシートの希望
する座席にドラッグ&ドロップすることによって、オペ
レータが手作業で適切な座席にアサインすることができ
る。
【0279】この場合、例えば、既にあるスタッフがア
サインされている勤務位置に、別の人員をアサインしよ
うとする場合や、勤務時間帯が重なる人員を重複してア
サインする場合も、手作業による場合はそのようなアサ
インも可能とする。すなわち、オペレータによる手作業
のアサインを優先するようにする。ただし、このような
場合、自動アサインを行わせる場合には禁止されるアサ
イン状態となるときには、その旨の警告をオペレータに
発するようにしておくのが望ましい。
【0280】なお、未アサインリストに毎日多くのスタ
ッフがリストアップされるようだと、マスタ登録で登録
したいずれかの情報の登録の仕方に問題があることも考
えられるので、考え得るマスタの情報、特にプラン設
定、ゾーン分け、座席の優先順位を修正してゆくことに
よって、マスタの内容を改善し、未アサインリストにリ
ストアップされるスタッフの数を減らしてゆくことが可
能である。もっとも、手作業で未アサインリストのスタ
ッフをアサインすればよいということであれば、このよ
うにしてマスタをいじる必要はない。
【0281】この未アサインリストには、「コード」、
「ES」、「シフト」、「名前」の各欄が設けられてい
る。このうち、「コード」欄にはスタッフコードが表示
され、「シフト」欄にはシフトコードが表示され、「名
前」欄にはスタッフ名が表示される。また、「ES」欄
は、アスタリスク(*)によってそのスタッフのシフト
がE帯かS帯かを示している。両方にアスタリスクが付
いている場合はD帯となる。「ES」欄がE帯のスタッ
フは、座席アサインシート上の希望する座席のうち図9
5の符号30又は31で示した部分にドラッグ&ドロッ
プすることができ、ドラッグ&ドロップすると、当該座
席のE帯の場所(符号31の部分)に表示が移動する。
「ES」欄がS帯のスタッフは、座席アサインシート上
の希望する座席のうち図95の符号30又は32で示し
た部分にドラッグ&ドロップすることができ、ドラッグ
&ドロップすると、当該座席のS帯の場所(符号32の
部分)に表示が移動する。「ES」欄がD帯のスタッフ
は、座席アサインシート上の希望する座席のうち図95
の符号30、31又は32で示した部分にドラッグ&ド
ロップすることができ、ドラッグ&ドロップすると、当
該座席のE帯とS帯の場所(符号31及び32の部分)
に表示が移動して背景色が変わる。
【0282】図97は、図93に示した「デイリージョ
ブリスト」の表示を拡大して示した図である。ここに示
された情報は、これはデイリージョブマスタから引き出
されたものである。図97のリストには、左から「コー
ド」、「名称」、「座席」、「ジョブ担当者」の各欄が
設けられている。「コード」欄には、デイリージョブコ
ードが表示される。「名称」欄には、それぞれのデイリ
ージョブ名が表示される。「座席」欄には、既にそのデ
イリージョブの割り当てが行われているときに、その割
り当てられた座席のACD番号が表示される。既に割り
当てが済んでいるデイリージョブは、一旦その割り当て
を解除しないとそのままでは別の座席に割り当てること
はできない。「ジョブ担当者」欄には、既にそのデイリ
ージョブの割り当てが行われているときに、その割り当
てられた座席にアサインされているスタッフの名前が表
示される。
【0283】デイリージョブの割り当てを行う場合に
は、図97に示したリストからデイリージョブをアサイ
ンしたいスタッフを選択して、図94に示した座席アサ
インシート上の希望する座席にドラッグ&ドロップする
ことにより、その座席にアサインされるスタッフにデイ
リージョブを割り当てることができる。図97の「座
席」項目及び「ジョブ担当者」項目がすべて埋まれば、
必要なデイリージョブの割り当てが終わったことが分か
る。この場合、例えば掃除当番というデイリージョブが
あったとして、これは業務の最後に行うというルールが
ある場合には、オペレータはそのジョブをS帯(遅帯)
のスタッフがアサインされている座席にドラッグ&ドロ
ップすればよい。デイリージョブマスタにおいてE帯と
して登録されているデイリージョブはE帯かD帯にしか
アサインできず、S帯として登録されているデイリージ
ョブはS帯かD帯にしかアサインできない仕組みとなっ
ている。このため、例えばデイリージョブマスタにおい
てS帯として登録されているデイリージョブをE帯にド
ラッグ&ドロップしようとすると、時間帯が違うとして
エラーとなる。
【0284】このアサイン修正処理では、図93乃至図
97に示した「座席アサインシート」、「デイリージョ
ブリスト」、「未アサインリスト」それぞれのウィンド
ウの間でドラッグ&ドロップによって種々の操作を行う
ことができる。図98は、ドラッグ&ドロップで操作で
きる処理のうちの一部のみを示している。このように、
ドラッグ&ドロップ操作でほとんどすべての処理を行う
ことができるので、アサイン修正処理は非常に簡単にな
る。
【0285】さらに、図94に示した座席アサインシー
トの任意の座席上にカーソルがある状態で右クリックす
ると、図99に示すポップアップメニューが表示され
る。ここで、「未アサインリストに移行」を選択する
と、座席アサインシートから未アサインリストにドラッ
グ&ドロップした場合と同じく、アサインされた座席か
らはずれて未アサインリストに入る。ただし、当然、ポ
ップアップメニューを表示させる座席によって結果は異
なる。この機能は、例えば、元々のシフト表には載って
いたスタッフが何らかの理由によって欠席することにな
った場合に使うことができる。「デイリージョブ削除」
を選択した場合は、座席アサインシートからデイリージ
ョブリストへドラッグ&ドロップした場合と同じ処理が
行われ、アサインされたデイリージョブをはずさせる。
ただし、デイリージョブが登録されている場合のみ選択
可能である。この場合もポップアップメニューを表示さ
せる座席によって結果は異なる。「分割」を選択する
と、D帯のシフトをE帯とS帯に分割する処理を行う。
これは、同じスタッフを早帯と遅帯で別の座席にアサイ
ンする場合に使用する。
【0286】図99に示した画面で「詳細」を選択する
と、その座席及びその座席にアサインされたスタッフに
関する図100に示すような詳細画面が開かれる。この
図100の詳細画面上でも、これまでに入力又は設定し
た当該座席及びスタッフに関する情報を変更したり修正
することができる。すなわち、自動的にアサイン計算を
行って、最初に設定しておいた条件を満たすように座席
アサイン結果が得られたとしても、これを見たときに何
らかの理由でそのような座席アサインに不都合や不満が
あることもあるので、基本的にどのような項目に対して
も、最終的にはこの詳細画面上で、オペレータが手作業
で修正できるようにしてある。また、最初に決められた
シフトについても変更することが可能である。
【0287】この手作業による修正を簡単にするため
に、図100の詳細画面上では種々の操作を行うことが
できるようにしてある。例えば、図100の詳細画面下
部の「コピー先座席番号」の項目で必要事項を入力する
と、この特定の座席で行った修正と同じ修正を、別の複
数の座席に対して一括して行うことができるので、似た
ような作業を繰り返し行う手間を省くことができる。
【0288】また、元々その日のシフト表に載っていな
かったスタッフが何らかの理由で出勤してきたので当該
スタッフに座席をアサインしたいという場合には、座席
アサインシートの中で未だスタッフがアサインされてい
ない座席の上で右クリックし、図99のポップアップメ
ニューで「詳細」を選択する。すると、図100に示す
詳細画面が現れるが、ここにはまだスタッフはアサイン
されていないので、スタッフに関する情報は空白とな
る。ここで「スタッフ」というボタンをクリックする。
すると、図101に示すスタッフ検索の画面が現れ、こ
こでそのスタッフの名前(又は名前の一部)を入力する
と、スタッフマスタに登録されているすべてのスタッフ
から、該当するスタッフを検索することができる。検索
で得られた中からスタッフを選択して「OK」ボタンをク
リックすると、その座席には当該スタッフがアサインさ
れる。また、検索の際に世話役にチェックマークを付け
ておくと世話役のみが検索されてくるので、該当日に世
話役が更にもう一人必要となる座席配置になったとき
に、アサインされていない世話役にシフトチェンジを頼
むといったことも可能となる。
【0289】以上がアサイン修正の処理であるが、オペ
レータが手作業で上で述べたようなアサイン修正を行っ
てスタッフの座席を入れ替えたり、スタッフを未アサイ
ンリストに戻したり(アサインを解除すること)、シフ
トを変えるなどの操作を行うと、そのことのために必要
出面数を下回る時間帯が生じる可能性がある。そこで、
図89のStep15に示した「休憩時間の計算」と同じ処
理を独立して実行させることができる。
【0290】(9)休憩時間再計算 図47のメインメニューで「休憩時間再計算」ボタンを
クリックすると、図102に示すダイアログボックスが
開き、ここで必要な項目を入力して「実行」ボタンをク
リックすると、図89のStep15のサブルーチンが呼び
出され、出面数を下回る時間帯だけについて、すでに述
べたのと同様の休憩時間の計算を行い、必要に応じてス
タッフの休憩時間を変更して必要出面数を下回らないよ
うにする処理が行われる。
【0291】以上が、座席をアサインするために必要な
すべての処理についての説明である。
【0292】(10)ファイル出力 次に、上述のようにして得られた座席アサイン結果及び
それに関連する情報を出力する作業について説明する。
これは、最終的に決定した座席アサインに関する情報
を、所定の形式のファイルとして出力し、格納する作業
である。これにより、例えばこのファイルをコンピュー
タ端末上に表示させたり、資料として蓄積しておいた
り、紙に印刷して各スタッフに配布することが可能とな
る。本システムで、出力されるものとして用意されてい
るのは、「出面数出力」、「シフト別出面表出力」、
「Excel出力」の3種類である。
【0293】(a)出面数出力 「出面数出力」は、その日の座席ごとの出面状況をマイ
クロソフト社の表計算ソフトであるExcel(商標)のフ
ァイル形式にして出力する機能である。図47に示した
メインメニューで「出面数出力」ボタンをクリックする
と、図103に示す画面が開く。ここで、出力する対象
となる日付を入力し、ファイルとして出力する先のフォ
ルダを指定して「実行」ボタンをクリックする。この場
合、日付を数値として含むファイル名が自動的に付与さ
れる。このファイルを参照する場合はExcelを実行して
読み出し、このExcel上の機能で印刷することができ
る。
【0294】図104〜図106は、このようにして出
力された「出面数出力」ファイルを印刷したものの一例
である。これは、二番目の行に時間帯、一番上の行に、
30分ごとの出面数が割り振られ、一番左の列にゾーン
名、その隣の列にACD番号が割り振られている。各セ
ルは、右上の凡例に示したように、一般のスタッフがア
サインされているときは黒、新人スタッフがアサインさ
れているときはグレー、その座席にアサインされたスタ
ッフの休憩時間は薄いグレーで示され、スタッフが割り
振られていない場合は空白となっている。図104〜図
106の表を見れば、どの座席がどの時間帯にアサイン
され、どの時間帯にアサインされていないかが一目で分
かる。
【0295】(b)シフト別出面表出力 「シフト別出面表出力」は、シフト別の出面状況をマイ
クロソフト社の表計算ソフトであるExcelのファイル形
式として出力する機能である。出力する操作は、前述の
「出面数出力」の場合と同様である。図107〜図10
9は、このようにして出力された「シフト別出面表出
力」ファイルを印刷したものの一例である。なお、実際
には、三つに分けた図107〜図109は、一つの画面
上に表示される。
【0296】この表は、実際に出勤しているスタッフの
数と必要出面数を比較するとともに、シフトごとにどれ
だけのスタッフが出勤しているかを見易くした表であ
る。例えば、あるシフトのスタッフについてミーティン
グを行う必要があるときに、出勤しているスタッフが必
要出面数を大幅に上回っている時間帯にミーティングの
予定を立てるといった場合に利用する。
【0297】(c)Excel出力 「Excel出力」は、最終来的に各座席にアサインされた
スタッフを座席ごとに表示する表をExcelのファイル形
式として出力する機能である。これを印刷したものが、
座席アサイン表となる。出力する操作は、前述の「出面
数出力」や「シフト別出面表出力」の場合と同様であ
る。図110、図111は、このようにして出力された
「Excel出力」ファイルを印刷したものの一例である。
これを印刷するときには、早帯だけ、遅帯だけをそれぞ
れ印刷する(2枚印刷する)方法や、早帯と遅帯を一つ
のセルに両方入れて印刷する代わりに一つのセルを小さ
くして1枚に印刷する方法など、種々の印刷オプション
が用意してある。
【0298】各スタッフは、出勤してきたときに、この
表を見て、自分が座る座席を確認する。Excel上で、こ
の「Excel出力」ファイルを変更することが可能であ
る。例えば、すでにExcel出力を行ったあとで、突然あ
るスタッフが出勤できなくなったようなときに、そのス
タッフがアサインされていた座席を消去することができ
る。ただし、この変更はシステムには反映されず、も
し、これを自分でファイル名をつけて保存しない限り、
自動的に保存されることもない。
【0299】また、このExcel出力のレイアウトは、
(1)(a)で説明した座席マスタと整合したレイアウ
トにしてテンプレートを作成し、インチャージ席に色を
付けたり、座席の名前出力部分を太字にしたり、ACD
番号を色付きの文字にしたりなど、使う側にとって使い
易くなるように編集することができる。
【0300】なお、上記では、各地に複数のコールセン
ターが存在し、それぞれに電話予約受付業務を行ってい
る場合を前提に説明しており、この場合、すべてのコー
ルセンターそれぞれに本実施例の人員アサインシステム
或いは人員アサインプログラムを導入することももちろ
ん可能である。しかしながら、各コールセンターのシフ
ト表のデータをインターネット等のネットワークを介し
て特定の場所にあるサーバーコンピュータに毎日送信
し、このサーバー上で本システムを稼働させて自動アサ
イン計算処理を行い、その結果を再びネットワークを介
してそれぞれのコールセンターに送り返すようにすれ
ば、すべてのコールセンターにおいて本システムを用意
する必要がなくなる。
【0301】
【発明の効果】以上説明したように、本発明によれば、
上記の発明の実施の形態及び実施例において詳細に説明
したアルゴリズムをコンピュータに実行させることによ
って、勤務時間が決められた多数の人員を多数の勤務位
置にアサインする作業を、通常のパーソナルコンピュー
タ程度の性能を有する一般的なコンピュータを用いて効
率的に行うことが可能となる。また、多数の勤務位置に
多数の人員を単純にアサインするだけでなく、アサイン
する人員を特定の勤務位置に集めたり、特定の人員を特
定の勤務位置にアサインしたり、先取りを可能とした
り、勤務種別を考慮したり、職能レベルを考慮したり、
勤務位置をゾーンを分けたる等といったことが可能とな
る。さらに、本発明によれば、アサインされた各人員の
休憩時間を自動的に調整することも可能となる。
【図面の簡単な説明】
【図1】もっとも単純に複数の勤務位置に複数の人員を
アサインするだけのアルゴリズムのフローチャートであ
る。
【図2】図1のアルゴリズムに従って勤務位置に人員を
配置した結果の一例を示した図である。
【図3】勤務可能な時間が決められているそれぞれの人
員を、その勤務時間帯を考慮してアサインする場合のア
ルゴリズムを示したフローチャートである。
【図4】勤務時間の開始時刻が早い順番に全ての人員を
並べた例を示した図である。
【図5】図3のアルゴリズムにおけるS306のような
ステップを設けず、単純に図4で並べた順番と勤務位置
の番号に従ってアサインした結果の一例を示した図であ
る。
【図6】図3のアルゴリズムにおけるS306のような
ステップを設けず、単純に図4で並べた順番と勤務位置
の番号に従ってアサインした結果の一例を示した図であ
る。
【図7】図3のアルゴリズムにおけるS306のような
ステップを設けず、単純に図4で並べた順番と勤務位置
の番号に従ってアサインした結果の一例を示した図であ
る。
【図8】図3に示したアルゴリズムに従って勤務位置に
人員をアサインしてゆくときの状況を示した図である。
【図9】図3に示したアルゴリズムに従って勤務位置に
人員をアサインしてゆくときの状況を示した図である。
【図10】図3に示したアルゴリズムに従って勤務位置
に人員をアサインしてゆくときの状況を示した図であ
る。
【図11】図3に示したアルゴリズムに従って勤務位置
に人員をアサインしてゆくときの状況を示した図であ
る。
【図12】図3に示したアルゴリズムに従って勤務位置
に人員をアサインしてゆくときの状況を示した図であ
る。
【図13】図3に示したアルゴリズムに従って勤務位置
に人員をアサインしてゆくときの状況を示した図であ
る。
【図14】図3に示したアルゴリズムに従って勤務位置
に人員をアサインしてゆくときの状況を示した図であ
る。
【図15】すべの勤務位置についてのアサインが一巡し
た段階で、すでにアサインされている人員の勤務時間が
早く終了する順番に勤務位置をソートする処理を行い、
このソート結果の順番に基づいてもっとも早く勤務時間
が終了する勤務位置に次の人員をアサインするようにし
た場合の処理の様子を示した図である。
【図16】オペレータの手作業による先取りがあった場
合でも最適なアサインが可能となるアルゴリズムの一例
のフローチャートである。
【図17】先取りが行われた場合に、図16のアルゴリ
ズムに従って勤務位置に人員をアサインしてゆくときの
途中の状況の一例を示した図である。
【図18】「勤務種別」という概念を導入した人員アサ
インアルゴリズムの一例を示したフローチャートであ
る。
【図19】図18のアルゴリズムに基づいて人員を勤務
位置にアサインしたときの具体的な状況を示した図であ
る。
【図20】勤務可能な時間帯が決められた各人員を、勤
務種別を考慮して各勤務位置にアサインする一例のアル
ゴリズムのフローチャートである。
【図21】図20のアルゴリズムを実行した場合におい
て各人員をそのそれぞれの勤務時間帯の開始時刻が早い
順に並べた状態を示した図である。
【図22】図20に示したアルゴリズムに従って各勤務
位置に各人員をアサインしてゆく状況の一例を示した図
である。
【図23】図20に示したアルゴリズムに従って各勤務
位置に各人員をアサインしてゆく状況の一例を示した図
である。
【図24】図20に示したアルゴリズムに従って各勤務
位置に各人員をアサインしてゆく状況の一例を示した図
である。
【図25】各人員にその職能レベルの違いがある場合
に、これを考慮して各勤務位置に適切に人員をアサイン
するアルゴリズムの一例のフローチャートである。
【図26】各人員に職能レベルを示す「高」、「中」、
「低」のいずれかを付して、それぞれの勤務時間帯の開
始時刻が早い順に並べた状態を示した図である。
【図27】図26のように勤務時間帯の開始時刻の早い
順に並べた人員を、さらに職能レベルの低い順に並べ直
した状況を示した図である。
【図28】左側に各勤務位置の優先順位を示して、図2
5のアルゴリズムに従ってアサインを行った状況を示し
た図である。
【図29】複数の勤務位置を一つのゾーンとしてまと
め、かつ、複数のゾーンそれぞれに優先順位をつけて人
員をアサインする場合のアルゴリズムの一例を示したフ
ローチャートである。
【図30】優先順位を付けた複数のゾーンを説明するた
めの図である。
【図31】各勤務位置を優先順位の高い順に、アサイン
可能な勤務種別を有する勤務位置をゾーン内の優先順位
順に並べた状態を示した図である。
【図32】図29のアルゴリズムのS2902の処理に
よって各人員を並べた状態を示した図である。
【図33】図29のアルゴリズムに基づいて全人員につ
いてアサイン処理を実行した結果を示した図である。
【図34】一つの勤務位置に複数の勤務種別を割り当て
て人員をアサインできるようにしたアルゴリズムの一例
を示したフローチャートである。
【図35】図34のアルゴリズムに従って人員をアサイ
ンしてゆく状況の一例を示した図である。
【図36】図34のアルゴリズムに従って人員をアサイ
ンしてゆく状況の一例を示した図である。
【図37】図34のアルゴリズムに従って人員をアサイ
ンしてゆく状況の一例を示した図である。
【図38】図34のアルゴリズムに従って人員をアサイ
ンしてゆく状況の一例を示した図である。
【図39】一つの勤務位置に複数の人員をアサインする
必要のある状況に対処するアルゴリズムの一例を示した
フローチャートである。
【図40】図39のアルゴリズムに従って人員をアサイ
ンしてゆく場合の状況の一例を示した図である。
【図41】図39のアルゴリズムに従って人員をアサイ
ンしてゆく場合の状況の一例を示した図である。
【図42】特定の二人の人員を互いに隣り合った勤務位
置にアサインすることを可能とするアルゴリズムの一例
を示したフローチャートである。
【図43】並べた人員の順番でアサインできる勤務位置
を探すことを基本としつつ隣り合わせとする必要のある
人員をアサインするときにはサブルーチンのように処理
を分岐させてアサインを実行する、二人の人員を隣り合
った勤務位置にアサインすることを可能とするアルゴリ
ズムの一例を示したフローチャートである。
【図44】図43のアルゴリズムで人員をアサインして
いったときの状況の一例を示した図である。
【図45】図43のアルゴリズムで人員をアサインして
いったときの状況の一例を示した図である。
【図46】人員の勤務位置へのアサインが終了した後に
各人員の休憩時間を自動的に調整するアルゴリズムの一
例を示したフローチャートである。
【図47】本発明の一実施例に係る人員アサインシステ
ムを起動させたときに最初にコンピュータのディスプレ
ーに現れるメニュー選択の画面を示した図である。
【図48】「マスタ登録」ボタンをクリックしたときに
現れるマスタ登録のサブメニューである。
【図49】マスタ登録のサブメニューのうち「座席設
定」を選択したときに現れるスプレッドシート表示の画
面を示した図である。
【図50】「ゾーン設定」を選択したときに現れるダイ
アログボックスを示す図である。
【図51】「更新」ボタンをクリックしたときに現れる
ダイアログボックスを示す図である。
【図52】色選択ダイアログボックスを示した図であ
る。
【図53】図50のダイアログボックスで「座席の設
定」を選択したときに現れるスプレッドシート画面を示
した図である。
【図54】図53のスプレッドシート上でセルをクリッ
クして選択状態とし、マウスを右クリックしたときに現
れる画面を示した図である。
【図55】図50の画面で「座席優先順位付け」ボタン
をクリックしたときに表示されるダイアログボックスを
示した図である。
【図56】図48に示すサブメニューで「契約形態登
録」ボタンをクリックしたときに現れる画面を示した図
である。
【図57】図56の画面で「追加」ボタンをクリックし
たときに開く画面を示した図である。
【図58】図48のサブメニューで「グループマスタ」
ボタンをクリックしたときに開く画面を示した図であ
る。
【図59】図58の画面で「追加」ボタンをクリックし
たときに開く画面を示した図である。
【図60】図48のマスタ登録のサブメニューで「スタ
ッフ登録」を選択したときに表示されるダイアログボッ
クスを示した図である。
【図61】図60のダイアログボックスでスタッフの更
新又は削除を行うときに表示される「契約形態」のコン
ボボックスを示した図である。
【図62】図61に示す「契約形態」のコンボボックス
のプルダウンリストで「All:全て」を選択したときに
表示される画面を示した図である。
【図63】図62に示した画面で新たなスタッフの追加
を行う場合又は更新するスタッフを選択した場合に開く
画面を示した図である。
【図64】図48のマスタ登録のサブメニューで「シフ
ト登録」を選択したときに現れるダイアログボックスを
示した図である。
【図65】図64のデイアログボックス右側に示したボ
タンを押したときに現れる画面を示した図である。
【図66】図48のマスタ登録のサブメニューで「デイ
リージョブ登録」を選択したときに表示されるダイアロ
グボックスを示した図である。
【図67】図66のデイリージョブのリストの画面で右
側の「追加」又は「更新」をクリックしたときに現れる
ダイアログボックスを示した図である。
【図68】図47に示したメニュー選択の画面で、「コ
ンバート」を選択したときに現れる画面を示した図であ
る。
【図69】図68の画面で「ファイル1」のボタンをク
リックしたときに現れるポップアップ画面を示した図で
ある。
【図70】「ファイル1」、「ファイル2」、「ファイ
ル3」のそれぞれのボタンの右側に各シフト表のファイ
ルのパス名が表示された状態を示した図である。
【図71】図47に示したメニュー選択の画面で「シフ
ト表入力」を選択したときに現れる画面を示した図であ
る。
【図72】図71の画面で「OK」ボタンをクリックし、
指定した年月でまだ一度もインポート処理を行っていな
い場合に現れる画面を示した図である。
【図73】図72に示したスプレッドシートのメニュー
からインポートを選択したときに現れるダイアログボッ
クスを示した図である。
【図74】インポート処理が終了したときに現れる画面
を示した図である。
【図75】図47に示したメニュー選択の画面で「先取
り処理」を選択したときに現れる座席アサインシートの
テンプレート画面を示した図である。
【図76】座席の配置とスタッフのリストを示す画面を
示した図である。
【図77】各座席の表示部分の構成を示した図である。
【図78】先取り処理においてドラッグ&ドロップによ
って処理できる操作のうちの一部を表として示した図で
ある。
【図79】図47に示したメインメニューで「プラン設
定」ボタンをクリックしたときに現れる画面を示した図
である。
【図80】図79の画面で「SAMPLE:サンプル」を選択
したときに現れる画面を示した図である。
【図81】図47に示したメインメニューで「出面入
力」ボタンをクリックしたときに現れる画面を示した図
である。
【図82】図81に示す画面でリストの上から4番目の
出面を選択して「追加」又は「更新」ボタンをクリック
したときに表示される画面を示した図である。
【図83】図81の画面の「インポート」メニューを選
択したときに現れる画面を示した図である。
【図84】図47のメニュー選択の画面で「アサイン計
算」ボタンをクリックしたときに現れるダイアログボッ
クスを示した図である。
【図85】図84の「実行」ボタンをクリックしたとき
に現れる画面を示した図である。
【図86】座席アサイン計算処理の開始後、処理経過を
表す棒グラフ表示の画面を示した図である。
【図87】座席アサイン計算処理が終了したときに現れ
る画面を示した図である。
【図88】座席アサイン計算処理期間中に図86の「Ca
ncel」ボタンをクリックしたときに表示される画面を示
した図である。
【図89】座席アサイン計算処理の全体的な流れを示し
たフローチャートである。
【図90】狭義のアサイン計算処理のフローチャートを
示した図である。
【図91】優先順位が一番下のゾーンの座席配置の例を
示した図である。
【図92】座席アサインシートのテンプレートの例を示
した図である。
【図93】図92の座席アサインシートのテンプレート
上で日付を入力し、「OK」ボタンをクリックしたときに
現れる画面を示した図である。
【図94】図93の「座席アサインシート」の表示を拡
大して示した図である。
【図95】座席アサインシートの各座席の表示の構成を
示した図である。
【図96】図93に示した「未アサインリスト」の表示
を拡大して示した図である。
【図97】図93に示した「デイリージョブリスト」の
表示を拡大して示した図である。
【図98】「座席アサインシート」、「デイリージョブ
リスト」、「未アサインリスト」それぞれのウィンドウ
の間でドラッグ&ドロップによって種々の操作を行うこ
とができる処理のうちの一部のみを示した図である。
【図99】図94に示した座席アサインシートの任意の
座席上にカーソルがある状態で右クリックしたときに表
示されるポップアップメニューを示した図である。
【図100】図99に示した画面で「詳細」を選択した
ときに現れる、その座席及びその座席にアサインされた
スタッフに関する詳細画面を示した図である。
【図101】図100の詳細画面で、「スタッフ」ボタ
ンをクリックしたときに現れるスタッフ検索の画面を示
した図である。
【図102】図47のメインメニューで「休憩時間計
算」ボタンをクリックしたときに開くダイアログボック
スを示した図である。
【図103】図47のメインメニューで「出面数出力」
ボタンをクリックしたときに開く画面を示した図であ
る。
【図104】「出面数出力」ファイルを印刷したものの
一例を示した図である。
【図105】「出面数出力」ファイルを印刷したものの
一例を示した図である。
【図106】「出面数出力」ファイルを印刷したものの
一例を示した図である。
【図107】「シフト別出面表出力」ファイルを印刷し
たものの一例を示した図である。
【図108】「シフト別出面表出力」ファイルを印刷し
たものの一例を示した図である。
【図109】「シフト別出面表出力」ファイルを印刷し
たものの一例を示した図である。
【図110】「Excel出力」ファイルを印刷したものの
一例を示した図である。
【図111】「Excel出力」ファイルを印刷したものの
一例を示した図である。
【符号の説明】
10 ボタン 11 ボタン 12 ボタン 13 ボタン

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 勤務時間を有する複数の人員を複数の勤
    務位置にアサインするために、コンピュータに、少なく
    とも、 勤務位置に順番を付ける第一機能、 人員を前記勤務時間の開始時刻順に並べ、この順番にア
    サインを試みる人員を選択する第二機能、 前記第一機能によって付けられた順番に従って、どの人
    員もアサインされていない勤務位置を探し、見つかった
    ときは当該勤務位置に第二機能で選択された人員をアサ
    インする第三機能、 前記第三機能によってどの人員もアサインされていない
    勤務位置が見つからないときは、既アサイン人員の勤務
    時間が最も早く終了する勤務位置を探す第四機能、 前記第四機能により見出された勤務位置の既アサイン人
    員の勤務時間と、アサインしようとする人員の勤務時間
    が重なるかどうかを判定する第五機能、 前記第五機能により勤務時間が重ならないときは人員を
    当該勤務位置にアサインする第六機能、 を実現させることを特徴とする人員アサインプログラ
    ム。
  2. 【請求項2】 人員の先取りを認めて、勤務時間を有す
    る複数の人員を複数の勤務位置にアサインするために、
    コンピュータに、少なくとも、 勤務位置に順番を付ける第一機能、 必要に応じて、オペレータが指定した人員をコンピュー
    タ端末上で希望する勤務位置に先取りとしてアサインす
    る第二機能、 先取りとしてアサインされた人員を除き、各人員を前記
    勤務時間の開始時刻順に並べ、この順番にアサインを試
    みる人員を選択する第三機能、 前記第一機能によって付けられた順番に従って、だれも
    アサインされていない勤務位置又はアサインされている
    が既アサイン人員とアサインを試みる人員の勤務時間が
    重ならない勤務位置を探す第四機能、 前記第四機能により誰もアサインされていない勤務位置
    が見つかったときは当該勤務位置に当該人員をアサイン
    する第五機能、 前記第四機能により誰もアサインされていない勤務位置
    は見つからないが、勤務時間が重ならない勤務位置が見
    つかったときは、そのうちで既アサイン人員の勤務終了
    時刻が最も早い勤務位置に当該人員をアサインする第六
    機能、 を実現させることを特徴とする人員アサインプログラ
    ム。
  3. 【請求項3】 勤務種別及び勤務時間を有する複数の人
    員を、アサインしてよい勤務種別が決められた複数の勤
    務位置にアサインするために、コンピュータに、少なく
    とも、 勤務位置に順番を付ける第一機能、 各人員を前記勤務時間の開始時刻順に並べ、この順番に
    アサインを試みる人員を選択する第二機能、 アサインを試みる人員の勤務種別をアサインしてよい勤
    務位置であって、どの人員もアサインされていない勤務
    位置を探す第三機能、 前記第三機能により該当する勤務位置が見つからないと
    きは、アサインを試みる人員の勤務種別をアサインして
    よい勤務位置であって既アサイン人員の勤務時間の終了
    時刻が最も早い勤務位置を探す第四機能、 前記第四機能により見つかった勤務位置にアサインされ
    ている人員と、アサインを試みる人員の勤務時間が重な
    るかどうかを判定する第五機能、 前記第三機能により勤務位置が見つかったとき、又は前
    記第五機能により重ならないと判定されたときに、当該
    勤務位置に当該人員をアサインする第六機能を実現させ
    ることを特徴とする人員アサインプログラム。
  4. 【請求項4】 職能レベル、勤務種別及び勤務時間を有
    する複数の人員を、アサインしてよい勤務種別が決めら
    れた複数の勤務位置にアサインするために、コンピュー
    タに、少なくとも、 勤務位置に優先順位に従った順番を付ける第一機能、 各人員を前記勤務時間の開始時刻順に並べ、さらに職能
    レベル順に並べ直し、この順番にアサインを試みる人員
    を選択する第二機能、 誰もアサインされていない勤務位置、又は前記第二機能
    により選択された人員の勤務時間と既アサイン人員の勤
    務時間が重ならない勤務位置であって、前記第二機能に
    より選択された人員の勤務種別をアサインしてよい勤務
    位置を、第一機能により得られた勤務位置の順番に従っ
    て探す第三機能、 前記第三機能によりアサイン可能な勤務位置が見つかっ
    たときは当該勤務位置に当該人員をアサインする第四機
    能、 を実現させることを特徴とする人員アサインプログラ
    ム。
  5. 【請求項5】 職能レベル、勤務種別及び勤務時間を有
    する複数の人員を、アサインしてよい勤務種別が決めら
    れた複数の勤務位置にアサインするために、コンピュー
    タに、少なくとも、 勤務位置を一又は二以上の勤務位置を含むゾーンに分
    け、ゾーンが複数あるときは各ゾーンに優先順位を付け
    るとともに、各ゾーンに含まれる勤務位置に優先順位を
    付け、これらに基づいてすべての勤務位置を順番に並べ
    直す第一機能、 人員を前記勤務時間の開始時刻順に並べ、さらに職能レ
    ベル順に並べ直し、この順番でアサインを試みる人員を
    選択する第二機能、 誰もアサインされていない勤務位置又は、前記第二機能
    により選択された人員の勤務時間と既アサイン人員の勤
    務時間が重ならない勤務位置であって、前記選択された
    人員の勤務種別をアサインしてよい勤務位置を、前記第
    一機能で得られた勤務位置の順番に従って探す第三機
    能、 前記第三機能によりアサイン可能な勤務位置が見つかっ
    たときは当該勤務位置に当該人員をアサインする第四機
    能、 を実現させることを特徴とする人員アサインプログラ
    ム。
  6. 【請求項6】 職能レベル、勤務種別及び勤務時間を有
    する複数の人員を、アサインしてよい勤務種別がそれぞ
    れに一又は二以上決められた複数の勤務位置にアサイン
    するために、コンピュータに、少なくとも、 勤務位置を一又は二以上の勤務位置を含むゾーンに分
    け、ゾーンが複数あるときは各ゾーンに優先順位を付け
    るとともに、各ゾーンに含まれる勤務位置に優先順位を
    付ける第一機能、 勤務位置にアサインしてよい勤務種別が複数ある場合
    は、それぞれの勤務種別ごとに仮想的に一勤務種別一勤
    務位置を発生させ、優先順位の高い勤務種別順、優先順
    位の高いゾーン順、ゾーン内のアサイン優先順に各勤務
    位置を並べ直す第二機能、 人員を前記勤務時間の開始時刻順に並べ、さらに職能レ
    ベル順に並べ直し、この順番でアサインを試みる人員を
    選択する第三機能、 前記第三機能により選択された人員の勤務種別がアサイ
    ン対象で空いている勤務位置、又は既アサイン人員はい
    るが勤務時間が重ならない勤務位置を、前記第二機能に
    より得られた勤務位置の順番に従って探す第四機能、 前記第四機能によりアサイン可能な勤務位置が見つかっ
    たときは当該勤務位置に当該人員をアサインする第五機
    能、 を実現させることを特徴とする人員アサインプログラ
    ム。
  7. 【請求項7】 請求項1乃至6のうちいずれか一項に記
    載の人員アサインプログラムであって、コンピュータ
    に、さらに、 オペレータの指示により、同一勤務位置にアサインでき
    る複数の人員にその旨のマークを付す機能、 アサインを試みるために順番に選択された人員について
    アサインできる勤務位置を探すときに、前記マークが付
    されている人員が既にアサインされているときは、同じ
    マークが付されている人員を同一の勤務位置にアサイン
    する機能を実現させることを特徴とする人員アサインプ
    ログラム。
  8. 【請求項8】 請求項1乃至7のうちいずれか一項に記
    載の人員アサインプログラムであって、コンピュータ
    に、さらに、 オペレータの指示により、隣り合う勤務位置にアサイン
    できる複数の人員にその旨の第一及び第二のマークを付
    す機能、 アサインを試みるために順番に選択された人員について
    アサインできる勤務位置を探すときに、選択された人員
    に第一のマークが付されているときは、当該人員をアサ
    インした勤務位置の隣の勤務位置に第二のマークが付さ
    れた人員をアサインできるかどうかを判断する機能、 前記第二のマークが付された人員をアサインできると判
    断したときは当該隣の勤務位置に当該第二のマークが付
    された人員をアサインし、当該隣に当該第二のマークが
    付された当該人員をアサインできないと判断したときは
    さらに別の勤務位置を探す機能を実現させることを特徴
    とする人員アサインプログラム。
  9. 【請求項9】 請求項1乃至7のうちいずれか一項に記
    載の人員アサインプログラムであって、コンピュータ
    に、さらに、 オペレータの指示により、同一の勤務位置にアサインで
    きる複数の人員にその旨の第一及び第二のマークを付す
    とともに、隣り合う勤務位置にアサインできる複数の人
    員にその旨の第三及び第四のマークを付す機能、 アサインを試みる順番として並べた人員をこの順番に基
    づいて選択してアサインできる勤務位置を探すときに、
    選択された人員に第一のマークが付されているときは、
    当該人員をアサインした同じ勤務位置に第二のマークが
    付された人員をアサインする機能と、 前記選択された人員についてアサインできる勤務位置を
    探すときに、選択された人員に第三のマークが付されて
    いるときは、当該人員をアサインした勤務位置の隣の勤
    務位置に第四のマークが付された人員をアサインできる
    かどうかを判断する機能と、 前記第四のマークが付された人員をアサインできると判
    断したときは当該隣の勤務位置に当該第四のマークが付
    された人員をアサインし、当該隣に当該第四のマークが
    付された当該人員をアサインできないと判断したときは
    さらに別の勤務位置を探す機能と、 を実現させることを特徴とする人員アサインプログラ
    ム。
  10. 【請求項10】 請求項1乃至9のうちいずれか一項に
    記載の人員アサインプログラムであって、コンピュータ
    に、さらに、 オペレータの指示により、隣り合う勤務位置にアサイン
    したくない複数の人員にその旨のマークを付す機能、 アサインを試みるために順番に選択された人員について
    アサインできる勤務位置を探すときに、選択された人員
    に前記マークが付されているときは、当該人員をアサイ
    ンしようとする勤務位置の隣の勤務位置に前記マークが
    付された人員がアサインされているかどうかを判断する
    機能、 当該隣の勤務位置に前記マークが付された人員がアサイ
    ンされていないときは当該勤務位置に当該人員をアサイ
    ンし、当該隣に前記マークが付された人員がアサインさ
    れているときはさらに別の勤務位置を探す機能を実現さ
    せることを特徴とする人員アサインプログラム。
  11. 【請求項11】 前記アサインしようとする人員の勤務
    時間と、既アサイン人員の勤務時間の重なりが一定時間
    内のときは、両勤務時間は重ならないこととする請求項
    1乃至10のうちいずれか一項に記載の人員アサインプ
    ログラム。
  12. 【請求項12】 請求項1乃至11のうちいずれか一項
    に記載の人員アサインプログラムであって、コンピュー
    タに、さらに、人員を勤務位置に自動的にアサインされ
    た後にオペレータがディスプレー画面を介する操作によ
    り、アサインされていない人員を手作業で勤務位置にア
    サインし、アサインされた人員の勤務位置を手作業で変
    更し、又はアサインされた人員のアサインを手作業で解
    除する機能を実現させる人員アサインプログラム。
  13. 【請求項13】 請求項12に記載の人員アサインプロ
    グラムにおいて、オペレータが手作業でアサイン結果を
    変更するときに、自動アサインを行わせる場合には禁止
    されるアサイン状態となるときには、その旨の警告を発
    する機能をコンピュータに実現させる人員アサインプロ
    グラム。
  14. 【請求項14】 請求項1乃至13のうちいずれか一項
    に記載の人員アサインシプログラムにおいて、前記コン
    ピュータが人員を勤務位置にアサインする機能を実行す
    る前に、所定の勤務位置にデイリージョブを割り当てる
    ことができる機能を実現させる人員アサインプログラ
    ム。
  15. 【請求項15】 請求項1乃至14のうちいずれか一項
    に記載の人員アサインプログラムにおいて、ディスプレ
    ー画面を介して前記複数の人員をグループ分けするグル
    ープ情報を前記コンピュータに入力するグループ情報入
    力機能をコンピュータに実現させる人員アサインプログ
    ラム。
  16. 【請求項16】 前記人員を勤務時間の開始時刻順に並
    べるときに、勤務時間が同時刻に開始する人員について
    は、乱数を用いて並べる順番を決める機能をコンピュー
    タに実現させる請求項1乃至15のうちいずれか一項に
    記載の人員アサインプログラム。
  17. 【請求項17】 勤務時間及び複数の休憩時間を有する
    複数の人員を複数の勤務位置にアサインしたあとに、各
    人員の休憩時間を調整するために、コンピュータを、少
    なくとも、 勤務位置を一又は二以上の勤務位置を含むゾーンに分
    け、ゾーンが複数あるときは各ゾーンに優先順位を付け
    る機能と、 各区分時間について、マンパワーの合計が必要マンパワ
    ーを下回るかどうかを判定する機能と、 マンパワーの合計が必要マンパワーを下回る区分時間が
    あったときは、所定のゾーン順に、休憩時間の調整が済
    んでいない人員がアサインされているゾーンを探す機能
    と、 そのようなゾーンが見つかったときは、そのゾーンの中
    で、マンパワーの合計が必要マンパワーを下回る区分時
    間に掛かる休憩時間を有する調整が済んでいない人員を
    探す機能と、 見つかった人員の休憩時間を異なる休憩時間に代えて、
    再び各区分時間についてマンパワーの合計が必要マンパ
    ワーを下回るかどうかを判定する機能と、 して機能させる人員アサインプログラム。
  18. 【請求項18】 コンピュータを利用して複数の人員を
    複数の勤務位置にアサインする人員アサインシステムで
    あって、 前記複数の勤務位置の配置を表す情報を、コンピュータ
    端末のディスプレー画面を介して前記コンピュータに入
    力する配置情報入力手段と、 アサインされる人員と当該人員の勤務態様に関する情報
    を、コンピュータ端末のディスプレー画面を介して前記
    コンピュータに入力する人員情報入力手段と、アサイン
    される人員の職能レベルに関する情報を入力する職能レ
    ベル入力手段と、 勤務位置の優先順位及び勤務態様の優先順位をコンピュ
    ータ端末のディスプレー画面を介して前記コンピュータ
    に入力する優先順位入力手段とを具備し、 前記配置情報入力手段、前記人員情報入力手段、前記職
    能レベル入力手段のそれぞれによって前記コンピュータ
    に入力された情報、並びに、前記優先順位入力手段によ
    って前記コンピュータに入力された各優先順位を基に、
    前記コンピュータが、ある勤務位置に人員をアサインす
    るときに当該勤務位置が、新人の勤務位置の隣であるか
    どうかを判定する第1ステップ、ある勤務位置に人員を
    アサインするときに当該勤務位置と隣り合う勤務位置に
    空きがないかどうかを判定する第2ステップ、前記第1
    ステップ又は第2ステップの判定結果に基づいて、予め
    設定されている職能レベル順に、前記人員情報入力手段
    によって入力された情報を参照しながら該当する人員を
    検索する第3ステップ、そして前記第3ステップにおい
    て検索された人員を当該勤務位置にアサインする第4ス
    テップを含む処理を、前記配置情報入力手段によって入
    力された勤務位置について行って、各人員を各勤務位置
    にアサインする計算処理を行うことを特徴とする人員ア
    サインシステム。
  19. 【請求項19】 請求項18に記載の人員アサインシス
    テムにおいて、前記配置情報入力手段は、前記複数の勤
    務位置を一又は二以上のゾーンに分割するとともに各ゾ
    ーンに優先順位を定義するゾーン分割情報を入力できる
    ようにされ、前記コンピュータは、前記第1乃至第4ス
    テップを含む処理を行うときに、当該優先順位に従って
    各人員を各勤務位置にアサインする計算処理を行うこと
    を特徴とする人員アサインシステム。
  20. 【請求項20】 請求項18又は19に記載の人員アサ
    インシステムであって、前記コンピュータが各人員を各
    勤務位置にアサインする計算処理を行う前に、所定の勤
    務位置にデイリージョブを割り当てることを可能とした
    ことを特徴とする人員アサインシステム。
  21. 【請求項21】 前記人員情報入力手段は、アサインさ
    れる人員を入力したときに、各人員の順番をランダムに
    並び替えることを特徴とする請求項18乃至20のうち
    いずれか一項に記載の人員アサインシステム。
  22. 【請求項22】 さらに、各人員を各勤務位置に自動的
    にアサインした後に、コンピュータ端末のディスプレー
    画面を介して自動アサインでアサインされなかった人員
    を手作業で勤務位置にアサインする手段又は自動アサイ
    ンでアサインされた人員の勤務位置を手作業で変更する
    手段を設けたことを特徴とする請求項18乃至21のう
    ちいずれか一項に記載の人員アサインシステム。
  23. 【請求項23】 さらに、コンピュータ端末のディスプ
    レー画面を介して前記複数の人員をグループ分けするグ
    ループ情報を前記コンピュータに入力するグループ情報
    入力手段を設けたことを特徴とする請求項18乃至22
    のうちいずれか一項に記載の人員アサインシステム。
JP2002159646A 2001-09-07 2002-05-31 人員アサインシステム及び人員アサインプログラム Expired - Fee Related JP3373506B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002159646A JP3373506B1 (ja) 2001-09-07 2002-05-31 人員アサインシステム及び人員アサインプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-272585 2001-09-07
JP2001272585 2001-09-07
JP2002159646A JP3373506B1 (ja) 2001-09-07 2002-05-31 人員アサインシステム及び人員アサインプログラム

Publications (2)

Publication Number Publication Date
JP3373506B1 JP3373506B1 (ja) 2003-02-04
JP2003157343A true JP2003157343A (ja) 2003-05-30

Family

ID=26621867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002159646A Expired - Fee Related JP3373506B1 (ja) 2001-09-07 2002-05-31 人員アサインシステム及び人員アサインプログラム

Country Status (1)

Country Link
JP (1) JP3373506B1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004386A (ja) * 2003-06-10 2005-01-06 Csk Corp 配置管理装置、配置管理方法および配置管理プログラム
JP2007265119A (ja) * 2006-03-29 2007-10-11 Art Soft Kk コンタクトセンターにおける座席表作成システム、座席表作成プログラム、及び業務管理システム
WO2008001751A1 (fr) * 2006-06-29 2008-01-03 P & W Solutions Co., Ltd. Procédé, ordinateur et programme pour attribuer un siège à une personne
JP2010224693A (ja) * 2009-03-19 2010-10-07 Fujitsu Ltd 予約枠割当プログラム、予約枠割当装置および予約枠割当方法
JP2011165122A (ja) * 2010-02-15 2011-08-25 Mitsubishi Electric Corp 施設管理システム
JP2013073308A (ja) * 2011-09-27 2013-04-22 P & W Solutions Co Ltd 配席装置、配席方法及び配席プログラム
US8433594B2 (en) 2006-07-31 2013-04-30 P&W Solutions Co., Ltd. System, method and computer-accessible medium for making worker distribution plan on the basis of updated skill assessment data
WO2014116255A1 (en) * 2013-01-28 2014-07-31 Wal-Mart Stores, Inc. System and method for assigning employees to coverage and/or tasks based on schedule and preferences
WO2016092687A1 (ja) * 2014-12-12 2016-06-16 株式会社日立製作所 座席指定システム、座席指定方法
JP2017174392A (ja) * 2016-03-17 2017-09-28 株式会社オービック シフト作成装置、シフト作成方法、および、シフト作成プログラム
JP2019003392A (ja) * 2017-06-15 2019-01-10 パナソニックIpマネジメント株式会社 作業スケジュール作成方法および作業スケジュール作成システム
JP7461378B2 (ja) 2019-05-15 2024-04-03 フェデラル・エキスプレス・コーポレイション 予備乗務員パターンを最適化すること

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112288205B (zh) * 2019-10-18 2024-02-27 南京行者易智能交通科技有限公司 一种驾驶员实时调度方法、装置,及移动端设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540766A (ja) * 1991-08-01 1993-02-19 Hitachi Software Eng Co Ltd ジヨブ・リソース割当て最適化方式
JPH0643749U (ja) * 1992-11-11 1994-06-10 日通工株式会社 ワークスケジュール表の自動作成装置
JPH07296062A (ja) * 1994-04-22 1995-11-10 Sony Corp 人員配置決定支援方法
JPH09251491A (ja) * 1996-03-15 1997-09-22 Fujitsu Ltd 勤務情報管理システム
JPH10105611A (ja) * 1996-09-30 1998-04-24 Mitsubishi Electric Corp 訪問看護スケジューリングシステム
JP2000172758A (ja) * 1998-12-09 2000-06-23 Sharp Corp 作業者配置決定システム
JP2000209351A (ja) * 1998-12-31 2000-07-28 Lucent Technol Inc エ―ジェント人員配置スケジュ―ルに基づく、呼出センタ―での呼出選択およびエ―ジェント選択
JP2001092883A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 作業人員配置支援装置及びプログラムを記憶した記憶媒体
JP2001227044A (ja) * 2000-02-15 2001-08-24 Hitachi Ltd 雨水排水ポンプ場の運用支援方法および装置
JP2002073918A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Works Ltd 人員配置支援システム
JP2002109161A (ja) * 2000-10-03 2002-04-12 Konami Computer Entertainment Yokyo Inc 人員配置支援システム

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540766A (ja) * 1991-08-01 1993-02-19 Hitachi Software Eng Co Ltd ジヨブ・リソース割当て最適化方式
JPH0643749U (ja) * 1992-11-11 1994-06-10 日通工株式会社 ワークスケジュール表の自動作成装置
JPH07296062A (ja) * 1994-04-22 1995-11-10 Sony Corp 人員配置決定支援方法
JPH09251491A (ja) * 1996-03-15 1997-09-22 Fujitsu Ltd 勤務情報管理システム
JPH10105611A (ja) * 1996-09-30 1998-04-24 Mitsubishi Electric Corp 訪問看護スケジューリングシステム
JP2000172758A (ja) * 1998-12-09 2000-06-23 Sharp Corp 作業者配置決定システム
JP2000209351A (ja) * 1998-12-31 2000-07-28 Lucent Technol Inc エ―ジェント人員配置スケジュ―ルに基づく、呼出センタ―での呼出選択およびエ―ジェント選択
JP2001092883A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 作業人員配置支援装置及びプログラムを記憶した記憶媒体
JP2001227044A (ja) * 2000-02-15 2001-08-24 Hitachi Ltd 雨水排水ポンプ場の運用支援方法および装置
JP2002073918A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Works Ltd 人員配置支援システム
JP2002109161A (ja) * 2000-10-03 2002-04-12 Konami Computer Entertainment Yokyo Inc 人員配置支援システム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004386A (ja) * 2003-06-10 2005-01-06 Csk Corp 配置管理装置、配置管理方法および配置管理プログラム
JP2007265119A (ja) * 2006-03-29 2007-10-11 Art Soft Kk コンタクトセンターにおける座席表作成システム、座席表作成プログラム、及び業務管理システム
WO2008001751A1 (fr) * 2006-06-29 2008-01-03 P & W Solutions Co., Ltd. Procédé, ordinateur et programme pour attribuer un siège à une personne
JP2008009714A (ja) * 2006-06-29 2008-01-17 P & W Solutions Co Ltd 座席に人員をアサインする方法、コンピュータ及びプログラム
US8433594B2 (en) 2006-07-31 2013-04-30 P&W Solutions Co., Ltd. System, method and computer-accessible medium for making worker distribution plan on the basis of updated skill assessment data
JP2010224693A (ja) * 2009-03-19 2010-10-07 Fujitsu Ltd 予約枠割当プログラム、予約枠割当装置および予約枠割当方法
JP2011165122A (ja) * 2010-02-15 2011-08-25 Mitsubishi Electric Corp 施設管理システム
JP2013073308A (ja) * 2011-09-27 2013-04-22 P & W Solutions Co Ltd 配席装置、配席方法及び配席プログラム
WO2014116255A1 (en) * 2013-01-28 2014-07-31 Wal-Mart Stores, Inc. System and method for assigning employees to coverage and/or tasks based on schedule and preferences
WO2016092687A1 (ja) * 2014-12-12 2016-06-16 株式会社日立製作所 座席指定システム、座席指定方法
JPWO2016092687A1 (ja) * 2014-12-12 2017-05-18 株式会社日立製作所 座席指定システム、座席指定方法
JP2017174392A (ja) * 2016-03-17 2017-09-28 株式会社オービック シフト作成装置、シフト作成方法、および、シフト作成プログラム
JP2019003392A (ja) * 2017-06-15 2019-01-10 パナソニックIpマネジメント株式会社 作業スケジュール作成方法および作業スケジュール作成システム
JP7133751B2 (ja) 2017-06-15 2022-09-09 パナソニックIpマネジメント株式会社 作業スケジュール作成方法および作業スケジュール作成システム
JP7461378B2 (ja) 2019-05-15 2024-04-03 フェデラル・エキスプレス・コーポレイション 予備乗務員パターンを最適化すること

Also Published As

Publication number Publication date
JP3373506B1 (ja) 2003-02-04

Similar Documents

Publication Publication Date Title
JP3373506B1 (ja) 人員アサインシステム及び人員アサインプログラム
US8522240B1 (en) Systems and methods for collaborative task management
US10685015B2 (en) Method and system for providing in-line scheduling in an on-demand service
US7788598B2 (en) System and method for assigning and scheduling activities
US7370282B2 (en) Grouping and displaying multiple tasks within an event object of an electronic calendar
US20150286979A1 (en) Job loader
JPH06342357A (ja) ユーザインタフェース方式
CA3077276C (en) Method and system for scheduling shifts and employee leave management
US20230178228A1 (en) System and Method of Dynamically Generating Work Assignments
US20140278653A1 (en) Method And System For Optimizing Field Service Appoint Scheduling
US8688596B2 (en) Project activity reporting
WO2021060029A1 (ja) 勤怠管理方法、勤怠管理プログラム、および勤怠管理システム
JP5049309B2 (ja) 工程計画装置および工程計画方法
JP6741324B1 (ja) 勤務表作成システム
JP2006133830A (ja) スケジュール管理方法、スケジュール管理プログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003006395A (ja) 業務支援情報抽出プログラム及びそれを用いた業務支援情報抽出システム
JP2007213141A (ja) 人員配置システム、人員配置方法、人員配置プログラム、及びこの人員配置プログラムを格納した記録媒体
JP7129146B2 (ja) 建設現場の管理情報共有システム
Cisco Call Types
Cisco Call Types
Cisco Call Types
JP2019185588A (ja) 工程表作成システム及びその作成方法
JP3080470B2 (ja) 保守巡回作業表作成装置
WO2024079878A1 (ja) 予定登録装置と予定登録プログラムと予定登録方法
JP2008250969A (ja) 人材派遣支援ソフト

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees