(57)【要約】【課題】顧客満足およびリソース満足を増加させ、運用コストを低減させる最適なリソースのスケジュールを決定する手法を提供する。【解決手段】本発明は、最適なリソース順序付け手法を提供することによって線形時間で少なくともほぼ最適なリソースのスケジュールを決定するための方法を提供する。この方法は、リソースおよび関連のリソース・データの組を受信するステップと、関連リソース・データに基づいて、各リソースについてリソース・ランク関数値を決定するステップと、各リソースに関連するリソース・ランク関数値に基づいて、各リソースをランク付けするステップと、関連リソース・データに基づいて、それぞれのリソースについて候補シフトの組を決定するステップと、各リソースに関連する候補シフトについて重み値を決定するステップと、各候補シフトに関連する重み値に基づいて、ランク順序でリソースごとにシフト・スケジュールを決定するステップと、を有する。【選択図】図２８
2007529789.tif 000002
【特許請求の範囲】
【請求項１】
リソースのスケジュールを決定するための方法であって、
リソースおよび関連するリソース・データの組を受信するステップと、
前記リソース・データに基づいて、各リソースについてリソース・ランク関数値を決定するステップと、
各リソースに関連する前記リソース・ランク関数値に基づいて、各リソースをランク付けするステップと、
前記リソース・データに基づいて、各リソースについて候補シフトの組を決定するステップと、
各リソースに関連する前記候補シフトについて重み値を決定するステップと、
各候補シフトに関連する前記重み値に基づいて、ランク順序でリソースごとにシフト・スケジュールを決定するステップと、
を有する方法。
【請求項２】
前記リソース・データが、
リソース利用可能量と、
作業負荷適性度と、
技量と、
コストと、
優先度と、
作業負荷需要と、
重要度と、
を含む、請求項１に記載の方法。
【請求項３】
前記作業負荷需要および重要度が、期間の単位時間の増分に依存する、請求項２に記載の方法。
【請求項４】
前記リソース・ランク関数値を決定するステップが、
リソース優先度と、
リソースが実行し得るタスクの数と、
利用可能なタスクの総数と、
最大のリソース割当てコストと、
最大の全リソース割当てコストと、
前記リソースの最大の全技量と、
リソースの平均技量と、
前記リソースが既にスケジューリングされている合計時間と、
をさらに含む、請求項１に記載の方法。
【請求項５】
各候補シフトについて前記重み値を決定するステップが、各作業負荷の各単位時間について重みリスト値を決定することをさらに含む、請求項１に記載の方法。
【請求項６】
前記重みリスト値を決定するステップが、各リソースについて技量コストを決定することをさらに含む、請求項５に記載の方法。
【請求項７】
前記重みリスト値を決定するステップが、リソースが実施する資格がある各作業負荷について原需要を決定することをさらに含む、請求項５に記載の方法。
【請求項８】
前記重みリスト値を決定するステップが、前記原需要を調整することをさらに含む、請求項７に記載の方法。
【請求項９】
各シフトについて前記重みリスト値を決定するステップが、各シフトに渡って前記重みリストを積分することをさらに含む、請求項５に記載の方法。
【請求項１０】
各候補シフトについて前記重み値を決定するステップが、シフトを組み合わせて単一のシフトを提供することをさらに含む、請求項１に記載の方法。
【請求項１１】
ランク順序でリソースごとに前記シフト・スケジュールを決定するステップが、最も低いリソース・ランク関数値を有する前記リソースから開始し、最も高いリソース・ランク関数値を有する前記リソースで終了することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記重み値に基づいて前記候補シフト・スケジュールを決定するステップが、最も大きい重み値を有するシフトを選択することをさらに含む、請求項１に記載の方法。
【請求項１３】
リソースがスケジューリングされた後に、リソース利用可能量を調整するステップをさらに含む、請求項１に記載の方法。
【請求項１４】
リソースがスケジューリングされた後に、リソース作業負荷特性を更新するステップをさらに含む、請求項１に記載の方法。
【請求項１５】
リソースがスケジューリングされた後に、関連する需要がない作業負荷を削除するステップをさらに含む、請求項１に記載の方法。
【請求項１６】
請求項１に記載の方法を使用して生成された出力データ・セットの表現であって、
前記出力データ・セットは、
出力スケジュールをコンピュータ読取り可能媒体内に格納すること、または、
前記出力スケジュールを互いに通信するエンティティに電子信号を介して転送すること、により、後続の解析のために保持される、出力データ・セットの表現。
【請求項１７】
コンピュータ読取り可能媒体内に格納される、請求項１に記載の方法を利用するリソース・スケジューリング・プログラムによって生成された結果。
【請求項１８】
人間が読取り可能な形式で印刷される、請求項１に記載の方法を利用するリソース・スケジューリング処理プログラムによって生成された結果。
【請求項１９】
互いに通信するエンティティに電子信号を介して転送される、請求項１に記載の方法を利用するリソース・スケジューリング・プログラムによって生成された結果。
【請求項２０】
請求項１に記載の方法によって取得されるリソースのスケジュールの出力を遠隔位置に通信するステップを含む方法。
【請求項２１】
請求項１に記載の方法を使用して生成されたデータを受信するステップを含む方法。
【請求項２２】
リソースのスケジュールを決定するためのシステムであって、
コンピュータ・プロセッサと、
１つまたは複数の入力データ・セットがリソース・スケジューリング・データ処理システムによって受信されるための通信媒体と、
１つまたは複数のメモリ・コンポーネント内に格納され、前記コンピュータ・プロセッサによって実行されるプログラムであって、リソースおよび関連リソース・データの組を受信し、前記関連リソース・データに基づいて各リソースについてリソース・ランク関数値を決定し、各リソースに関連する前記リソース・ランク関数値に基づいて各リソースを順位付けし、前記関連リソース・データに基づいて各リソースについて候補シフトの組を決定し、各リソースに関連する前記候補シフトについて重み値を決定し、各候補シフトに関連する前記重み値に基づいて、ランク順序でリソースごとにシフト・スケジュールを決定する、プログラムと、
を有するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソースを使用するための少なくともほぼ最適なスケジュールを決定することに関し、詳細には、顧客満足およびリソース満足を増加させ、運用コストを低減させる少なくともほぼ最適なリソースのスケジュールを決定するための方法およびシステムに関する。
【背景技術】
【０００２】
本出願は、２００２年１０月２３日に出願した米国仮出願第６０／４２０９２０号の優先権を主張する２００３年１０月２３日に出願した米国特許第１０／６９３６２３号の一部継続出願である。
【０００３】
管理者は、顧客満足およびリソース満足を増加させ、それと同時に運用コストを低減させようとして、労働者および／または装置などのリソースをスケジューリングする難しいタスクにしばしば直面する。一般に顧客満足は、所与の時間区間の間に予想される顧客ニーズを満足させる適切な数のリソースを提供することによって達成される。所与の時間区間の間に顧客ニーズを満足させるのに必要なリソースの数は、「需要」と称される。たとえば、一般的な小売店取引のレジ精算段階の間、顧客のレジ待ち時間を短くし、顧客満足に対処するために適切な数の適任のレジ係を配置することによって、顧客満足は達成され得る。しかし、顧客満足を運用コストと均衡させることが求められる。たとえば、人件費は一般に、小売店の運用コストに大きく寄与する。多数のレジ係を配置することは、顧客満足を大きく増加させるが、しかし利益減少の代償を伴い得る。さらに、管理者は、リソース満足も確実に達成されることを必要とする。たとえば、管理者は、貴重な従業員を、その経験、専門知識、および長い期間に渡る組織への忠誠心の理由から保持したいと望み得る。一般に管理者は、従業員満足を達成しようと努めて、適切な場合には、年功、職務、および勤務シフトの嗜好、有給および無給休暇のスケジューリング、連続休暇、適切に混合された作業活動を割り当てることによって退屈さおよび欲求不満を低減させること、ならびに残業手当の割当てについて考慮し得る。設備満足は、劣化、償却および保守を考慮することによって達成され得る。
【０００４】
一般に管理者は、リソース割当てのため、固定のシフト・スケジュールを使用する。図１〜４は、仮想の小売店の一般的な買い物日の顧客レジ精算の需要を満足させるためにレジ係を固定シフトに割り当てることの一例を示している。図１〜４で、図１の軸１０１などの横軸は、一般的な買い物日に小売店が開いている単位時間の時刻に対応する。図１は、仮想の小売店の営業時間の間のレジ係サービスについての仮想の需要グラフのプロットである。図１で縦軸１０２は、レジ係の需要に対応する。需要グラフ１０５は、開店時１０３と閉店時１０４の間のレジ係サービスの需要を表す。たとえば午後１２時（１０６）と午後３時（１０７）の間、レジ係サービスの需要は、グラフ１０５のエッジ１０８によって示されるように、４人のレジ係である。開店時１０３と午後５時（１０９）の間にレジ係サービスの需要は、着実に増加し、それに続いて午後６時（１１０）と閉店時１０４の間に急激に減少する。
【０００５】
一般に従業員および管理者は、従業員スケジューリングのタスクを簡略化しようと努めて、就労時間を重複する固定のシフトに分割する。図２は、図１に示す需要グラフを満足させるために用いられる多数の可能な重複する固定シフトのうちの３つを示している。図２に、「朝」、「昼」および「晩」と称される３つの９時間シフトが、それぞれ線２０１〜２０３によって表されている。たとえば線２０１は、午前８時（２０４）から始まり午後５時（２０５）に終了する９時間の朝シフトを表している。シフトは、日中に存在するレジ係の最大数が顧客需要の最も高い時間にできるだけ近く一致するように２時間だけ時間がずらされている。
【０００６】
所与の日に労働可能なレジ係が５人しかいない小売店の管理者は、図２に示す固定シフトを使用して、２人のレジ係を朝シフト２０１に、２人のレジ係を昼シフト２０２に、１人のレジ係を晩シフト２０３に割り当て得る。図３は、図１および２を参照して上述した仮想の小売店の開店時間の間のスケジューリングされたレジ係の数のプロットである。図３で、縦軸３０１は働くレジ係の数に対応する。グラフ３０２は、需要グラフ１０５（図１）によって表される顧客需要を満足させるための時間当たりの働くレジ係の数を表しており、「供給グラフ」の一例である。供給グラフ３０２は、時間ごとに作業に割り当てられた従業員の数を合計することによって作られる。たとえば供給グラフ３０２のエッジ３０３は、午後１２時（３０４）と午後５時（３０５）の時間の間の顧客需要を満足させるために５人のレジ係が割り当てられることを示しており、図２の午後１２時（２０６）と午後５時（２０５）の時間の間のシフト２０１〜２０３に割り当てられる従業員の数を合計することによって求められる。
【０００７】
需要グラフ１０５（図１）から供給グラフ３０３を引くと、考えられる人員過剰および人員不足の期間が識別される。人員過剰は、予想需要を満足させるのに必要であるよりも多いリソースがスケジューリングされる状態である。人員過剰の間、従業員はタスクがない状態であることがあり、従業員は無労働に対する対価を受け取っているので、それは事業の運用コストを増大させる。人員不足は、予想需要を満足させるには、スケジューリングされまたはスケジューリングされ得るよりも多くのリソースを必要とする状態であり、それは、顧客の待ち時間の増加によって顧客満足のレベルを低くする。図４は、図１および３にそれぞれ示される需要および供給グラフについて人員過剰および人員不足を識別するプロットである。図４で縦軸４０１は、需要グラフ（図１の１０５）から供給グラフ（図３の３０２）を引いたものに対応する。斜線の領域４０２は人員過剰の期間を識別し、網掛けの領域４０３および４０４は、人員不足の期間を識別する。図４で提供される情報は、領域４０２で識別される人員過剰の期間の間、売り場を整理しまたは顧客の返品を処理する追加のタスクにレジ係を割り当てるために、小売店管理者によって使用されることができる。小売店管理者は、顧客需要を満足させようと努めて、領域４０３および４０４によって識別される人員不足の期間の間、レジ係と兼務させるために、仕入れなど、店の別の場所でタスクを完遂するのに割り当てられた他の従業員を割り当てることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図１〜４を参照して上記で示した例は、仮想の小売店についての顧客需要およびリソース供給の簡略化されたモデルを表している。実生活では、２０、５０、５００、１０００またはより多くの従業員など、多数の従業員をスケジューリングすることの責任を担う従業員および管理者は、顧客満足および従業員満足を達成し、それと同時に運用コストを低減させることの難しい課題に直面する。従業員および管理者は、従業員スケジュールを決定するため、各従業員のスキル、経験、年功、賃金および利用可能性を考慮する必要もあり得る。さらに、管理者は、特定の作業を実施するために使用される車両および道具など、設備をスケジューリングする必要があり得る。従業員および管理者は、顧客満足およびリソース満足を増加させ、それと同時に運用コストを低減させるリソースのスケジューリングのためのより良い、一般に適用可能な方法およびシステムを求め続けている。
【課題を解決するための手段】
【０００９】
本発明の様々な実施形態は、顧客満足およびリソース満足を増加させ、運用コストを低減させるやり方でリソースをスケジューリングする。本発明のある実施形態は、最適なリソース順序付け手法を提供することによって線形時間で少なくともほぼ最適なリソースのスケジュールを決定するための方法を提供する。この方法は、リソースおよび関連のリソース・データの組を受信する。この方法は、関連リソース・データに基づいて、各リソースについてリソース・ランク関数値（resource-rank-function value）を決定する。各リソースに関連するリソース・ランク関数値に基づいて、各リソースがランク付けされる。この方法は、関連リソース・データに基づいて、それぞれのリソースについて１組の候補シフトを決定する。この方法は、各リソースに関連する候補シフトについて重み値を決定する。この方法は、各候補シフトに関連する重み値に基づいて、ランク順序でリソースごとにシフト・スケジュールを決定する。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態は、顧客満足およびリソース満足を増加させ、運用コストを減少させる、使用可能なリソースの少なくともほぼ最適なスケジュールを決定するための方法を対象とする。本発明の一実施形態は、最適なリソース順序付け手法を提供することによって線形時間で少なくともほぼ最適なリソースのスケジュールを決定するための方法を提供する。本発明は、リソースおよび関連リソース・データの仮想セットを参照して、さらに図表、制御フローチャートおよび数式を参照して、以下の４つのサブセクション、すなわち（１）概要、（２）入力、（３）リソース・スケジューリング、（４）実装で説明される。
【００１１】
概略
本発明の様々な実施形態は、１つまたは複数のタスク、およびタスクを実施するための１つまたは複数のリソースを提供する。リソースは従業員および／または設備を含み、各タスクは、１つまたは複数の作業活動を含み得る。リソースの少なくともほぼ最適なスケジュールは、まずリソース・ランク付け目的関数（resource ranking object function）を設定し、次いで各リソースを目的関数の最も低い値から目的関数の最も高い値にランク付けすることによって達成される。本発明の方法は、それぞれのリソースについて、最も低い目的関数値を有するリソースから開始し、最も高い目的関数値を有するリソースで終了するように、リソースのスケジュールを決定する。リソースのスケジュールは、各活動に関連する需要および重要性、各活動を実施するのに必要な技量（qualification）、ならびに各リソースのスケジューリングに関連するコストおよび技量に基づき決定される。各リソースがスケジューリングされた後に、リソースが実施しようとする各活動についての需要が調整され、より高くランク付けされた残りのリソースのスケジューリングにおいて、完全に達成された作業負荷はさらなる考慮から取り除かれる。
【００１２】
入力
本発明の実施形態を表す方法への入力は、リソース・データ、需要（demand）、コストおよび技量を含む。リソース・データは、従業員または設備のリストなど、リソース供給に言及し、リソースの適性度（eligibility）、利用可能量（availability）および優先度（priority）に関する情報を含む。タスクは、作業の各部分が特定の活動に関連している作業の１つまたは複数の部分または要素を含み得る。これらの１つまたは複数の活動は、作業負荷（workload）と称される。たとえば、「技術サポート」と呼ばれるコール・センタのタスクは、特定の製品に関するある特定の問題に対処することを対象とし得る。タスク「技術サポート」の２つの作業負荷は、英語での質問の回答、およびスペイン語での質問の回答を含み得る。リソースの適性度は、特定のリソースがタスクの特定の活動または作業負荷を実施する資格があり、または能力があるかどうかに言及する。
【００１３】
図５は、ある特定の仮想の作業負荷を実施することができる１組の仮想リソースの適性度を示している。図５に、３つの異なるリソース５０１〜５０３がそれぞれＲ１、Ｒ２およびＲ３によって、また３つの異なるタスク５０４〜５０６がそれぞれＴ１、Ｔ２およびＴ３によって表されている。タスクＴ１５０４およびタスクＴ２５０５はそれぞれ、Ｗ１１５０７およびＷ１２５０８によって各々表される単一の作業負荷で構成される。タスクＴ３５０６は、Ｗ１３５０９およびＷ２３５１０によって表される２つの作業負荷で構成される。それぞれの作業負荷について、上付き文字は関連するタスクのインデックスを指し、下付き文字は作業負荷のインデックスであることに留意されたい。図５で各リソースは、リソース適性度を表す直線５１１などの直線によって、３つの異なる作業負荷に接続されている。たとえば、タスクＴ３５０６は上述のコール・センタの「技術サポート」を表すことができ、リソースＲ１５０１、Ｒ２５０２およびＲ３５０３は従業員を表し得る。タスク「技術サポート」の２つの作業負荷Ｗ１３およびＷ２３は、製品に関する英語での回答５０９、および製品に関するスペイン語での回答５１０をそれぞれ含む。リソースＲ１５０１は、英語およびスペイン語に堪能なので、直線５１１および５１２によってそれぞれ示すように作業負荷Ｗ１３５０９およびＷ２３を実施する資格がある。リソースＲ２５０２は英語に堪能なので、直線５１３は、リソースＲ２５０２が作業負荷Ｗ１３を実施する資格があることを示している。リソースＲ３はスペイン語に堪能なので、直線５１４は、リソースＲ３５０３が作業負荷Ｗ２３を実施する資格があることを示している。
【００１４】
リソース利用可能量は、リソースが働くことができる、または働く気があるスケジューリング期間の間の時間区間に言及する。たとえばある従業員の利用可能量は、従業員が働くことができる週、または働くことができない週の時間区間に言及する。図６Ａは、図５を参照して上述した各リソースについて別個のリソース利用可能量を示している。図６Ａ、および以下で述べる図６Ｂでは、軸６０１などの横軸は、単位時間６０２のようにｔで示される、２６個の単位時間で構成された長さＴの期間に対応する。期間はスケジューリングされる単位時間の総数であり、それぞれの単位時間は、リソースが働くようにスケジューリングされ得る時間の最小量を表す。たとえば、単位時間は０．２５時間（１５分）であり、１週間のスケジューリング期間は、６７２単位時間（４単位／時×２４時間／日×７日／週）を含み得る。図６Ａで縦軸６０３〜６０５は、それぞれリソースＲ１、Ｒ２およびＲ３に対応する。グラフ６０６〜６１１は、それぞれ１単位の高さであり、Ｒ１、Ｒ２およびＲ３が期間Ｔの間に働くようにスケジューリングされ得る場合の利用可能な時間区間６１３〜６１８を識別する。たとえばグラフ６１０および６１１はそれぞれ、リソースＲ３が第１および第２の利用可能な時間区間６１７および６１８の間で作業するよう利用可能であることを示している。グラフ６１０および６１１は、リソースＲ３が時間区間６１７および６１８の間、作業負荷Ｗ１１、Ｗ１２およびＷ２３のいずれかを実行するのに利用可能であることを示している。
【００１５】
図６Ｂは、期間Ｔに渡るリソースＲ１、Ｒ２およびＲ３の利用可能量の合計を示している。図６Ｂで縦軸６１９は、利用可能量の合計に相当する。グラフ６２０は、リソースＲ１、Ｒ２およびＲ３の合計の利用可能量を表しており、図６Ａを参照して上述した利用可能量を合計することによってもたらされる。たとえば、グラフ６２０のエッジ６２１は、区分６２２によって識別される共通の単位時間に渡ってグラフ６０６、６０８および６１０を合計する結果である。エッジ６２１は、区分６２２によって識別される単位時間の間、２つのリソースがスケジューリングに利用可能であり得ることを示している。
【００１６】
リソースの優先度は、各リソースの優先の格付けに言及し、ユーザによって割り当てられる。たとえば、優先度は、従業員の年功に言及し得る。年功は、雇用者への継続的な奉仕の長さに基づいて従業員によって得られる特権的な地位である。他の従業員より年功のある従業員には、年功の少ない従業員より高い優先度値が割り当てられる。
【００１７】
リソース・データは、リソースがスケジューリングされ得る最小および最大のシフトの長さを含むこともできる。シフトは、リソースが働くようにスケジューリングされる利用可能な時間区間の間の連続的な時間区間である。換言すると、最小および最大のシフトの長さは、リソースが利用可能な時間区間の間にどれくらいの長さ働くようにスケジューリングされ得るかについて制限を設ける。たとえば、４時間の最小シフトの長さ、および９時間の最大シフトの長さを有する従業員は、４時間以上、かつ９時間以下の長さの利用可能な時間区間の間の任意のシフトに割り当てられ得る。
【００１８】
需要（demand）は、所与の時間区間の間に所与の作業負荷について予想される顧客ニーズを満足させるのに必要なリソースの数を指す。たとえば、コール・センタの需要は、単位当たりに受信される着信の数および種類を予想することによって決定され得る。一般に需要は、顧客ニーズを満たすのに適した数のリソースを割り当てることによって満たされる。図７Ａ〜Ｄは、図５を参照して上述した４つの作業負荷Ｗ１１、Ｗ１２、Ｗ１３およびＷ２３についての仮想の需要グラフのプロットである。図７Ａ〜Ｄで、軸７０１などの横軸は期間Ｔに対応し、軸７０２などの縦軸はリソースの需要に対応する。図７Ａ〜Ｄで需要は、所与の単位時間ｔに必要とされるリソースの数を示すグラフによって表され、ｄｅｍａｎｄ（ｔ）によって示される。たとえば、図７Ａで、期間Ｔに渡る作業負荷Ｗ１１（図５の５０７）の需要は、グラフ７０３および７０４によって表される。エッジ７０５は、時間区間７０６に渡る顧客ニーズを満足させるのに２つのリソースが必要であることを示しており、エッジ７０７は、時間区間７０８に渡る顧客ニーズを満足させるのに１つのリソースが必要であることを示している。
【００１９】
図７Ａ〜Ｄに示す需要グラフは、需要を満足させる重要度の表示をも含む。顧客需要を満足させることは、ある時において事業運営上より重要であり得るので、重要度は単位時間に依存し、特定の時間区間に渡って需要を満足させることに対して値を割り当てることによって決定される。重要度の決定は、本発明の方法の範囲外である。図７Ａ〜Ｄは、重要度の３つの異なるレベルを示している。図７Ｃの領域７０９など交差斜線の領域は重要度の最も高いレベルを識別し、図７Ｃの領域７１０など斜線の領域は重要度の中レベルを識別し、図７Ｃの７１１および７１２は重要度の最低レベルを識別する。
【００２０】
コストおよび技量は、割当てコスト（assignment cost）および作業負荷コスト（workload cost）など、本発明の方法が減少させようと試みる費用の構成要素を含む。割当てコストは、特定の作業負荷に対してリソースをスケジューリングするコストである。換言すると、リソースが実施し得る各作業負荷について、関連する割当てコストが存在する。たとえば従業員リソースでは、従業員の賃金は割当てコストの構成要素である。ガソリンで活動する設備リソースでは、ガロン当たりの価格は割当てコストの構成要素であり得る。さらに、労働者に関連する割当てコストは、医療費コスト、および従業員の特定の作業負荷の労働に対する消極的態度を含み得る。
【００２１】
次いで、図８〜１１は、割当てコスト、作業負荷コスト、最小平均技量（minimum average qualification）、および図５を参照して上述した各作業負荷に関連する技量を示している。それぞれの表に示すエントリ値は、作業負荷の技量に割り当てられる仮想のコストおよび値を表すことに留意されたい。これらの値は、本発明の諸方法を例示する助けとするために含められており、以下でより詳細に述べられており、また本発明の実施において決定される実際の値を表すためのものではない。図８〜１１に示すエントリ値の決定は、本発明の範囲外であることに留意されたい。
【００２２】
図８は、図６を参照して上述した仮想のリソースについての割当てコストの表である。図８で様々なエントリは、リソースＲ１、Ｒ２およびＲ３（図５の５０１〜５０３）をその適格な各作業負荷Ｗ１１、Ｗ１２、Ｗ１３およびＷ２３（図５の５０７〜５１０）に割り当てるコストを識別する。たとえば、エントリ８０１〜８０３は、スケジューリング・リソースＲ３の作業負荷Ｗ１１への割当てコストが１であり、リソースＲ３の作業負荷Ｗ１２への割当てコストが３であり、リソースＲ３の作業負荷Ｗ２３への割当てコストが１．５であることをそれぞれ示している。エントリ８０４など、値をもたないエントリは、リソースが実施する資格がない作業負荷を示している。
【００２３】
作業負荷コストは、特定の作業負荷に対する需要を満たし損ねることに関するコストを表す。たとえば、「販売」と呼ばれるタスクを有する小売店について考慮されたい。タスク「販売」は、２つの作業負荷「婦人靴」および「紳士装飾品」をもつ。販売員は、その適性度に応じてこれらの作業負荷のうちの１つまたは両方を担当することができる。靴部門の売上は１販売員当たり＄１，０００／時であり、紳士部門の売上は１販売員当たり＄３００／時である。「婦人靴」はより価値のある作業負荷なので、「婦人靴」に割り当てられる作業負荷コストはさらに高い。図９は、図５に示す作業負荷についての仮想の作業負荷コストの表である。図９でエントリ９０１〜９０４は、それぞれ作業負荷Ｗ１１、Ｗ１２、Ｗ１３およびＷ２３について、仮想の作業負荷コストを識別する。
【００２４】
コストおよび技量は、各作業負荷に必要な最小の平均技量レベルをも含む。最小の平均技量は、各作業負荷で常に維持される能力の平均レベルを表す。たとえば小売店のタスク「レジ係」は、低い技量の作業負荷「照合（checking）」、およびより高い技量の作業負荷「返品」を含み得る。したがって、より低い最小平均技量値は、作業負荷「返品」よりも作業負荷「照合」に割り当てられる。図１０は、図５に示す各作業負荷について維持される仮想の最小平均技量の表である。図１０で、エントリ１００１から１００４は、それぞれ作業負荷Ｗ１１、Ｗ１２、Ｗ１３およびＷ２３を実施するのに必要な最小平均技量を識別する。
【００２５】
最後に、コストおよび技量は、各リソースに関連する技量値を含む。技量値は、リソースの特定の作業負荷を実施する能力を表す。技量値は、適格な作業負荷の実施についての各リソースの技量を評価することによって決定される。たとえば、一般的な小売店の人員は、各作業負荷についての混合された専門知識レベルで構成され得る。新しいレジ係は、作業負荷「返品」を全く処理したことがないかもしれず、結果として、作業負荷「返品」について低い技量値が割り当てられ、別のレジ係は、作業負荷「返品」を長年処理してきたかもしれず、結果として、作業負荷「返品」について高い技量値が割り当てられる。図１１は、作業負荷ごとの各リソースについての仮想技量レベルの表である。図１１でエントリ１１０１〜１１０３は、Ｒ３が作業負荷Ｗ１１については技量値３を、作業負荷Ｗ１２については技量値２を、作業負荷Ｗ２３については技量値１をそれぞれ有することを示している。
【００２６】
リソース・スケジューリング
まず、本発明の多数の可能な実施形態のうちの１つで、以下の数式に従って各リソースにリソース・ランク関数値（resource-rank-function value）が割り当てられる。
【数１】
2007529789.tif 000003
ここで、Ｐ＝優先度、
ＮＴ＝リソースが実行し得るタスクの数、
ＴＮＴ＝利用可能なタスクの総数、
ＭＲＡＣ＝最大のリソース割当てコスト、
ＭＯＲＡＣ＝最大の総リソース割当てコスト、
ＭＯＱ＝リソースの最大の総技量、
ＡＱ＝リソースの平均技量、
Ｔｏｔ＝リソースが既にスケジューリングされている合計時間、である。
【００２７】
ｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎは、各リソースをランク付けするための多数の可能な実施形態のうちの１つを表している。ｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎによって与えられる値は、最も低いリソース・ランク関数値を有するリソースから、最も高いリソース・ランク関数値を有するリソースへの順番で、利用可能なリソースをランク付けするために使用される。リソースは、最も低くランク付けされたリソースから開始し、最も高くランク付けされたリソースで終了するランク順序でスケジューリングされる。
【００２８】
図１２は、入力変数、ならびに図５で示した仮想のリソースＲ１、Ｒ２、およびＲ３について決定されるｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎを示す表である。列１２０１では、それぞれのリソースがリストされている。列１２０２では、各リソースに割り当てられた優先度が与えられる。列１２０３では、各リソースが実施することができるタスクの数が与えられる。たとえばＮＴは、リソースＲ１はタスクＴ１およびＴ３の作業負荷を実施することができるので（図５参照）、リソースＲ１については値２が割り当てられる。一方、ＮＴは、リソースＲ２とリソースＲ３の両方が３つのすべてのタスクＴ１、Ｔ２およびＴ３の作業負荷を実施する資格があるので（図５参照）、リソースＲ２およびＲ３については値３が割り当てられる。列１２０４では、ＴＮＴは、タスクの合計数が３なので（図５参照）、それぞれのリソースについて値３が割り当てられる。列１２０５は、変数ＭＲＡＣに割り当てられる値を含む。たとえば、ＭＲＡＣ１２１３は、リソースＲ３について値３が割り当てられる（図８のエントリ８０２を参照）。列１２０６では、４が最大の割当てコスト値なので（図８のエントリ８０４参照）、ＭＯＲＡＣは、各リソースについて値４が割り当てられる。列１２０７では、ＭＯＱは、それぞれのリソースについて値３が割り当てられる（図１０のエントリ１００２参照）。列１２０８では、ＡＱが、それぞれのリソースについて与えられる。たとえばリソースＲ３についてＡＱは、図１１のエントリ１１０１、１１０２および１１０３内に置かれた値を平均することによって決定される。列１２０９は、リソースがまだ割り当てられていないので、エントリはすべて値「０」を有する。列１２１２では、各リソースのそれぞれの値をｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎに代入することよって決定される各リソースのランクが与えられる。
【００２９】
運用コストを低減させるためリソースは、最も低いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有するリソースから始めて、ｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎの昇順にスケジューリングされる。たとえばリソースＲ３は、最も低くランク付けされたリソースなので（図１２のエントリ１２１４参照）、最初にスケジューリングされる。
【００３０】
次いで、リソースが実施する資格がある各作業負荷について、技量コストが決定される。技量コストは、特定のリソースを特定の作業負荷に割り当てることに関するコストである。本発明の多数の可能な実施形態のうちの１つでは、各作業負荷についての技量コストは、以下の数式によって求められる。
【数２】
2007529789.tif 000004
ここで、ｉ＝リソースのインデックス、
ｋ＝タスクのインデックス、
ｊ＝作業負荷のインデックス、
ｍｉｎ＿ａｖｅ＿ｑｕａｌｉｆｉｃａｔｉｏｎ＝Ｒ１より高いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有する各リソースの最小平均技量、
ａｖｅ＿ｑｕａｌｉｆｉｃａｔｉｏｎ＝Ｒ１より高いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有する各リソースの平均技量、である。
【００３１】
ｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔはまず、図１２を参照して上述したｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎに従って、最も低くランク付けされたリソースについて決定される。たとえば、リソースＲ３が最も低いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有するので、ｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔは、リソースＲ３が実施する資格のある各作業負荷について決定される。ｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔの決定は、スケジューリングされていないリソースに基づく。たとえば、最も低くランク付けされたリソースＲ３についてのｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔは、図１０および１１を参照して上述した技量値に基づく。
【００３２】
図１３および１４は、リソースＲ３のｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔの決定について示す表である。図１３は、スケジューリングされていないリソースＲ１およびＲ２のａｖｅ＿ｑｕａｌｉｆｉｃａｔｉｏｎの表である。ａｖｅ＿ｑｕａｌｉｆｉｃａｔｉｏｎは、リソースＲ３より高いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有するリソースについて決定される。図１３でエントリ１３０１〜１３０３は、リソースＲ１およびＲ２についての平均技量値である。たとえば、ａｖｅ＿ｑｕａｌｉｆｉｃａｔｉｏｎ（Ｒ３、Ｗ２３）エントリ１３０３は、リソースＲ１およびＲ２、また作業負荷Ｗ２３についての技量値を平均することによって決定される（（２＋０）／２；図１１のエントリ１１０４および１１０５参照）。図１４は、図１０のエントリ１００１、１００２および１００４から、それぞれエントリ１３０１〜１３０３を引くことによって決定されるｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔ値の表である。
【００３３】
本発明の実施形態は、より高くランク付けされたリソースの前により低くランク付けされたリソースをスケジューリングすることを対象としているが、一般に、リソースが高くランク付けされるほど、作業負荷に関してより高い優先度を有する。より高くランク付けされたリソースを考慮するために、低くランク付けされたリソースに関連する作業負荷需要グラフ（workload demand curves）は、スケジューリングされていない高くランク付けされたリソースの使用可能量を減算することによって調整される。換言すると、より低くランク付けされたリソースは、より高くランク付けされたリソースが既にスケジューリングされているという仮想に基づいてスケジューリングされる。たとえば、リソースＲ３の需要を決定するために、スケジューリングされていないリソースＲ１およびＲ２の利用可能量は、最も低くランク付けされたリソースＲ３に関連する作業負荷需要グラフから減算される。図１５は、スケジューリングされていない残りのリソースＲ１およびＲ２の利用可能量のプロットである。図１５で横軸１５０１は期間Ｔに対応し、縦軸１５０２は利用可能なリソースの数に対応する。グラフ１５０３は、リソースＲ３のスケジューリング後のスケジューリングされていないリソースＲ１およびＲ２の利用可能量を表しており、ｒｅｍａｉｎｉｎｇ＿ａｖａｉｌａｂｉｌｉｔｙ（残りの利用可能量）と称される。利用可能量グラフ１５０３は、期間Ｔに渡って図６ＡのリソースＲ１およびＲ２の利用可能量グラフ６０６〜６０９を合計することによって求められる。利用可能量グラフ１５０３もまた、図６Ｂに示す利用可能量グラフ６２０から利用可能量グラフ６１０および６１１を減算することによって求められ得ることに留意されたい。
【００３４】
次いで、最も低くランク付けされたリソースが実施する資格のある各作業負荷に対する原需要（raw demand）が決定される。本発明の多数の可能な実施形態のうちの１つでは、原需要は、以下の数式によって求められる。
【００３５】
raw_demand（ｔ）＝demand（ｔ）−remaining_availability（ｔ）
ここで、ｔ＝単位時間である。
【００３６】
図１６Ａ〜Ｃは、最も低くランク付けされたリソースＲ３についてのｒａｗ＿ｄｅｍａｎｄグラフのプロットである。図１６Ａ〜Ｃで、横軸１６０１などの横軸は期間Ｔに対応し、縦軸１６０２などの縦軸は作業負荷Ｗ１１、Ｗ１２およびＷ２３に対する原需要に対応する。図１６Ａの原需要のグラフ１６０３は作業負荷Ｗ１１の原需要を表し、この原需要は、図７Ａに示す作業負荷Ｗ１１の需要（ｔ）のグラフから、図１５を参照して上述したｒｅｍａｉｎｉｎｇ＿ａｖａｉｌａｂｉｌｉｔｙを減算することによって求められる。図１７Ａ〜Ｃで、作業負荷Ｗ１１の領域１６０４〜１６０６のような正の値の領域は、作業負荷Ｗ１１などの作業負荷に対してリソースＲ１およびＲ２をスケジューリングすることで生じる未達成の（unsatisfied）需要を識別する。換言すると、正の値の領域は、最も低くランク付けされたリソースＲ３の需要を識別する。領域１６０７など、負の値の領域は、リソースＲ１およびＲ２を同じ作業負荷にスケジューリングすることによって生じ得る人員過剰を識別する。
【００３７】
次いで、本発明の多数の可能な実施形態のうちの１つでは、最も低くランク付けされたリソースが実施する資格がある各作業負荷について、関連するｒａｗ＿ｄｅｍａｎｄが、以下をもたらす次式に従って調整される。
【００３８】
dem_cost（ｔ）＝raw_demand（ｔ）＋｜overall_minimum｜＋1.0
ただし、｜overall_minimum|＝リソースが実施する資格があるすべての作業負荷に対する原需要の総最小値の絶対値である。
【００３９】
図１７Ａ〜Ｃは、リソースＲ３が実施する資格がある各作業負荷についての需要コスト（demand_cost）のプロットである。図１７Ａ〜Ｃで、横軸１７０１などの横軸は期間Ｔに対応し、縦軸１７０２などの縦軸は、需要コストの軸である。グラフ１７０３〜１７０５は、リソースＲ３が実施する資格がある各作業負荷についてのｄｅｍ＿ｃｏｓｔ（ｔ）を表す。たとえば、リソースＲ３の原需要のｏｖｅｒａｌｌ＿ｍｉｎｉｍｕｍは、図１６Ｂ〜Ｃのエッジ１６０８および１６０９によって示されるように「−２」である。ｄｅｍ＿ｃｏｓｔ（ｔ）の数式によれば、グラフ１７０３は、総最小値の絶対値「２」に値「１」を加算した値を、図１６Ａに示すｒａｗ＿ｄｅｍａｎｄ（ｔ）に加算することによって求められる。
【００４０】
次いで、本発明の多数の可能な実施形態のうちの１つでは、最も低くランク付けされたリソースが実施する資格がある各作業負荷についての重みリストが、以下の数式に従って計算される。
【００４１】
Weight_list(t)＝workload_cost×qualification_cost×importance(t)
×dem_cost(t)−assignment_cost
【００４２】
図１８Ａ〜Ｃは、リソースＲ３が実施する資格がある各作業負荷Ｗ１１、Ｗ１２およびＷ２３について決定される重みリストのプロットである。図１８Ａ〜Ｃで、軸１８０１などの横軸は時間Ｔに対応し、縦軸１８０２などの縦軸は、重みリスト値に対応する。重みリストのグラフ１８０３〜１８０５は、リソースＲ３が実施する資格がある各作業負荷について、数式ｗｅｉｇｈｔ＿ｌｉｓｔに従って決定される。たとえば、図１８Ａでｗｅｉｇｈｔ＿ｌｉｓｔの値は、時間区間１８０６に渡り「１７」であり、数式ｗｅｉｇｈｔ＿ｌｉｓｔ（ｔ）内で、ｗｏｒｋｌｏａｄ＿ｃｏｓｔ（図９のエントリ９０１）には値「２」を、ｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔ（図１４のエントリ１４０１）には値「１．５」を、図７Ａを参照して上述したｉｍｐｏｒｔａｎｃｅには値「１．５」を、ｄｅｍ＿ｃｏｓｔ（図１７Ａの時間区間１７０６）には値「４」を、ａｓｓｉｇｎｍｅｎｔ＿ｃｏｓｔ（図８の８０１）には値「１」を代入することによって計算される。
【００４３】
次いで、最も低くランク付けされたリソースについて、すべての可能な候補シフトが、上述のリソース・データ内で提供される最小および最大シフトの長さに基づいて生成される。各シフトの長さが指定された最小と最大のシフト長さの間にあるように、リソースはスケジューリングされる。候補シフトは、最小のシフトから開始して、最大のシフトで終了し、各シフトの長さを単位時間ｔだけ増分的に増大させることによって生成される。たとえば、７時間の最小シフト長、および９時間の最大シフト長を指定する従業員は、単位時間ｔを０．２５時間として、長さ７、７，２５、７，５、７，７５、８、８，２５、８，５、８，７５および９時間のシフトにスケジューリングされ得る。簡単にするために、リソースＲ３は、２単位時間の最小シフト長、および５単位時間の最大シフト長を有しており、単位時間での可能なシフトの長さは、２、３、４および５単位時間である。
【００４４】
可能なシフトの長さが決定された後に、リソースの各利用可能な時間区間（availability time interval）について、すべての可能な候補シフト割当てが決定される。図１９は、リソースＲ３についてのすべての実行可能な候補シフト割当てを示している。図１９では、４つの横軸１９０１〜１９０４は期間Ｔに対応し、単位時間１９０５および１９０６のような角括弧付きの単位時間は、リソースＲ３に関連する、図６Ａに示す第１および第２の利用可能な時間区間６１０および６１１を特定する。図１９で各横軸は、同じ単位時間の長さのすべての実行可能なシフトに関連しており、シフトは、各利用可能な時間区間に及ぶように１単位時間ずつずらされている。たとえば、期間１９０２に関連する候補シフトはすべて３単位時間の長さであり、候補シフト１９０７から１９１０は、破線１９１２および１９１３によって示すように、利用可能な時間区間１９１１の間にスケジューリングされ得る３単位時間のすべてのシフトを表している。
【００４５】
次いで、一実施形態では、各候補シフトについての重み関数値は、以下の数式に従って、各候補シフトに関連する時間区間に渡って各重みリストを積分することによって求められる。
【数３】
2007529789.tif 000005
ここで、shift_s_startおよびshift_s_endは、シフト開始時間およびシフト終了時間である。
【００４６】
あるリソースのほぼ最適なスケジュールは、その関連する重み値、ｗｅｉｇｈｔ（ｓ）に基づいてシフトまたはシフトの組合せを選択することによって決定される。
【００４７】
図１８Ａ〜Ｃに示す重みリストに基づいて図２０Ａ〜Ｃは、図１９に示す候補シフト１９０７についての重みの決定について示している。グラフ２００４〜２００６は、図１８に示すグラフ１８０３〜１８０５と一致している。図２０Ａ〜Ｃで時間区間２００１〜２００３は、候補シフト１９０７に対応する単位時間を示している。ｗｅｉｇｈｔ（ｓ）値の決定を簡単にするため、単位時間にそれぞれ値「１」が割り当てられる。たとえば、それぞれの作業負荷Ｗ１１、Ｗ１２およびＷ２３について、候補シフト１９０７に関連するｗｅｉｇｈｔ（ｓ）値は、それぞれ網掛けの領域２００７〜２００９によって識別される部分である。網掛け領域２００７〜２００９の部分は、それぞれ３３、２９および６７．５である。
【００４８】
図２１は、図１９に示す各候補シフトについて計算されるｗｅｉｇｈｔ値を示している。図２１で、３個組数列２１０１のように各候補シフトの右に置かれた３個組の数列は、図１８Ａ〜Ｃに示すｗｅｉｇｈｔ＿ｌｉｓｔに関連する候補シフトについてのｗｅｉｇｈｔ（ｓ）の算出値であり、またこれらの値は図２０Ａ〜Ｃを参照して上述したように決定される。たとえば、シフト１９０７に関連する３個組数列２１０１の要素は、図２０Ａ〜Ｃを参照して上述したように、「３３」、「２９」および「６７．５」である。
【００４９】
各候補シフトについてすべてのｗｅｉｇｈｔ（ｓ）値が決定された後に、最大のｗｅｉｇｈｔ（ｓ）値を有する候補シフトを使用して、最も低くランク付けされたリソースのスケジュールを決定する。図２２〜２３は、図２１に示すｗｅｉｇｈｔ（ｓ）値に基づく、リソースＲ３の実行可能なシフト割当てについて示している。リソースＲ３のスケジュールは、最大のｗｅｉｇｈｔ（ｓ）値を有するシフトを選択することによって決定され得る。たとえば、図２１の各候補シフトのｗｅｉｇｈｔ（ｓ）値についての考察は、作業負荷Ｗ２３について、シフト２１０６および２１０７が、それぞれ最大のｗｅｉｇｈｔ（ｓ）値、「８８．５」および「４９」を有することを示している。図２２でリソースＲ３は、シフト２２０１および２２０２によって示すように、作業負荷Ｗ２３を実施するようにスケジューリングされ得る。代替の実施形態では、候補シフトの長さが最大シフト長の制約を超えないという条件で、ほぼ最適なリソースのスケジュールを決定するため、シフトの組合せが使用される。たとえば図２３で、図２１に示すシフト１９０７および２１０８は、合計ｗｅｉｇｈｔ（ｓ）値「１０８．５（６７．５＋３９）」を有する第１のシフト２３０１を提供するように組み合わせられることができ、図２１に示すシフト２１０９および２１１０は、合計ｗｅｉｇｈｔ（ｓ）値「５３．５（３９．５＋１４）」を有する第２のシフト２３０２を提供するように組み合わせられることができる。
【００５０】
代替の実施形態では、それぞれのシフトは、シフト間の最小間隔の制約をも受け得る。シフト間の最小間隔は、シフト間の連続した休み時間の量である。たとえば、シフト間の最小間隔の１６時間の制約は、従業員が帰宅し、食事し、睡眠し、職場に戻ることを可能にする。シフト間の最小間隔の制約は、リソース満足を達成するパラメータである。図２４Ａ〜Ｂは、単一期間内のシフト間の最小間隔の概念を示している。図２４Ａで、シフト間の最小間隔２４０１は、第１のシフト２４０２の最後と、第２のシフト２４０３の最初の間に位置する。シフト間の最小間隔２４０１は、第１シフト２４０２の最後が第２のシフト２４０３の最初に、時間上近すぎないことを保証する。第１の利用可能な時間区間の最後と第２の利用可能な時間区間の最初との間の距離がシフト間の最小間隔より小さい場合、第１および第２の利用可能な時間区間のうちの１つまたは両方の長さを短くすることによって調整される。たとえば図２４Ｂで、第１の利用可能な時間区間２４０６の最後２４０５と第２の利用可能な時間区間２４０８の最初２４０７との間の距離２４０４は、シフト間の最小間隔２４０９より小さい。第１および第２の利用可能な時間区間の長さ２４０６と２４０８の両方は、第１の利用可能な時間区間２４０６の最後２４０５を最後２４１０にシフトし、また第２の利用可能な時間区間２４０８の最初２４０７を最初２４１１にシフトすることによって、最小間隔２４０９に対処するように１単位時間だけ短縮され得る。
【００５１】
図２５は、第２期間の第１シフトの利用可能な時間区間の長さを増加させるため、第１期間の最後のシフトの利用可能な時間区間を短縮する概念を示している。図２５で第１期間の最後の利用可能な時間区間２５０１の長さ、およびシフト間の最小間隔２５０２は、第２期間の第１利用可能な時間区間２５０３の長さを短くしている。しかし、第１期間の最後のシフトが時間区間２５０４に割り当てられた後に、間隔２５０５は利用可能な時間区間２５０１から取り除かれ、最小間隔２５０２は最小間隔２５０６にシフトする。利用可能な時間区間２５０３は、間隔２５０７の分だけ、時間区間２５０８へと広げられる。増加された利用可能な時間区間の長さ２５０８は、第２期間の第１シフトがスケジューリングされ得る時間範囲を増加させる。
【００５２】
図２６Ａ〜Ｃは、リソースＲ３が図２３に示すシフトに割り当てられた後の、作業負荷Ｗ１１、Ｗ１２およびＷ２３についての更新された需要グラフのプロットである。図２６Ａ〜Ｃに示す需要グラフは、図７Ａ、ＢおよびＤに示す対応する需要グラフから、図２３に示すシフト割当てを引くことによって求められる。破線で囲まれた領域２６０１〜２６０５は、リソースＲ３を図２３に示す作業負荷に割り当てることによって満たされる需要を識別する。図２６Ａ〜Ｃに示す需要グラフは、次に最も低くランク付けされたリソースＲ１（図１２参照）の後続のスケジューリングに使用される。
【００５３】
ステップ１３１０で、需要が完全に満たされた作業負荷は取り除かれる。たとえば、リソースＲ３の図２７に示すシフトへのスケジューリングは作業負荷Ｗ１１、Ｗ１２およびＷ２３に対する需要（図３０Ａ〜Ｃ参照）を完全には満たしていないので、図８Ａ〜Ｄ示す需要グラフのいずれも取り除かれない。ステップ１３１１で、リソースＲ１およびリソースＲ２など、より多くのリソースがスケジューリングに利用可能である場合は、ステップ１３０４〜１３１１が繰り返され、そうでない場合は、制御はステップ１３１２に進む。ステップ１３１２で、最適なリソースのスケジュールが出力される。
【００５４】
実装
図２７〜３０は、図５〜２６を参照して上述した、ほぼ最適なリソースのスケジュールを決定する方法について説明する一連の制御フローチャートを提供している。図２７は、本発明の多数の可能な実施形態のうちの１つを表す制御フローチャートである。ステップ２７０１で、図５および図６を参照して上述したリソース・データおよびサイト２７０２、図７Ａ〜Ｄを参照して上述した需要２７０３、ならびに図８〜１１を参照して上述したコストおよび技量２７０４によって入力が構成される。ステップ２７０５で、ステップ２７０１を参照して上述した入力が、ルーチン「スケジューラ」に渡される。１回の実行で、ルーチン「スケジューラ」は、入力を少なくともほぼ最適なリソースのスケジュールに変換する。ステップ２７０６で、出力は、少なくともほぼ最適なスケジュールで構成される。
【００５５】
図２８は、本発明の多数の可能な実施形態のうちの１つを表すルーチン「スケジューラ」についての制御フローチャートである。ルーチン「スケジューラ」は、顧客満足およびリソース満足を増加させ、運営コストを低減させるほぼ最適なリソースのスケジュールを決定する。ステップ２８０１で、図２７のステップ２７０１を参照して上述した入力が提供される。ステップ２８０２で、それぞれのリソースについて、図１２を参照して上述したｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値が求められる。ステップ２８０３の外部ｆｏｒループでは、最も低いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有するリソースから開始し、最も高いｒｅｓｏｕｒｃｅ＿ｒａｎｋ＿ｆｕｎｃｔｉｏｎ値を有するリソースで終了するように、各リソースについてステップ２８０４〜２８１１が繰り返される。ステップ２８０４の内部ｆｏｒループでは、リソースが実施することができる各作業負荷について、ステップ２８０５〜２８０６が繰り返される。ステップ２８０５で、ルーチン「重みリストの決定」が呼び出される。ステップ２８０６で、さらなる作業負荷が利用可能である場合は、ステップ２８０５が繰り返され、そうでない場合は、制御はステップ２８０７に進む。ステップ２８０７で、ステップ２８０４〜２８０６で決定された重みリストがルーチン「シフト・スケジューリング」に渡され、最も低くランク付けされたリソースについて、ほぼ最適なシフト・スケジュールが決定される。ステップ２８０８で、リソース利用可能量が、図２４〜２５を参照して上述したように調整される。ステップ２８０９で、平均技量（図１３参照）など、リソースのタスク特性が更新され、図２６Ａ〜Ｃを参照して上述したように、各作業負荷に対する需要が更新される。ステップ２８１０で、需要のない作業負荷が取り除かれる。ステップ２８１１で、さらなるリソースがスケジューリングに利用可能である場合は、ステップ２８０４が繰り返され、そうでない場合は、制御はステップ２８１２に進む。ステップ２８１２で、ほぼ最適なリソースのスケジュールが出力される。
【００５６】
図２９は、本発明の多数の可能な実施形態のうちの１つを表すルーチン「重みリスト決定」の制御フローチャートである。このルーチンは、各作業負荷に関連する期間Ｔに渡る各単位時間についての重みリスト値を決定する。ステップ２９０１で、技量コストが、図１４を参照して上述したようにｑｕａｌｉｆｉｃａｔｉｏｎ＿ｃｏｓｔの数式に従って決定される。ステップ２９０２で、利用可能量が、図１５を参照して上述したように決定される。ステップ２９０３で、原需要が、図１６Ａ〜Ｃを参照して上述したようにｒａｗ＿ｄｅｍａｎｄの数式に従って決定される。ステップ２９０４で、原需要が、図１７Ａ〜Ｃを参照して上述したようにｄｅｍａｎｄ＿ｃｏｓｔの数式に従って調整される。ステップ２９０５で、重みリストが、図１８Ａ〜Ｃを参照して上述したようにｗｅｉｇｈｔ＿ｌｉｓｔの数式に従って決定される。
【００５７】
図３０は、本発明の多くの可能な実施形態のうちの１つを表すルーチン「シフト・スケジューリング」の制御フローチャートである。このルーチンは、ルーチン「重みリスト決定」で決定される重みリストに基づいて、ほぼ最適なスケジュールを決定する。ステップ３００１で、図１９を参照して上述したように、候補シフトが生成される。外部ｆｏｒループ３００２で、ステップ３００１で決定された各シフトについて、ステップ３００３〜３００６が繰り返される。内部ｆｏｒループ３００３で、ルーチン「重みリスト決定」で決定された各重みリストについて、ステップ３００４および３００５が繰り返される。ステップ３００４で、ｗｅｉｇｈｔ＿ｌｉｓｔの数式が、ステップ３００１で決定されたシフト時間区間に渡って積分される。ステップ３００５でさらなる作業負荷が利用可能である場合は、ステップ３００４が繰り返され、そうでない場合は、制御はステップ３００６に進む。ステップ３００６で、さらなるシフトが利用可能である場合は、ステップ３００３が繰り返され、そうでない場合は、制御はステップ３００７に進む。ステップ３００７で、図２２〜２３を参照して上述したように、最大の重みリスト値を有するシフトが選択される。
【００５８】
本発明について特定の実施形態に関して述べたが、本発明は、この実施形態に限定されるものではない。本発明の精神の範囲内の修正が、当業者には明らかである。たとえば、本発明の方法の多数の可能な実施形態のほぼ無限の数の異なる実装が、多くの異なるプログラミング言語のいずれかで書かれ、ファームウェア内で実施され、ハードウェア回路内で実施され、あるいはファームウェア、ハードウェアまたはソフトウェアのうちの１つまたは複数の組合せで実施され得る。代替の実施形態では、タスクが開店時間内にスケジューリングされ、また従業員の最大量を超過しないようにするために、リソース・スケジューリングにおいて容量が考慮に入れられ得る。容量は、営業時間と、特定の時間区間の間にタスクを実施することができるリソースの最大数との組合せである。代替の実施形態では、固定の割当てが対処され得る。固定の割当ては、リソースに特有のシフトである。リソースは、需要に関係なく固定シフトで働くようにスケジューリングされ、タスクまたはリソースによって固定され得る。リソースが従業員である代替の実施形態では、本発明は、打合せのスケジューリングを含み得る。リソースが設備である場合、本発明は、定期的な保守期間をスケジューリングすることを含み得る。代替の実施形態では、スケジューリング期間の間にリソースがスケジューリングされる時間量に関する制限を設けるために、期間ごとの最小および最大時間が実装され得る。代替の実施形態では、スケジューリング期間の間にリソースが働くことができるシフトの数を制限するために、最大のシフト数が使用され得る。リソースが従業員である代替の実施形態では、従業員がスケジューリング期間内に最低量の連続した休みを確実に受け取るように、連続した休みが含められ得る。リソースが従業員である代替の実施形態では、法律および会社方針を遵守するために、有給および無給の休憩がスケジューリングされ得る。代替の実施形態では、需要およびすべての可能な一定の時間が割り当てられた場合に、従業員リソースについて時間外勤務がスケジューリングされ得る。代替の実施形態では、絶対、ハードおよびソフト制約などの制約が、本発明の変数に対して課され得る。たとえば絶対制約は、タスク、作業負荷の適性度、容量およびリソース利用可能量などの変数に対して課され、これらの変数に割り当てられた値が変更されまたは違反されないようにし得る。ハード制約は、より高いランクを有する絶対制約またはハード制約が、より低くランク付けされた変数に優先するように、変数をランク付けするために使用され得る。ソフト制約は、絶対およびハード制約に関連する変数よりも重要性が低い変数に対して割り当てられ得る。
【００５９】
説明のため上記説明は、本発明についての完全な理解を提供するために、特定の用語を用いている。しかし、本発明を実施するために特定の詳細は必要ないことが当業者には明らかであろう。本発明の特定の実施形態についての上記説明は、例示および説明のために提示されている。それは、網羅的な、または開示した厳密な形に本発明を限定するものではない。明らかに、上記教示に鑑みて、多くの修正および変形が可能である。諸実施形態は、本発明およびその実用的な応用例について最もよく説明し、それによって他の当業者が本発明、および企図される特定の使用に適した様々な修正を伴う様々な実施形態を最もよく利用できるようにするために示され、または述べられている。本発明の範囲は、特許請求の範囲およびその等価物によって定義されるものである。
【図面の簡単な説明】
【００６０】
【図１】仮想小売店の営業時間の間のレジ係サービスについての仮想需要グラフのプロットを示す図である。
【図２】図１に示す需要グラフを満たすために使用される多数の可能な重複する固定シフトのうちの３つを示す図である。
【図３】仮想小売店の営業時間の間にスケジューリングされるレジ係の数のプロットを示す図である。
【図４】人員過剰および人員不足を識別するプロットを示す図である。
【図５】仮想作業負荷についての仮想リソースの適性度を示す図である。
【図６Ａ】３つの仮想リソースについての利用可能量のプロットを示す図である。
【図６Ｂ】図６Ａに示す３つの仮想リソースの合計利用可能量のプロットを示す図である。
【図７Ａ】仮想の需要グラフのプロットを示す図である。
【図７Ｂ】仮想の需要グラフのプロットを示す図である。
【図７Ｃ】仮想の需要グラフのプロットを示す図である。
【図７Ｄ】仮想の需要グラフのプロットを示す図である。
【図８】図５に示すリソースおよび作業負荷についてのコスト割当ての表である。
【図９】図５に示す作業負荷についての仮想作業負荷コストの表である。
【図１０】図５に示す作業負荷についての仮想の最小平均技量の表である。
【図１１】図５に示すリソースおよび作業負荷についての仮想の技量レベルの表である。
【図１２】３つの仮想リソースについて決定される変数およびランク値を示す表である。
【図１３】仮想リソースの各作業負荷に必要な平均技量の表である。
【図１４】仮想リソースの各作業負荷の技量コストを示す表である。
【図１５】残りの仮想リソースの合計利用可能リソース量のプロットを示す図である。
【図１６Ａ】原需要のグラフのプロットを示す図である。
【図１６Ｂ】原需要のグラフのプロットを示す図である。
【図１６Ｃ】原需要のグラフのプロットを示す図である。
【図１７Ａ】調整された原需要グラフのプロットを示す図である。
【図１７Ｂ】調整された原需要グラフのプロットを示す図である。
【図１７Ｃ】調整された原需要グラフのプロットを示す図である。
【図１８Ａ】重みリストのプロットを示す図である。
【図１８Ｂ】重みリストのプロットを示す図である。
【図１８Ｃ】重みリストのプロットを示す図である。
【図１９】仮想リソースについての候補シフト割当ての組を示す図である。
【図２０Ａ】図１８Ａ〜Ｃに示す重みリストに基づく仮想候補シフトについての重み値の決定を示す図である。
【図２０Ｂ】図１８Ａ〜Ｃに示す重みリストに基づく仮想候補シフトについての重み値の決定を示す図である。
【図２０Ｃ】図１８Ａ〜Ｃに示す重みリストに基づく仮想候補シフトについての重み値の決定を示す図である。
【図２１】図１９に示す各候補シフトに関連する重み値を示す図である。
【図２２】仮想リソースについてのシフト割当てを示す図である。
【図２３】仮想リソースについてのシフト割当てを示す図である。
【図２４Ａ】単一期間内のシフト間の最小間隔の概念を示す図である。
【図２４Ｂ】単一期間内のシフト間の最小間隔の概念を示す図である。
【図２５】第２期間内の第１シフトについて利用可能な時間区間の長さを増加させるための第１期間内の最終シフトの利用可能な時間区間の短縮を示す図である。
【図２６Ａ】仮想リソース割当て後の作業負荷についての需要グラフのプロットを示す図である。
【図２６Ｂ】仮想リソース割当て後の作業負荷についての需要グラフのプロットを示す図である。
【図２６Ｃ】仮想リソース割当て後の作業負荷についての需要グラフのプロットを示す図である。
【図２７】本発明の多数の可能な実施形態のうちの１つを表す制御フローチャートである。
【図２８】本発明の多数の可能な実施形態のうちの１つを表すルーチン「スケジューラ」の制御フローチャートである。
【図２９】本発明の多数の可能な実施形態のうちの１つを表すルーチン「重みリスト決定」の制御フローチャートである。
【図３０】本発明の多数の可能な実施形態のうちの１つを表すルーチン「シフト・スケジューリング」の制御フローチャートである。
【図１】
2007529789.tif 000006
【図２】
2007529789.tif 000007
【図３】
2007529789.tif 000008
【図４】
2007529789.tif 000009
【図５】
2007529789.tif 000010
【図６Ａ】
2007529789.tif 000011
【図６Ｂ】
2007529789.tif 000012
【図７Ａ】
2007529789.tif 000013
【図７Ｂ】
2007529789.tif 000014
【図７Ｃ】
2007529789.tif 000015
【図７Ｄ】
2007529789.tif 000016
【図８】
2007529789.tif 000017
【図９】
2007529789.tif 000018
【図１０】
2007529789.tif 000019
【図１１】
2007529789.tif 000020
【図１２】
2007529789.tif 000021
【図１３】
2007529789.tif 000022
【図１４】
2007529789.tif 000023
【図１５】
2007529789.tif 000024
【図１６Ａ】
2007529789.tif 000025
【図１６Ｂ】
2007529789.tif 000026
【図１６Ｃ】
2007529789.tif 000027
【図１７Ａ】
2007529789.tif 000028
【図１７Ｂ】
2007529789.tif 000029
【図１７Ｃ】
2007529789.tif 000030
【図１８Ａ】
2007529789.tif 000031
【図１８Ｂ】
2007529789.tif 000032
【図１８Ｃ】
2007529789.tif 000033
【図１９】
2007529789.tif 000034
【図２０Ａ】
2007529789.tif 000035
【図２０Ｂ】
2007529789.tif 000036
【図２０Ｃ】
2007529789.tif 000037
【図２１】
2007529789.tif 000038
【図２２】
2007529789.tif 000039
【図２３】
2007529789.tif 000040
【図２４Ａ】
2007529789.tif 000041
【図２４Ｂ】
2007529789.tif 000042
【図２５】
2007529789.tif 000043
【図２６Ａ】
2007529789.tif 000044
【図２６Ｂ】
2007529789.tif 000045
【図２６Ｃ】
2007529789.tif 000046
【図２７】
2007529789.tif 000047
【図２８】
2007529789.tif 000048
【図２９】
2007529789.tif 000049
【図３０】
2007529789.tif 000050
【国際調査報告】
2007529789.tif 000051
2007529789.tif 000052
2007529789.tif 000053