JP2008522316A - 構築コストを最小化するジョブスケジュールのためのシステムおよびプロセス - Google Patents
構築コストを最小化するジョブスケジュールのためのシステムおよびプロセス Download PDFInfo
- Publication number
- JP2008522316A JP2008522316A JP2007544320A JP2007544320A JP2008522316A JP 2008522316 A JP2008522316 A JP 2008522316A JP 2007544320 A JP2007544320 A JP 2007544320A JP 2007544320 A JP2007544320 A JP 2007544320A JP 2008522316 A JP2008522316 A JP 2008522316A
- Authority
- JP
- Japan
- Prior art keywords
- task
- cost
- schedule
- resource
- start time
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
高効率かつ低コストのジョブスケジュールを、製作期間の代わりにコストを最適化し、利用に応じた変動を最小化するシステムおよび方法により提供する。スケジュールは、負荷レベラー(負荷平準化手段)202、コストミニマイザ(コスト最小化手段)104、およびマンパワープランナ(人的労働力計画手段)106を含むワークフロースケジュール化システムを用いて構築する。負荷レベラーは、リソース制限に影響を受ける製作期間を最短化し、次いで、リソース制限を下げ、平坦化スケジュールを作成するために処理を繰り返す。
【選択図】 図1
【選択図】 図1
Description
本出願は、2000年12月12日出願の仮特許出願第60/255,083号の利益を主張し、全文を引用して本明細書に組み込む。
本発明は、一般に、複雑なジョブをスケジュール化することに関し、より詳細には、ジョブ完成までのコストを最小にするスケジュール化のシステムおよびプロセスに関する。
現代では、多岐にわたる複雑なプロジェクトが世界市場の至る所で実行されている。これらプロジェクトには、その全体規模の大きさゆえに、かなりの計画性および体系化が必要とされている。例えば、建物を建設するには、単に建設するというだけではなく、企画から始めて、設計図を描き上げ、プロジェクトが終了するまでの各段階で作業し、途中で何百もの障害を乗り越える必要がある。実際の構築自体についても、あらかじめ十分に計画しておかなければならない。例えば、ある構築プロジェクトの特定局面は、順序を誤れば完成させることができない。船を建造する場合、船に塗装するのは船体を構築するまでできない。エレベータは、エレベーターシャフトがない限り建物に組み込むことができない。これらは2つの単純な例であるが、いうまでもなく、大規模構築に関わるプロジェクトであれば、このような制約が何百何千と存在している。この問題は、構築空間以外の問題にまで更に普遍化することができる。事実、リソース利用に特定の制約を有する何らかの大規模プロジェクトでは、それが構築、生産、またはコンピュータープログラム実行であっても、プロジェクトのコストを管理するために、よく練られた何らかのスケジュールに従って、これらリソースを効率的に配置することが必要である。
最近では各種の自動スケジュール化技法が開発されている。これらの技法は、スケジュール化問題を減少させて「制約充足問題(CSP)」に帰して、各種のCSP技法の内の一つを問題解決に適用することにより実行することが多い。例えば、引用して本明細書にその内容を組み込むGinsberg他の米国特許第6,070,144号、「有限の矛盾探索を用いるジョブスケジュール化のためのシステムおよびプロセス」、およびhttp://www.ri.cmu.edu/people/smith_stephen.htmlにあるICL研究所、シニアリサーチサイエンティスト、Stephan Smithの論文を参照のこと。実際には、これら技法は全て、対象のスケジュールの「製作期間」、すなわち、ジョブを全て完了するのに要する時間を最短にするよう設計している。場合によっては、例えば、マイクロソフトのプロジェクトソフトウエアにある「リソース平均化」ツールが実行するような、ジョブ処理中に利用するリソースを平均化する試みがなされる。しかし、典型的には「負荷平均化」技法は、製作期間を最短化する探索アルゴリズムに対する誤称にすぎない。例えば、コロラド州BoulderのArtemis Management Systemの市販スケジューラであるArtemisの負荷平均化オプションは、所定のリソース制限をユーザが規定する必要がある。ユーザ規定の制限を受け入れるスケジュールが見付からない場合、スケジュールの期限を必要に応じて遅らせる。
実際には、構築中に用いるリソースの合計コストを最小化する真の最適化目標に対して、スケジュールの製作期間最短化が代役となることが多い。例えば、労働コストを考えてみる。このコストは、Laとして表されるスケジュール自体にあるタスクの実労働コストと、何かの作業を待機して遊休状態にある作業者を抱えるのに関わるコスト、またはプロジェクト完成にもはや必要ない作業者を雇用したり、および/または解雇したりする、Liとしてシンボル化できるコストとを合わせた関数である。プロジェクト完成の全合計コストLは、実作業コストと、雇用およびレイオフ、遊休作業者および超過時間と関係付けられる「間接」コストとの組み合わせ、すなわち、L=La+Liとなるのが典型的である。
一般的に考えられているのは、短期間スケジュールは作業者が遊休状態にある時間が少ないので、すなわち、Liの値が小さいので、製作期間最短化によりコストが最小になるスケジュールがもたらされるということである。しかし、製作期間最短化であっても、得られたスケジュールには、無駄なコストおよび不要なコストを招く大量の非効率が依然として存在することがある。例えば、短かすぎるスケジュールは、作業をそのような短時間で完了するのに必要な作業者の追加雇用コストを招くことになるかもしれず、またはもっと一般的には、作業努力の不必要な変動の要因となる(またはその防止に失敗する)かもしれない。リソースの最大使用量を下げることすら、リソース使用量の変動とそれに関係するコストを最小化するとは限らない。例えば、特定リソースについて最大リソース使用量を20名に下げたと仮定する。スケジュールは、ある日は20名、翌日は2名となるかもしれないので、かなりの非効率を招くことになる。
僅かな非効率でもかなりの高コストを意味することがある。500百万ドルの原子力潜水艦の建造費の1%コスト増は、5百万ドルとなり、無視できない。
従って、必要とされているのは、単純な製作期間最短化スケジュールを用いる方式を含む現行システムと比較して、効率向上、ひいては財務的節減が得られるワークフロースケジュールを作成するためのシステムおよび方法である。
本発明により、現行システムと比較的して効率向上および低コストがもたらされるジョブスケジュールのためのシステムおよび方法が提供される。
実際、主な最適化基準を、スケジュールの期間の長さからジョブ完成コストに変更すると、コストがかなり低減できる。しかし、コストの最適化には、従来はいずれも指向していない二つの別々の挑戦が必要である。
第1に、プロセスには、製作期間の最短化だけではなく、リソース利用の変動を最小化することも必要である。これらのプロセスは、既存の製作期間ミニマイザの有効性を利用してもよく、または想定している最適化目標を有する新規プロセスを用いてもよい。本発明はこれら両方による。
第2に、上記プロセスにより生成されたスケジュールを評価してその合計コストを決定する必要がある。これには、スケジュールを作成し、雇用/解雇、遊休および超過時間の追加コストを最小化する最適化リソースの利用可能性を識別して、スケジュールと関係付けられる最適化リソース使用量を決定することができる効果的なツールの開発が必要である。「リソース」(resource: 資源)は、本説明では概ね肉体労働力、すなわち労働者、を指すよう用いるが、取得、使用、および/または放出に関係するコストを有する任意のリソースが考慮に値する。同様に、「コスト」は金銭的用語で計量されることが多いが、言うまでもなく、金銭的であろうとなかろうと、定量的なコストを、本明細書で説明するように最適化できる。
本発明の実施の形態によれば、負荷レベラー、コストミニマイザ、およびマンパワープランナを含むワークフロースケジュール化システムを用いてスケジュールを構築する。負荷レベラーは、リソース制限の影響を受ける製作期間を最短化する。これらの制限を下げ、プロセスを繰り返す。得られるのは、「平坦化」スケジュール、すなわち、極端なリソース使用量の振れが少ないスケジュールである。コストミニマイザは、初期解決策(叩き台)を生成し、次いで、マンパワープランナを用いてそれを漸次改良して、可能性のある別の解決策を評価し、それにより、探索を誘導する。マンパワープランナは、所与のスケジュールに対して、基本コスト、雇用コスト、解雇コスト、超過時間、および不足時間を含む合計コストを最小化するよう最適な雇用/解雇を決定する。一実施の形態では、マンパワープランナは、動的プログラミングを用いて実装する。代替の実施の形態では、リニアプログラミングを用いて実装する。マンパワープランナは、コストミニマイザの一部として用いられ、負荷レベラーの最終結果を分析および評価するのに用いることもできる。
一実施の形態では、全体のスケジュールは、負荷レベラーにより以下のように展開する。すなわち、リソース制限の初期セットを負荷レベラーに渡し、次いで、負荷レベラーは、これらの制限に適合するスケジュールを作成するよう試みる。そのようなスケジュールが作成された場合、リソース制限を減少させ、負荷レベラーを再度呼び出す。許容する時間内に完了すべきタスクに対してあまりにもリソース制限が少なくて、負荷レベラーが妥当なスケジュールを見付けることができなくなるまで、このプロセスを繰り返し、その時点で、前回の妥当なスケジュールを初期スケジュールとして用いる。
代替として、コストミニマイザのシード生成手順を直接呼び出すことができる。これは、全てのタスクを対応ウィンドウ内部で実行して実証しなければならないという性質を有する、スケジュール内の各タスクに対する許容ウィンドウを識別することにより進行する。タスクの実行が関係ウィンドウより早い場合、所与のタスクの先行オペレーション全てを完了させる時間が十分になく、タスクの実行が関係ウィンドウより遅い場合、スケジュールの期限前に後続のタスクを完了させる時間が十分にないことを示すことができる。
次いで、タスクを優先順位で選択し、部分的なスケジュールの合計コストが最小化されるように、それぞれのタスクを関係ウィンドウ内でスケジュール化する(以下に説明するマンパワープランナを用いて)。これらの残りのウィンドウは縮小され、全てのタスクがスケジュール化されるまで、プロセスが繰り返される。
初期スケジュールを構築した後、コストミニマイザの漸次改良手順により、そのスケジュールを一回以上評価する。そのタスクを許容ウィンドウ内のどこかに移動すると合計コストがどれ位減少するか、を調べるために、この構成体は、それぞれのタスクをマンパワープランナと協調して検査するよう動作する。次いで、タスクを適切に再配置して最良結果が得られるスケジュールを達成する。タスクを適切に再配置した後、他のタスクに対するウィンドウを、そのタスクの新規位置に基づいて調節する(そのタスクの新規位置に応じて、他のウィンドウを縮小、拡大するか、またはその両方とする)。プロセスは、固定回数の繰り返しの後、またはそれ以上の改良が不可能な場合等の、所定の規則のセットに従って、最終スケジュールを得て終了する。
一実施の形態では、最終スケジュールを用いて最適化問題を作成するよう負荷レベラーがマンパワープランナを用いる。この問題には、時間関数として要求されるリソースの利用可能性、および何らかの特定リソースプロファイルのコストに関する情報が含まれる。このコストは、各リソースの使われ方が、効率的か、遊休か、超過時間であるかの時間量、各リソースが最初に利用される時間量、または各リソースがスケジュールによりもはや不要である時間量を追加することにより得られる。他の実施の形態では、他の動作条件、例えば、作業者の超過時間が50%に制限されるとか、または作業者が金曜日だけ雇用または解雇できるという条件を規定する追加制約が利用される。
次いで、マンパワープランナは、リソース使用に対する最適計画、例えば、スケジュールの日毎に何人の作業者を雇用すべきかのプロファイルを計算する。マンパワープランナは、この最適作業者プロファイルを用いてスケジュールのコストを計算し、その結果を元のスケジュール問題に対する最小コスト解決策の候補として提示する。より一般的には、リソースが作業者以外の何かである場合、プランナーは、そのリソースを取得、放出するための最適プロファイルを計算する。
好ましい実施の形態では、初期のシード生成手順中に各タスクの配置を導くようコストミニマイザがマンパワープランナを用いる。次いで、図4および図5を参照して以下に説明するように、漸次改良手順のステップ毎にマンパワープランナが呼び出される。
このような方法で、本発明は、対象のプロジェクト(事業)に対するリソース(資源)の最適な全体配置を有するスケジュールを作成する。
この概要で説明した特徴および利点ならびに以下の詳細な説明は、全てを包括しているとは限らず、詳細には、多くの付随的な特長および利点が当該分野の技術者には明らかであろう。更に、留意すべきは、本開示で用いる用語は、原則として読解性および説明目的から選択されていて、発明性のある主題を描写または限定するよう選択されてはいないので、このような発明性のある主題を判定するにはクレームに依拠する必要があるということである。
以下に示す説明では、本発明の完全な理解を提供するために、説明を目的として特定の詳細について述べる。当該分野の技術者には言うまでもなく、本発明はこれら特定の詳細説明がなくても実践することができる。特に、当該分野の技術者には言うまでもなく、本明細書で説明する方法は、説明する実施例以外の装置、システムおよびソフトウエアで実施できる。他の例では、本発明の説明を容易にするために、従来の、または周知の構造、装置、方法および技法を略図で参照し、またはブロック図形式で示す。
本発明は、機械(コンピュータ)により実行可能なソフトウエア命令で実施できるステップを含み、一つ以上のプロセッサがそのような命令を実行する結果として実施される方法ステップを含む。他の実施の形態では、ハードウエア要素を、ソフトウエア命令の代わりに、またはソフトウエアと組み合わせて利用して、本発明を実施する。ソフトウエア命令は、RAMもしくはROMまたはリムーバブルメディアを含む他のメディアに格納してもよい。
図1を参照すると、本発明の実施の形態によるシステムのブロック図が示されている。システム100には、負荷レベラー(負荷平準化手段)202、コストミニマイザ(コスト最小化手段)104、マンパワープランナ(人的労働力計画手段)106、リソース制限データベース108、タスクデータベース110、および制約データベース112が含まれる。一実施の形態では、これらの構成体はそれぞれ、単一のコンピューターシステム上に常駐している。代替の実施の形態では、システム100の各種構成体を多数のコンピューターシステム上に常駐させ、例えば、ネットワーク上で通信してもよい。
負荷レベラー(負荷平準化手段)202には、リソース制限およびタスク制約の影響を受ける所与のスケジュールの製作期間を最短化するための論理式が含まれる。負荷レベラー202の動作を、図2と関連させて以下に更に説明する。コストミニマイザ(コスト最小化手段)104は、初期解決策を生成し、次いで、マンパワープランナ(人的労働力計画手段)106を用いてそれを漸次改良して、可能性のある別の解決策を評価し、それにより探索を誘導する。マンパワープランナ106は、所与のスケジュールについて、基礎コスト、雇用コスト、解雇コスト、超過時間、および不足時間を含む合計コストを最小化するよう、最適な雇用/解雇決定を計算する。マンパワープランナ106は、二つの代替方法で、すなわち動的プログラミングまたはリニアプログラミングを用いて実装する。マンパワープランナ106は、コストミニマイザ104の一部として用いられ、負荷レベラー202の最終結果を分析および評価するのに用いることもできる。
図2を参照すると、製作期間ミニマイザ(製作期間最小化手段)208への複数回の呼出しにより、初期スケジュール210を作成する負荷レベラー202が示されている。負荷レベラーが製作期間ミニマイザに渡す入力には、1セットのタスク206、リソース制限204、および1セットの制約212が含まれる。タスク(仕事又は作業)および制約については以下に更に説明する。
図3を参照すると、タスク300のダイヤグラムが示されている。タスク300は、プロセスを首尾よく完結するために完了しなければならないワークフロープロセス(作業流れ工程)内のステップである。例えば、作成されるスケジュールが船舶建造のためのスケジュールである場合、幾つかのタスクには、溶接、塗装、電気作業完了等が含まれることになる。好適な実施の形態では、それぞれのタスクは、関係する期間302、およびリソース要件304を有する。タスクは、以下に更に説明するように、特定の制約を受けることがある。タスクの期間302は、そのタスクが完了するまでに要する、例えば、時間単位で表される期間である。他の実施の形態では、日数、週数、または他の単位で期間を示す。リソース要件304は、そのタスクを実行するのに必要な作業者(または他のリソースユニット)の人数を表す。
好適な一実施の形態では、タスクは以下のレイアウトにより設定される。
AMR001B,896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1396,0,0,0,0,0,0,0,0,0,0,14956,13806,0,0,0,0,0,0,0,0,0,0,0,0,21083,6708,0
AMR001B,896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1396,0,0,0,0,0,0,0,0,0,0,14956,13806,0,0,0,0,0,0,0,0,0,0,0,0,21083,6708,0
上記実施例では、タスクフォーマットは、タスクID、そのタスクを完了させるのに必要な合計時間、リソース1の必要量、リソース2の必要量、..、リソースnの必要量であり、ここでnは、利用可能なリソースグループの合計数である。従って、この実施例では、タスクAMR001Bは、完了までに896時間を要し、コンマで区切られたフィールドに記入された非ゼロで識別されるグループと対応するリソースを必要とする。
タスクは、タスクデータベース110に格納される。好適な実施の形態では、制約データベース112は、どのタスクが制約を受けるかを示すデータを格納する。一実施の形態では、制約は以下の形式をとる。
制約を受けるタスクのID、制約を与えるタスクのID、制約の種類、制約の値。
一実施の形態では、可能性のある制約の種類は、開始−開始制約、開始−終了制約、終了−開始制約、および終了−終了制約である。一実施の形態では「SS」値でシンボル化される開始−開始制約は、制約を与えるタスクが開始された後のある時間まで、制約を受けるタスクが開始できないことを意味する。その時間量は制約値により規定される。開始−終了制約(「SF」でシンボル化)は、制約を与えるタスクが開始された後のある時間まで、制約を受けるタスクが、終了できないことを意味し、上記同様、要求される遅延は制約値により指示される。同様に、「FS」は終了−開始制約を表し、制約を与えるタスクが終了した後のある時間に、制約を受けるタスクを開始しなければならず、「FF」は、制約を与えるタスクが終了した後のある時間に、制約を受けるタスクを終了しなければならことを指示する。上記同様、これら二つの制約の種類に要求される適切な時間は制約値により指示される。好適な実施の形態では、制約値は時間単位で表される。他の実施の形態では、制約値は他の単位で表される。例えば、「AMR001B、AMS020A、SS、360」は、好適な実施の形態では、妥当な制約であり、タスクAMS020Aの開始後360時間までAMR001Bは開始できないという制約を、ID AMR001Bを有するタスクが、タスクAMS020Aにより受けることを示す。
タスクの設定に加えて、負荷レベラー202は、ユーザまたは事前のスケジュールを含むファイルから、1セットのリソース制限204を入力として受け取る。リソース制限は、各リソースグループ内のリソースの最大利用可能数を規定する。リソースグループにより、異なる種類のリソース、例えば、溶接工、塗装工等が識別される。
図6を参照すると、負荷レベラー202は、タスク206のセット、リソース制限204、および制約212のセットを用いて、製作期間ミニマイザ208を呼び出して(602)、要求されるタスクをそれぞれ完了し、タスクと関係する制約をそれぞれ満たし、リソース制限が提供する以上のリソースを使用しない初期ワークフロースケジュール210を作成する。一実施の形態では、製作期間最短化は、従来より周知のスケジュールパッキング(詰め込み)アルゴリズムを用いて行われる。製作期間ミニマイザ208が、この初期スケジュール210を完了(604)させると、負荷レベラーは、下記に説明するように、リソース制限204を下げて(606)、製作期間ミニマイザを再呼び出し(602)して、新スケジュールを作成する。
負荷レベラー202は、絶対リソース制約、または事前のスケジュールから初期リソースレベルを得る。これらの初期リソースレベルは、リソース使用に対する上限として機能する。次いで、負荷レベラー202は、各リソース制限(606)を個々に下げることにより下限を探索し、他のリソースは上限のままにしておく。一実施の形態では、図6に示すように、この探索は二進法探索法を用いて行われる。製作期間ミニマイザが妥当なスケジュールを返す(604)ことができなくなるポイントまで個々のリソースを減少(606)させると、妥当なスケジュールが作成されるか、またはリソースが上限に達するまで、リソース制限を漸増(608)させる。例えば、二進法探索アルゴリズムを用いるとき、あるリソースの開始レベルが16の場合、負荷レベラー202は、レベル8への減少を最初に試みる。製作期間ミニマイザ208が、8で解決策を見いだせる場合、負荷レベラー202は、次いで4を試みる。8で解決策を見いだせない場合は、次いで12を試みる等である。他の実施の形態では、他の探索アルゴリズム、例えば、漸次修正法を用いてもよい。これらのステップをリソース毎に繰り返して(610)、全ての下限を決定する。
次に、負荷レベラー202は全てのリソースを下限に設定(612)し、次いで、全てのリソースを一定量だけ増加(614)させ(但し、どのリソースも上限を超えて増加させない場合を除いて)、製作期間ミニマイザを呼び出して(616)妥当なスケジュールを探す。これを製作期間ミニマイザ208が解決策を見付けることができるレベルになるまで(618)繰り返す。
最後に、負荷レベラー202が、どれかリソースを取り出して、一定量だけそれを低下させるよう試みて(620)、新しいレベルでの解決策がまだあるかどうかを調べる(622)。そのような解決策がある場合、リソースをこの低下させたレベルのままとし(624)、解決策がない場合、リソースの設定を旧のレベルに戻す(626)。このプロセスを改良の可能性がなくなるまで(628)、様々なリソースについて繰り返し、初期スケジュールを返す(630)。現在のレベルが二進法探索法を用いて決定された下限から最も遠いリソースに対して優先権が与えられる。
コストミニマイザ
コストミニマイザ
図4および図7を参照すると、負荷レベラー202の代替として、コストミニマイザのシード生成手順402を用いて、初期スケジュールを作成することもできる。
コストミニマイザ104には、順次改良される初期スケジュールを作成するシードジェネレータ402が含まれる。コストミニマイザ104は、負荷レベラー202を参照して上記説明したのと同様に、タスク206のセットを入力として受け取る。シードジェネレータ402は、タスクセット206からタスク300を選択(702)し、選択した各タスク(706)に対するタスクウィンドウを創出(704)する。タスクウィンドウは、タスクに対して妥当な開始時間を特定するものであり、或る条件と調和する最大ウィンドウである。好適な実施の形態では、これらの条件は、タスクデータベース110に格納され、リリース時間(タスクに対する最も早い妥当な開始時間)、タスク納期(タスクの最も遅い妥当な終了時間)、および各タスクの優先順位を含む。次に、シードジェネレータ402は、あるタスクを選択(708)してマンパワープランナ106に送る。好適な実施の形態では、ウィンドウサイズが大きくなる順序でタスクをマンパワープランナ106に送る。他の実施の形態では、タスクをマンパワープランナ106に送る順序は、タスク長、後継タスク(すなわち、所与のタスクの後に、開始または終了するよう制約を受けるタスク)の数、リソース使用量(リソースの量または数)、前回スケジュールから割り当てられた値、またはランダム順を含む他の基準に従ってもよい。マンパワープランナには、1セットのリソースコスト406、すなわち、各リソースグループ内の各リソースのコスト、が追加提供される。一実施の形態では、コストはユーザが入力し、別の実施の形態では、あるファイルからもたらされる。コストは、各種の作業者、雇用、超過時間等に支払う実コストを表す。マンパワープランナは、許容されるウィンドウ内でタスクを開始し、完了させるように、対象となるタスクの開始時間を選択する(710)。次いで、部分的なスケジュールのコストを、タスクの選択開始時間に基づいて決定する(見積もる)(712)(スケジュール化すべき他のタスクのコストは無視する)。次いで、ウィンドウ内の新規開始時間にタスクを移動し、コストを再計算する。好適な実施の形態では、タスクウィンドウ内の妥当な開始時間毎に、このプロセスが繰り返される(714)。次いで、完成したスケジュールのコストおよび関係開始時間を、シードジェネレータ402に返す(716)。次いで、シードジェネレータ402は、タスクに開始時間を割り当てる(718)。好適な実施の形態では、この開始時間は、マンパワープランナ106が報告するように、ワークフロースケジュールの合計コストを最小化する開始時間である。同点の場合、同点の開始時間のどちらをそのタスクに割り当てるかについてはランダムに選択する。他の実施の形態では、何らかの他の方法、例えば、時間的に最初、時間的に最後等、により同点に差をつける。また更に他の実施の形態では、多数のスケジュールを生成する。コストミニマイザのシード生成手順は、初期の割り当ての幾つかをランダムに行うので、多数のスケジュールを生成することにより、様々な程度のコストを有するスケジュールが得られ、最も低価格のものを選択することができる。
各タスクに妥当な開始時間が割り当てられるまで(720)、タスクセット内の各タスクについてこのプロセスを継続する。この時点で、完全な初期スケジュール210が生成されて、漸次改良エンジンに渡される(722)。
図5および図8を参照すると、コストミニマイザの漸次改良エンジン502の動作のブロック図が示される。コストミニマイザ104の漸次改良エンジン502は、好適な一実施の形態ではシードジェネレータ402により、または代替の実施の形態では負荷レベラー202により作成された初期スケジュール210を、受け取る(802)。他の実施の形態では、スケジュールを他の方法で作成してもよく、または外部から供給してもよい。漸次改良エンジン502は、初期スケジュール210からタスクを選択し(804)、そのタスクをマンパワープランナ106に供給する。手順により各フルパスはタスク毎に処理されるので、タスクは、ランダムに選択するか、または任意の順序で選択してもよい。マンパワープランナ106は、タスクについて開始時間を選択し(806)、その開始時間、および他の妥当な開始時間(810)毎に、シードジェネレータ402を参照して上記説明した方法と同様に、スケジュールのコストを決定する(見積もる)(808)。但し、マンパワープランナ106は、一部だけのスケジュールに代わって、全体スケジュール(初期スケジュール)にアクセスできるので(初期スケジュールを形成していた場合と同様に)、マンパワープランナは、どの開始時間がスケジュールの全体コストを最小化するのかについて、より良好な決定ができる。
マンパワープランナ106は、妥当な開始時間、および妥当な開始時間毎のタスク開始と関係する合計ワークフロースケジュールコストのリストを添えてタスクを漸次改良エンジン502に返す(814)。一実施の形態では、マンパワープランナ106が、可能性のあるそれぞれの開始時間について合計コストを評価する。他の実施の形態では、マンパワープランナは、漸次改良エンジン502が渡す元の開始時間の特定の時間フレーム内、例えば、4日間、に発生する妥当な開始時間、およびある部分のランダムサンプリング、例えば、残りの妥当な開始時間の10%、を評価するだけである。更に他の実施の形態では、ワークフロースケジュールの合計コストについて様々なサンプルを評価する。
漸次改良エンジン502が、あるタスクに対する様々な妥当な開始時間のコストを受け取ると、好適な実施の形態では、漸次改良エンジンは、最小合計コストと関係する開始時間をそのタスクに割り当て(816)、次いで、スケジュール内の各タスクについてプロセスを繰り返す。別の実施の形態では、漸次改良エンジンは、現在の開始時間から遠く離れた開始時間に対する優先権の度合いを提示する。このために、漸次改良エンジン502は、実際コストを受け取り、次いで、タスクの開始時間変化の絶対値を乗じた一定値を減算することにより調整コストを計算する。次いで、この調整コストを最小化する時間にタスクを再スケジュール化する。この優先権は、焼きなましに類似した処理の中でやがて減少する。実施の形態によっては、ケース毎に最小コストの解決策を探す上記説明の純粋な「欲張り」最適化プロセスの一つ以上のパスの替わりに、離れた開始時間に対するこの優先権が代替して用いられる。この選択方法の利点は、ローカルの最小化(合計スケジュールコストに関して)を生じるが、グローバルの最小化を生じない開始時間の割り当てを避けることにある。
開始時間がそれぞれのタスク300に割り当てられ(818)、かつ著しい節減(820)が達成された場合、漸次改良エンジン502は、そのタスクを再度処理(824)して、スケジュールを更に改良する。すなわち、それぞれのタスクを次にマンパワープランナ106に送って、そのタスクに対する全ての妥当な開始時間と関係する最小コストを決定する。漸次改良プロセスを繰り返すと、漸次改良エンジン502が後で順に評価するタスクへの開始時間割り当てが、初期に評価されたタスクを再最適化して更に節減を生み出せるという利点が得られる。このように、漸次改良エンジンは、好適な実施の形態では、タスクのセット全体に幾つかのパスを実際に作製する。漸次改良エンジンは、更なる著しいコスト節減が得られなくなる(820)までタスクのセットの評価を続ける。好適な実施の形態では、タスク全体を見渡した後のコストの改良率(または絶対的な改良値)がユーザ規定のある閾値未満の場合、節減の意味がないと見なされる。他の実施の形態では、漸次改良エンジンは、所定の時間の間、最適化を継続し、次いで、その時間経過の最後に見付けた最良のスケジュールを出力する。
漸次改良エンジン502が最適化を完了させると、最適化ワークフロースケジュール506を出力する(822)。好適な実施の形態では、ワークフロースケジュール506は、開始時間および終了時間を添えて各タスク300をリストに挙げる。開始時間は、好適な実施の形態では、プロジェクト開始時間が始まって以降の時間単位で報告される。サンプルのスケジュール506は以下のようになる。
上記サンプルでは、各タスクは「タスクコード」で表され、開始時間および停止時間は、それぞれ「開始時間」、「終了時間」としてリストアップされる。従って、例えば、タスクコードWPN286Tを有するタスクは、20016時間に開始し、21344時間に終了するようスケジュール化される。
ワークフロースケジュールの合計コストを決定する際には、マンパワープランナ106は、多くの同一計算を繰り返すことがある。一実施の形態では、マンパワープランナは以下の形式の中間結果を決定することにより、動作効率を更に改良できる。(1)現時点で所与のリソースレベルを仮定した場合の、スケジュール開始からある時点までの最適合計コスト。(2)現時点で所与のリソースレベルを仮定した場合の、ある時点からスケジュール終了までの最適合計コスト。これらの計算は、ある時点の結果が、以前の時点の結果(1の場合)または後続の時点の結果(2の場合)を使用するので効率的である。
好適な実施の形態では、移動するタスクに対して、先のパラグラフで説明した最適コスト計算は、全ての関連する時点について、対象とするタスクに対するリソースを省略して上記決定を行う。すなわち、コスト(そのタスクなしの)は、スケジュール始点から、タスクが開始されるかもしれない最も遅い時間まで計算する。同様に、コストは、スケジュール終了から、タスクが終了するかもしれない最も早い時間まで計算する。従って、このタスクの任意の特定の配置に対して、オプティマイザは、このタスクの前後に何が起きたかの完全な解析を既に有することになる。従って、任意の特定のタスク配置に対して、マンパワープランナ106は、タスク自体が進行する間のイベントを再解析するだけでよい。
一実施の形態では、マンパワープランナ106は、別の最適化を行う。上記説明の動的プログラミングアルゴリズムは、スケジュール始点から所与の時点までの(または同様に、所与の時点からスケジュール終了までの)最適コストを、この時点でのリソースレベルの関数として計算する。この計算は、それぞれの可能性のあるマンパワーレベルに対して行われるのが典型的なので、1時点あたりの計算量は、可能性のあるマンパワーレベルの数に比例する。実際には、マンパワーレベルのこの関数は、区分的に線形の関数であり、任意の関数ではない。従って、一実施の形態では、この関数をモデル化する特別な表現を用いる。その表現は、各変曲点における関数の値、および変曲点間の傾斜で表され、必要計算量が大きく減少する。
シードスケジュールを生成するプロセス、および引き続きこのスケジュールを漸次改良するプロセスは、何回も繰り返すことができる。一実施の形態では、シード生成手順の第1パス上で(上記説明のように)、タスクを順に処理し、各タスクを部分的なスケジュールの合計コストを最小化するウィンドウ内のそのポイントに配置する(現在および以前に割り当てられているタスクが用いるリソースに基づくが、まだ配置されていないタスクは無視する)。次いで、漸次改良エンジン502がこのスケジュールを改良する。一実施の形態では、次いで、以下のように、シードジェネレータ402に対する次回呼び出しで、得られたスケジュールを用いる。タスクがシードジェネレータ402に対する後続の呼び出しにより配置されている場合、システム100は、現在および以前に配置されたタスクだけでなく、まだ配置されていないタスクのリソースも考慮する。まだ配置されていないタスクに対して、システム100は、漸次改良エンジン502の最終スケジュールからそれら位置に配置されると仮定する(近似として)。このプロセスの一利点は、「先を見越す」ことにあり、シードジェネレータが将来のタスクの可能性のある位置に基づいて、タスク配置を最適化できる。
本発明は、引用して本明細書に組み込む所の米国特許第6,272,483号、名称「コスト最適配置システムおよび方法」、に開示されているような別の最適化技法も用いて、スケジュールを更に改良する。上記説明のように、シードジェネレータ402は、まず始めに、ウィンドウサイズが増大する順にタスクを処理することにより、初期スケジュール210を作成し、次いで、漸次改良エンジン502が、このスケジュールを漸次改良する。この全体プロセスは、何回も繰り返すことができるが、シードジェネレータ402がタスクを処理する順序は、タスクの経験的な重要性に基づいてその都度修正される。好適な実施の形態では、タスクの重要性は、タスクの有無によるスケジュールコストの差である。より重要なタスクは、優先度が低いものより優先度が高められる。これにより、シードジェネレータ402は、重要なタスクほど、良好なスケジュール化を実行することができる。代替の実施の形態では、このコスト差とタスクの理論的コスト(要求されるリソース使用量に基づく)との間の差が検査され、これはタスクの現在の配置に起因する分裂または相乗効果の尺度を提供する。理論的コストは、コスト/単位時間を乗算した時間であり、例えば、タスクが100人・時間を必要とし、コストが30ドル/時間の場合、理論コストは3000ドルである。
当該分野の技術者には言うまでもなく、本発明は、その精神または基本特性から逸脱することなく、他の特定の形式で実施することができ、本発明またはその特徴を実施するメカニズムは、異なる名称または形式を有してもよい。従って、本発明の開示は、説明を意図するものであり、本発明の範囲を制限するものではない。
Claims (26)
- 事業のための複数のタスクのスケジュールを生成するためのスケジュール化システムであって、少なくとも一つのタスクは、当該タスクを実行するために関連するリソースを利用するものであり、前記システムは、
前記事業の前記タスクを表すデータを受け取るとともに、該タスクを実行するために利用するリソースの変動に応じて該タスクの提案スケジュールを生成するよう構成した負荷平準化手段と、
前記負荷平準化手段と通信可能に結合し、前記提案スケジュールを評価して、それに関係するコストを見積もるコスト見積手段と、
前記リソース変動およびそれに関係するコストに応じて前記提案スケジュールを修正するために前記コスト見積手段と通信可能に結合されるコスト最小化手段と、
を備え、
前記負荷平準化手段は、前記事業のタスクの前記修正した提案スケジュールを表すデータを出力するように構成されることを特徴とするシステム。 - 前記コスト見積手段は動的プログラミングを使用して実行されることを特徴とする請求項1のシステム。
- 前記コスト見積手段はリニアプログラミングを使用して実行されることを特徴とする請求項1のシステム。
- 前記負荷平準化手段が、前記タスクを完了させるよう、多くても最大リソース数を用いて最短タスクスケジュールを決定するよう構成された製作期間最小化手段を更に含み、前記タスクの内の少なくとも一つは、前記スケジュール内の前記タスクの配置についての少なくとも一つの制約を受けることを特徴とする請求項1のシステム。
- 前記製作期間最小化手段が、スケジュールパッキングアルゴリズムを用いることを特徴とする請求項4のシステム。
- 前記コスト最小化手段は、複数のタスクのそれぞれについて実行するよう構成された漸次改良エンジンを備え、前記各タスクは、複数の可能性のある開始時間を有し、前記タスクの開始時間は前記提案スケジュールについての最低の見積コストを生み出す請求項1のシステム。
- 事業のタスクスケジュールを生成するためにコンピュータによって実行される方法であって、前記各タスクは、ゼロ又はそれ以上の関連するリソースを利用するものであり、前記方法は、
事業のタスクおよびリソースを表すデータを受け取るステップと、
前記タスクを実行するために利用するリソースの変動に応じて、前記事業のタスクの提案スケジュールを生成するステップと、
関係するコストを見積もるために前記提案スケジュールを評価するステップと、
前記リソース変動および前記コストに応じて前記提案スケジュールを修正するステップと、
前記事業の前記修正した提案スケジュールを出力するステップと
を備える方法。 - 前記関係するコストを見積もるために前記提案スケジュールを評価するステップが、動的プログラミングモデルを使用することからなることを特徴とする請求項7の方法。
- 更に、前記関係するコストを見積もるために前記提案スケジュールを評価する前記ステップが、リニアプログラミングモデルを使用することからなることを特徴とする請求項7の方法。
- 前記提案スケジュールを生成するステップが、ある制限を前記リソースのそれぞれと対応付けるステップと、前記各制限に応じて前記提案スケジュールを生成するステップとを含むことを特徴とする請求項7の方法。
- 前記提案スケジュールを生成するステップが、前記リソースの一つに対する前記制限を反復して減少させるステップと、前記リソースを負荷平準化するステップとを含むことを特徴とする請求項10の方法。
- 前記提案スケジュールを評価するステップが、前記リソース変動と関係付けられたコストを決定するステップを含むことを特徴とする請求項7の方法。
- 前記リソース変動と関係付けられた前記コストが、リソース取得コスト、リソース処分コスト、リソース超過利用の漸増コスト、およびリソース未利用の漸増コストのグループの内の少なくとも一つを含む請求項12の方法。
- リソース取得コストが、雇用コストを含む請求項13の方法。
- リソース処分コストが、解雇コストを含む請求項13の方法。
- リソース超過利用の漸増コストが、超過時間を含む請求項13の方法。
- リソース未利用の漸増コストが、遊休リソースコストを含む請求項13の方法。
- 前記提案スケジュールを生成するステップが、前記タスク毎の前記提案スケジュール内の許容ウィンドウを識別するステップと、前記許容ウィンドウ、前記タスクの優先度、および配置した前記タスクを有する前記提案スケジュールの少なくとも一部のコストに応じて、前記提案スケジュール内に各タスクを繰り返して配置するステップとを含む請求項7の方法。
- 前記提案スケジュールを評価するステップが、前記スケジュール内の前記タスクの許容配置を記述するウィンドウ内で前記タスクを移動させるのに応じて、前記提案スケジュールと関係付けられる前記コストを見積もるよう前記タスクの内の一つを検査するステップを含む請求項7の方法。
- 前記各リソースのプロファイルを用いて前記リソース変動を決定する請求項7の方法。
- 事業のスケジュール内の複数タスクの一つの配置を最適化して、前記スケジュールのコストを最小化するための方法であって、前記方法は、
前記タスクを記述するデータを受け取るステップと、
前記タスクに対して、前記スケジュール内の少なくとも一つの妥当な開始時間を決定するステップと、
前記タスクの妥当な開始時間毎に前記スケジュールのコストを見積もるステップと、
前記スケジュールの見積コストに応じて前記妥当な開始時間を選択するステップと、
前記選択した開始時間を前記タスクと関係付けるステップと、
前記タスクの前記選択した開始時間を出力するステップと
を具備し、前記タスクは少なくとも一つのリソースを使用し、前記各リソースはコストを有し、
前記タスクの妥当な開始時間毎に前記スケジュールのコストを見積もるステップが、
開始時間毎に前記タスクが用いる各リソースのコストを決定するステップと、
前記タスクが用いる各リソースのコストと、前記スケジュール内の他のコストとを合計することにより、開始時間毎に前記スケジュールのコストを推定するステップとを含む、
ことを特徴とする方法。 - 動的プログラミングモデルを利用して、タスクが用いる各リソースのコストを見積もる請求項21の方法。
- リニアプログラミングモデルを利用して、タスクが用いる各リソースのコストを見積もる請求項21の方法。
- 事業のタスクスケジュールを生成するためのスケジュール化システムであって、少なくとも一つのタスクは、前記タスクを実行するために利用する関係リソースを有し、前記システムは、
前記事業のタスクの提案スケジュールを表すデータを受け取り、前記タスクの前記提案スケジュールを評価し、前記提案スケジュールと関係付けられる前記プロジェクトのコストを見積もるよう構成したコスト見積手段と、
前記コスト見積手段と通信可能に結合され、前記タスクを実行するために利用する前記リソースと前記事業の前記見積コストに応じて前記提案スケジュールを修正し、かつ前記提案スケジュールを表すデータを出力するよう構成されたコスト最小化手段と
を備えるスケジュール化システム。 - 前記コスト見積手段が動的プログラミングを用いて実行されることを特徴とする請求項24のスケジュール化システム。
- 前記コスト見積手段がリニアプログラミングを用いて実行される請求項24のスケジュール化システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2004/040467 WO2006062500A1 (en) | 2004-12-03 | 2004-12-03 | System and process for job scheduling to minimize construction cost |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008522316A true JP2008522316A (ja) | 2008-06-26 |
Family
ID=36578203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007544320A Pending JP2008522316A (ja) | 2004-12-03 | 2004-12-03 | 構築コストを最小化するジョブスケジュールのためのシステムおよびプロセス |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1836660A1 (ja) |
JP (1) | JP2008522316A (ja) |
WO (1) | WO2006062500A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6312579B2 (ja) * | 2014-11-14 | 2018-04-18 | 三菱電機ビルテクノサービス株式会社 | 編成表作成支援システム及びプログラム |
CN105005842B (zh) * | 2015-05-18 | 2020-03-10 | 鲁东大学 | 一种用于准时制生产的并行设备调度策略 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250975A (ja) * | 1998-12-28 | 2000-09-14 | Being:Kk | 工程表作成システム |
JP2003162313A (ja) * | 2001-11-26 | 2003-06-06 | Kawasaki Heavy Ind Ltd | 生産システム計画方法および生産システム計画装置 |
JP2003203151A (ja) * | 2001-10-26 | 2003-07-18 | Mitsubishi Electric Corp | 経営計画作成システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291397A (en) * | 1991-12-20 | 1994-03-01 | Powell Roger A | Method for resource allocation and project control for the production of a product |
US5767848A (en) * | 1994-12-13 | 1998-06-16 | Hitachi, Ltd. | Development support system |
US5548506A (en) * | 1994-03-17 | 1996-08-20 | Srinivasan; Seshan R. | Automated, electronic network based, project management server system, for managing multiple work-groups |
US6678698B2 (en) * | 2000-02-15 | 2004-01-13 | Intralinks, Inc. | Computerized method and system for communicating and managing information used in task-oriented projects |
-
2004
- 2004-12-03 EP EP04812891A patent/EP1836660A1/en not_active Withdrawn
- 2004-12-03 WO PCT/US2004/040467 patent/WO2006062500A1/en active Application Filing
- 2004-12-03 JP JP2007544320A patent/JP2008522316A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250975A (ja) * | 1998-12-28 | 2000-09-14 | Being:Kk | 工程表作成システム |
JP2003203151A (ja) * | 2001-10-26 | 2003-07-18 | Mitsubishi Electric Corp | 経営計画作成システム |
JP2003162313A (ja) * | 2001-11-26 | 2003-06-06 | Kawasaki Heavy Ind Ltd | 生産システム計画方法および生産システム計画装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2006062500A1 (en) | 2006-06-15 |
EP1836660A1 (en) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991633B2 (en) | System and process for job scheduling to minimize construction costs | |
Coelho et al. | Effort estimation in agile software development using story points | |
Pfeiffer et al. | Stability-oriented evaluation of rescheduling strategies, by using simulation | |
US8185422B2 (en) | Work allocation model | |
WO1995012847A1 (en) | Resource allocation methods | |
US20040098291A1 (en) | Apparatus and method for visualizing resource consumption | |
CN1728168A (zh) | 基于合同开始/结束数据的用户输入来重启项目管理系统调度引擎的方法和系统 | |
US8775229B1 (en) | Method of correcting a project schedule | |
WO2006093632A2 (en) | Project management software | |
US6501473B1 (en) | Method and system for theory of constraints buffer graphing, tracking and management | |
Yang et al. | Predictive–reactive scheduling on a single resource with uncertain future jobs | |
Ballestín et al. | Resource leveling in make-to-order production: modeling and heuristic solution method | |
JP4852496B2 (ja) | プロジェクト計画方法、プロジェクト計画プログラム、および、プロジェクト計画システム | |
JPH09259178A (ja) | 工程管理システム | |
JP2008522316A (ja) | 構築コストを最小化するジョブスケジュールのためのシステムおよびプロセス | |
He et al. | An exchange heuristic imbedded with simulated annealing for due-dates job-shop scheduling | |
US20210365872A1 (en) | A system and method for management of project portfolios | |
US6917843B2 (en) | System and method for scheduling production of molds | |
JP2003006393A (ja) | スケジューリング装置およびその方法 | |
JP2006146530A (ja) | スケジューリング支援システム | |
Erenguc et al. | Integrating quality as a measure of performance in resource-constrained project scheduling problems | |
AU2007203220A1 (en) | Work allocation model | |
JPH1086044A (ja) | 作業者裁量活用日程計画方法及び作業者裁量活用日程計画装置 | |
JP2006126898A (ja) | プロジェクト管理システム | |
Süß et al. | Construction of benchmarks for comparison of grid resource planning algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101026 |