JP2002516003A - 遺伝的アルゴリズムスケジュール作成装置及び方法 - Google Patents

遺伝的アルゴリズムスケジュール作成装置及び方法

Info

Publication number
JP2002516003A
JP2002516003A JP51694498A JP51694498A JP2002516003A JP 2002516003 A JP2002516003 A JP 2002516003A JP 51694498 A JP51694498 A JP 51694498A JP 51694498 A JP51694498 A JP 51694498A JP 2002516003 A JP2002516003 A JP 2002516003A
Authority
JP
Japan
Prior art keywords
task
resource
genome
bit array
genetic algorithm
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
Application number
JP51694498A
Other languages
English (en)
Inventor
シー. ガーブリナー,ダニエル
ディー. ミリガン,スティーブン
ジェイ. デステファーノ,ジョーゼフ
ジェイ. モンタナ,デイビッド
Original Assignee
ビービーエヌ コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビービーエヌ コーポレイション filed Critical ビービーエヌ コーポレイション
Publication of JP2002516003A publication Critical patent/JP2002516003A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 遺伝的アルゴリズムスケジュール装置が汎用又は特殊目的コンピュータ10上で運転される。遺伝的アルゴリズムスケジュール装置12はタスクを実行するために入手できる資源13の記述の形で、スケジュール作成問題に関する情報を有する。遺伝的アルゴリズムスケジュール装置2は又実行すべきタスク14の記述の形で情報を有する。更に遺伝的アルゴリズムスケジュール装置12は問題領域15に関する情報を受けることができる。この情報15は資源記述13ともタスク記述14とも違い、例えば遺伝的アルゴリズムスケジュール装置12が最適スケジュール16を生成することを助けるための規則及びヒントを含む。更新18は計画未計画の変化の両者のせいで任意の時点で起きうる。更新18は遺伝的アルゴリズムスケジュール装置12に利用可能な情報13〜15の全てに影響しうる。

Description

【発明の詳細な説明】 遺伝的アルゴリズムスケジュール作成装置及び方法 本発明は1996年10月4日の米国予備出願第60−027651号の優先 権の利益を主張するものである。 従来技術とその課題 遺伝的アルゴリズムは広範囲のコンピュータシュミレーション問題及び現実の 問題に応用されている。遺伝的アルゴリズムは大量の変数とパラメータを含む多 くの問題の解を見いだすのに役立っている。 遺伝的アルゴリズムが有利な分野は各種のタスクを実行するために資源に対す るスケジュール(計画表)を生成する分野である。スケジュール作成は実世界の 至るところで発生し、例えば、機械工場での生産、フィールドサービス(装置の 設置点検保守)、従業員管理、計算機上でのプロセススケジュール作成等がある 。スケジュール問題では遺伝的アルゴリズムが広範囲の解空間を探索し、効率的 な解に近づく能力により有利である。 遺伝的アルゴリズムのコンピュータプログラムはしかし多くの欠陥を有する。 最大の問題は処理が遅いことである。変数の数が増すに従って、解空間の大きさ は指数的に増加する。遺伝的アルゴリズムはしばしば問題の最適解を見いだすの に数時間から数日かかる。これには遺伝的アルゴリズムプログラムを高価格でし かも強力なコンピュータを運転することによりサーチ(探索)時間を減少させる ことを要する。低価格のコンピュータ上で実行できる遺伝的アルゴリズム装置を 提供することは可能でない。 遺伝的アルゴリズム装置の速度に影響する数種の因子が存在する。ゲノム(遺 伝子)の個体群は、解を見いだすのにしばしば数百サイクルの生成と、試験と、 評価と、修正を繰り返すことを必要とする。各サイクル段は計算能力を必要とす る。 ゲノム個体群(population集団)の大きさは大きな問題である。大きい個体群は 解空間のより大きい領域を同時に探索することを可能にするが、各サイクルに対 してはより長い処理時間を必要とする。初期ゲノムを生成する作業は通常ランダ ムに実行されるもので、最小の処理時間しか必要としない。しかしゲノムが交差 技術及び/又は突然変異オペレータを使用して一旦結合されると、処理速度が低 下する。 遺伝的アルゴリズムプログラムの速度を増すために数種の試みが行われている 。多くの例では、遺伝的アルゴリズムシステムはハード拘束(constraint)及びソ フト拘束を有する。ハード拘束はゲノムが適応試験に受かるために満たさなけれ ばならない条件である。もしもゲノムがハード拘束に適合しなければ、これは通 常ゲノムが問題に対して間違った解をコードすることを意味する。例えばスケジ ュール生成装置において、ハード拘束に適合することは、資源が同時に異なった タスクを実行するようにスケジュールされていないようなスケジュールを生成す ることを含んでいる。ハード拘束を満たさない例は、資源が実行に適しないよう なタスクに割り当てられている場合である。より具体的な例は、修理工場におい て、技術者が印刷機を修理する能力(資格)がなければ、ハード拘束に適合する スケジュールをコードした遺伝的アルゴリズムはその技術者をプリンターの修理 の仕事に割り当てないであろう。 ゲノム集団に対して適応度評価試験を実施する前にハード拘束を満たさないゲ ノムを除去することにより、遺伝的アルゴリズム装置は無用な解を追求しないこ とにより時間を節約する。しかし、ゲノムがハード拘束に適合するかどうかを決 定するためにゲノムを試験することも依然として大変な処理である。上記の修理 工場の例をとると、技術者が特定のプリンターを修理する能力を有するかどうか を決定する仕事も又問題が多い。熟練度及び能力はあらゆる産業で異なり、又タ スク要件に対して資源資格を比較する問題を装置に組み込むことが困難である。 さらに、タスクはしばしば複数の要件を有する。あるタスクを実行する能力を 有する1つ以上の資源を適合させるには、多くの反復計算が必要である。多くの 資源とタスクを有するスケジュールをコードする単一ゲノムは、すべてのハード 拘束が満足されるかどうかを決定するのに膨大な処理時間を必要とする。従って 個体群の中のすべてのゲノムをチェックするには膨大な処理時間を要する。 遺伝的アルゴリズムの過剰な処理要件の他の原因は、遺伝的アルゴリズム装置 が解空間の見込みのある領域に収斂する時間の長さである。すでに述べたように 、実世界への遺伝的アルゴリズム応用の解空間は膨大である。遺伝的アルゴリズ ム装置は初期ゲノム個体群をランダムにコードすることにより解空間を検索する 。ランダムに選択されたゲノムが最適解に近接している可能性は小さい。遺伝的 アルゴリズムサイクルの数千回の繰り返しの後に初めて、ゲノムは解空間の最適 解に収斂し始める。 さらに、遺伝的アルゴリズム装置が解空間の一つの領域に収斂しても、より適 切な解を有する他の領域を逃すことも全く可能である。これはしばしばゲノムの ランダムな初期個体群に原因があり、解空間の最適領域を単純に見逃してしまう 。一旦遺伝的アルゴリズム装置が生成を開始すると、ゲノムは解空間内のすでそ れらが存在する領域に焦点を合わせてしまう。その結果、良好な解は完全に見逃 されてしまう。 大抵の遺伝的アルゴリズム装置はこの問題を、初期ゲノム個体群を増すことで 対処しようとする。それにより、はるかに長い処理時間を必要とし、また遺伝的 アルゴリズム装置の全体的な性能を低下してしまう。 この問題に対処する他の試みはゲノムの突然変異を利用する。しかし、突然 変異は、ランダムに行われ、ゲノム個体群がすでに解空間の領域に収斂する多数 のサイクルの後にのみ行われる。大抵の突然変異は適応度試験に合格しない不適 応ゲノムを生じ、個体群から脱落する。ゲノムを解空間の新規領域に追いやる突 然変異の発見の統計的な確率は低い。従って、遺伝的アルゴリズム装置はランダ ムな突然変異が最適解空間のゲノムを生じる機会を増すために数百回或いは数千 回のサイクルを反復しなければならない。 遺伝的アルゴリズム装置が動作している間に、同一のゲノムがしばしば発生す る。互いに交差を行っている最適のゲノムのサイクルが継続している間に、同一 ゲノムの発生はさらに頻繁に生じる。これらの同一ゲノムは余計なものである。 その結果、それらのゲノムはゲノムプールを満たしてしまう。ゲノムプール(個 体群)の大きさは制限されているので、余計なゲノムは種々の解を有する他のゲ ノムを含むことができる空間を占有する。従って、これらの余計なゲノムはしば しばゲノム個体群を他の可能な解を探索することなく一つの解に収斂するように 強制する。 従って、多くの遺伝的アルゴリズム装置はゲノム個体群を操作して同一ゲノム を消去している。これは通常ゲノムデータ構造配列(アレイ)を単純に比較する ことにより行われる。もしもゲノム配列が同一ならば、ダブったゲノムの一方が 消去され、他の単独ゲノムのための空間として明ける。 しかし、同一ゲノムを検出するには問題がある。ゲノムの情報コード化技術に 依存して、数種のゲノムは同一の情報を含みうるが、同一ではない。言い換える と、2種のゲノムはその配列中に異なった遺伝コードを有するにもかかわらず、 配列中にコードされている情報は同一である可能性がある。配列の比較は2つの ゲノムが実際に同一であることを表さないであろう。 この例は遺伝的アルゴリズムスケジュール作成装置により使用されるゲノムコ ードである。図3Aに示したように、一組の資源による一組のタスクは対(ペア )の集合を含む。各対は資源識別子とそれに整合したタスク識別子とからなる。 集合中の位置は資源がタスクを実行するであろう順序を含んでいる。もしもタス ク・資源対が集合中で切り替えられると、スケジュールのコーディングは依然と して同一である。例えば、もしも資源R1が3種のタスクT1、T3、T6を行 うようにリストされていれば、R1をこれらの3つのタスクとその順序で(ただ し異なった介在対を有する)対にする2つのゲノムは類似している。従って2つ のゲノムが同一の情報をコードするかどうかを決定することには問題が多い。 遺伝的アルゴリズム装置に関連した他の問題は、遺伝的アルゴリズム装置を運 転しながらデータを変更することが困難なことである。データの変更には遺伝的 アルゴリズム装置の現在の状態を破棄して始めからやり直さなければならない。 これは遺伝的アルゴリズム装置を使用して実世界の問題を解く場合の制限になる 。なぜなら、遺伝的アルゴリズム装置は解を見いだすのに長時間を要し、データ のいかなる変更も遺伝的アルゴリズム装置の再スタートを必要とする。 例えばジョッブショップ(他品種少量生産)のスケジューリング作成のような 実世界の問題では、入手可能な或いは入手できない資源、予想よりも長く又は短 くかかる仕事、その他仕事の実行を妨げる障害となりそれ故再計画を要するよう な多数の因子の任意のもののために、絶えざる変更が行われる。 もしも、遺伝的アルゴリズム装置が暫時運転された後に停止され、新規なデー タが与えられると、変更は装置全体に大きな影響を与える。遺伝的アルゴリズム 装置はデータが変更されたときに既に問題に向けて一つの解に収斂を開始してい る。このデータ変更はしばしば多くの既に適応したゲノムをハード拘束を満たさ ないものとし、適応評価において成績の悪いものとする。遺伝的アルゴリズム装 置が収斂しつつあった解は最早最適解ではなくなる。そのため、遺伝的アルゴリ ズム装置は解空間の新たな領域に収斂することを試みなければならない。遺伝的 アルゴリズム装置は突然変異を介して新規解を探索しなければならない。しばし ば、全体の遺伝的アルゴリズム装置を更新されたデータについて始めからやり直 さなければならない。 従って、いかなる種類のハード拘束をも表現でき、且つゲノムを迅速に試験で きてそれらのゲノムがハード拘束に適合するかどうかを決定することができる改 良されたスケジュール作成装置を提供することが必要である。 更に、遺伝的アルゴリズム装置がより迅速に最適解を決定できるように、数種 のパラメータにより既に最適化されているゲノムの個体群で再開始できる改良さ れたスケジュール作成装置が要求される。 更に、スケジュール条件に対する変更を、不当な遅延や問題を生じることなく 、運転中の計画装置に挿入することを可能にする技術が必要である。 更に又、個体群からに重複する情報をコードするゲノムを迅速に決定しこれら を除去する技術が必要である。 課題を解決するための手段 本発明の装置はスケジュール作成(scheduling)装置において使用されるコー ド化された拘束情報を含む。資源能力を示す要素は一つ以上の資源に関連づけら れる。資源能力を示す要素は少なくとも1つの資源能力を示す。 一つ以上のタスクに関連した、対応するタスク拘束を示す要素が存在する。タ スク拘束を示す要素は、タスクに対する1つ以上の拘束条件を示す。 資源能力を示する要素及びタスク拘束を示す要素は、ビット配列又はビットマ スクを使用して表示するのが便利である。各資源能力及びタスク拘束は所定の指 標をビット配列に入れることにより表示される。資源とタスクの両ビット配列を ビットごとに比較することにより、関連した資源が関連したタスクを実行するの に必要な能力を有するかどうかが示される。これら2つのビット配列のビットご とのAND比較と、得られた結果とタスクビット配列との比較は、関連した資源 が関連したタスクを実行できるかどうかの表示を与える。 スケジュール作成装置はタスクの群を実行するための資源の群に対するスケジ ュールを決定できる。本発明は又資源が関連したコスト因子を含む場合に、タス クを実行するために資源を選択する方法を含む。この方法は、一つ以上の費用因 子を選択し、次いで割り当てられていないタスクのリストからタスクを選択する 工程を含む。選択された費用因子に基づいて、選択されたタスクを実行するため に各資源に対してビッド(要求)が行われる。最良ビッドの資源が選択され、ゲ ノムが、選択された資源が選択され他タスクを実行するであろうことを示す表示 でコードされる。 各費用因子は0から1までの値を含む重み設定値を有する。重み設定値は費用 因子ビッドを決定し生成するにあたり、その費用因子の重要度を示す。装置は重 み付けを調整し、異なった費用因子が強調された異なったゲノムを生成する。 資源ビッドは、動作中の遺伝的アルゴリズムスケジュール作成装置を、スケジ ュール情報における変化(例えば、スケジュール作成を要する新たなタスクの発 生、資源が利用できなくなる等)により更新するることを可能にする。遺伝的ア ルゴリズムスケジュール作成装置は停止され、ゲノム個体群(population)中の 最適ゲノムが選択される。資源は、費用因子、重み設定、及び選択されたゲノム からのスケジュール情報に基づいてビッドを出す。最良ビッドの資源がタスクを 実行するものとして選択され、この選択されたゲノムが当該新規資源・タスク対 コーディングにより更新される。ゲノム個体郡中の残存ゲノムも又選択された資 源・タスク対コーディングにより更新される。 この方法は資源が利用できなくなる場合に対しても動作する。その資源に割り 当てられた全てのタスクは、資源ビッド処理を使用して、新規タスクとして再ス ケジュールされる。遺伝的アルゴリズム作成装置は運転を再開する。 重複ゲノムは検出され、ゲノム中にコードされている情報をスケジュール表示 に変換し、次いでスケジュール表示を新規にコードされるゲノムに変換すること により、ゲノム個体群から除去される。ゲノムは次にゲノム構造中にコードされ ている情報を逐次に比較することにより個体群中にある他のゲノムと比較される 。もしもゲノム型のゲノムの複製であると決定されたら、そのゲノムは消去され るか、又は新規ゲノム個体群に追加されない。 図面の簡単な説明 図1は一組のタスクを実行する一組の資源のためのスケジュールを作成するた めのスケジュール作成装置を概念図である。 図2は最適スケジュール解を得るためのサーチ(探索)において使用される従 来の遺伝的アルゴリズムスケジュール作成装置により実行される工程の流れ図で ある。 図3Aは遺伝的アルゴリズムスケジュール作成装置に対する典型的なゲノムコ ード化を示す。 図3Bは図3Aに従ってコード化された情報からスケジュールを構築する方法 を示す。 図4は本発明の一つの実施例に従った資源能力のコード化を示す図である。 図5は本発明の一つの実施例に従ったタスク拘束のコード化を示す図である。 図6は本発明に従ったゲノム初期化装置の概念図である。 図7はゲノムが本発明の1実施例に従ってどのように初期化されるかを示す流 れ図である。 図8は新規タスクが本発明に従ってどのようにして既に動作中のスケジュール 作成装置に追加されるかを示す流れ図である。 図9は重複ゲノムが本発明に従っていかにして検出され、除去されるかを示す 流れ図である。 発明の実施の形態 汎用スケジュール作成装置は図1に示される。スケジュール作成装置10は汎 用の又は特殊目的のコンピュータを使用している。スケジュール装置12はタス クを実行するための利用できる資源13の記述の形態で示された、スケジュール 問題に関する情報を受け取る。資源情報の記述13はスケジュール装置12が有 用なスケジュールを決定するのに必要なだけ一般的な或いは具体的なものである 。 スケジュール装置12は更に実行すべきタスク14の記述の形態の情報を受け 取る。ここでも、情報量と内容は装置に依存して変わる。スケジュール装置12 は又問題領域に関する情報15を受け取ることができる。この情報15は資源の 記述13及びタスクの記述14とは異なり、例えばスケジュール装置12が最適 スケジュール16を作成することを助けるヒント及び一般規則を含みうる。 資源の記述13、タスクの記述14、及び問題領域の情報の記述15はコンピ ュータ装置10含まれるものとして図示したが、他の形態も可能である。情報の 記述13〜15は別個のコンピュータ又はデータベースに蓄積されても良いし、 使用者により別個に入力されても良いし、或いは逐次要求に従ってスケジュール 装置12に与えられても良いし、或いはバッチ処理によりダウンロードされても 良い。たとえば、資源の記述情報13は余り頻繁には変わらないであろうから、 コンピュータ10の内部に記憶され、タスクの記述情報14は毎日変わるので別 個のタスク入力装置に記憶され、スケジュール16の作成が必要になったときに スケジュール装置12に与えられるようにし得る。 スケジュール装置に関連する一つの問題は、全ての提供される情報13〜15 がしばしば変動し、更新18を要することである。この性質のために、スケジュ ールは現在的であり常に変化する。更新18はスケジュール装置12で利用され る全ての情報13〜15に影響する。 従来の遺伝的アルゴリズムスケジュール作成装置により実行される工程は図2 に示されている。一組の資源によりなされるべき一組のタスクをコードするゲノ ムの初期個体群が生成される(段階100)。各ゲノムはランダムに生成され、タ スク・資源対はランダム選択によりマッチ(一致)している。初期個体群が生成 されたら、ゲノムの適応度が評価される。遺伝的アルゴリズムによる評価ではゲ ノム中にコードされている情報に基づきスケジュールが構成される(段階102) 。 スケジュールは次に各々評価される(段階104)。評価は測定可能なパラメー タに基づいてスケジュールの良さのランクを作るべきである。遺伝的アルゴリズ ム装置では、あるパラメータは最低量の時間又は費用で全てのタスクを完了する ために利用可能な資源の利用を最大化するようなスケジュールを含む。 一旦ゲノムが評価されランク付けされると、個体群はより良好なスケジュール を有する新規なゲノムを作成する試みの中で変化する。最もよく使用される技術 は交差操作と突然変異操作である(段階106)。交差操作(段階110)では通 常2つの親ゲノムが確率的に選択され、新ゲノム両親ゲノムの部分をランダムに 結合することにより創製される。突然変異操作(段階108)では単一ゲノムが ランダムに選択された後、そのゲノムの一つ以上の個所が変更される。 新たに形成されたゲノムはそれらが適正なスケジュールをコードしているかど うかをチェックされる(例えば、後で述べるようにハード拘束に一致するスケジ ュールかどうか)(段階112)。 新個体群が評価されてゲノムの適応度を決定され、低評価(得点)のゲノムは 消去される(段階112、114)。最後に遺伝的アルゴリズム装置は終了条件が 生じたかどうかを決定するためにチェックされる(段階116)。終了条件は、例 えば所定の制限時間内に完結すべき全てのタスクをスケジュールするスケジュー ルのような、所定の適正限界値に適応し或いはこれを超えるスケジュールが作成 されているかどうかに基づかせることができる。他の可能な終了条件は、遺伝的 アルゴリズム装置のサイクル数(例えば千回)であるか、または最後のNサイク ルでスケジュールの適応度が改善されなかったと決定されたことである。 もしも終了条件が満たされなければ、遺伝的アルゴリズム装置は他のサイクル を開始する(矢印118)。遺伝的アルゴリズム装置は能率的なスケジュールに収 斂することを試みて数百回又は数千回のサイクルを実行することができる。 本発明の一実施例によるゲノム表現は図3Aのように対(ペア)の順序集合を 含む。各対はタスク指示子22と資源指示子24をからなる。タスク指示子22 はタスクを個別に識別できれば任意の識別子で良く、タスク表の指標(索引)、タ スク表現へのポインター、又はデータ構造であり得る。資源指示子24は同様に 利用できる資源を個別に識別できれば任意の識別子でよい。ゲノム20は配列、 リンクしたポインター、文字列、表等の任意の手段で実現できる。ゲノム20の 長さ(対の数)は可変である。好ましい実施例ではゲノムの長さは可変である。 好ましい実施例ではゲノムの長さはスケジュールすべきタスクの全数に基づく。 ゲノム20内の各対はタスクを実行するために割り当てられた資源を表す。従 ってゲノム20の全体は与えられた一組のタスクを完成するために利用される資 源に対する潜在的なスケジュールを表現している。例えば、図3Aのゲノム20 は図3Bのサンプルスケジュール26に示されているような部分情報をコードす る。3つの資源R1、R2、R3はタスクT1〜T8を実行するようにスケジュ ールされている。各資源は資源がゲノム20中でタスクに対合されている順序で タスクを実行する。サンプルスケジュール26に示されているように、資源R1 はタスクT1、T3、T5、T6、T8をこの順序で実行するようにスケジュー ルされている。 遺伝的アルゴリズム装置は又実行すべきタスク及び資源に関する情報を含んで いる。この情報はスケジュールされるタスクの方に特有な領域を有する。例えば 、トラック隊を維持する修理工場では、しばしば拘束(constraint)と呼ばれる タスク関連情報が存在する。これらの拘束は、特定のタスクを完了するための見 込み時間、トラックの利用可能性、仕事を行う前に無ければならない特殊部品、 及びタスクを実行するのに必要な特殊訓練等を含む。 遺伝的アルゴリズム装置では、拘束はしばしばハード拘束とソフト拘束を含む 。ハード拘束は提案されたスケジュールにおいて満足すべき条件又は規制である 。ハード拘束を満たさない情報をコードするゲノムは使用できないスケジュール を作成するであろう。ハード拘束の例にはタスクを実行する技能又は能力、必要 な部品又は装置、特定の順序で実行されなければならない工程、各種の時間条件 等が含まれる。トラック隊の修理工場の例では、トラックのトランスミッション を修理するタスクはトランスミッションを修理できる技術者を必要とする。能力 (資格)のない機械工がタスクの実施に割り当てられるとスケジュールは実行で きない。 ほとんど全てのスケジュール可能なタスクはハード拘束を有する。ハード拘束 の数は問題領域に依存する。 ソフト拘束はスケジュールを作成する際に遺伝的アルゴリズムスケジュール装 置が考える規則及び優先性であるが、通常は合法なスケジュールに対する絶対的 な条件ではない。拘束の例には、好ましい時間、タスク優先度、単純作業に対す る高度技術者の割り当ての防止、等である。ゲノムはハード拘束を満足するスケ ジュールを含む必要があるが、そうでなければ適応度評価から外される。大抵の ソフト拘束を満足するスケジュールは適応度評価において良い動作をする。 ハード拘束を満たさないスケジュールをコードするゲノムは不適応である。従 って、不適応ゲノムは検出されると除去すべきであり、好ましくはそれらが生成 される前に除去すべきである。本発明の遺伝的アルゴリズムスケジュール装置で は、ゲノムが最初に生成されるとき、ハード拘束は生成の際にチェックされる。 従って、不適応ゲノムは例えば突然変異法のような遺伝的アルゴリズム装置の動 作により変更される。 本発明に従って拘束情報をコードするための装置は、図4に図示されている資 源ビット配列又はマスク30を含む。資源ビット配列30は一組の順序ビットを 含み、資源ビット配列30への所定の指標(索引)は資源ビット配列に関連した 資源の能力を示す。遺伝的アルゴリズム装置内に表現される各資源は関連した資 源ビット配列30を有する。2以上の資源は同一のビット配列30を有すること ができる。資源ビット配列30は他の資源情報と共に各資源のためのデータ構造 中に含めることができるし、別個のデータ構造中に全て一緒に含めることもでき る。資源ビット配列30の内容は通常変化しないので、遺伝的アルゴリズムスケ ジュール装置によりアクセスされる恒久的データベース内に蓄えることができる 。 資源ビット配列30への各指標は資源の能力を示す。トラック修理の例を取る と、もしも資源が技術者なら、指標位置34は電気系に関して作業するする資格 を表示し、指標位置36はターボチャージャーに関して作業する資格を表示し、 指標位置38はトランスミッションに関して作業する資格を表示する。資源ビッ ト配列30の場合には、技術者はトラックのトランスミッションについて作業で きるが、電気系やターボチャージャについてはできない。他の例として、もしも 資源が修理港なら、関連した至便ビット配列30へ割り出された位置は油圧リフ トのような修理港で利用できる特殊な装置を表示する。 資源ビット配列30は、技術者資格32のような技術者の能力(あるものは類 似のもの)或いは技術者が作業できる日にち40のような任意数の能力を含むこ とができる。各能力の指示子は別個であるので資源ビット配列30の中に種々の 能力指示子をまとめて資源ビット配列30に格納する必要はない。 これに対応して、本発明による遺伝的アルゴリズムスケジュール装置内の各タ スク表示は図5のようにタスクビット配列50を有する。タスクビット配列50 への指標付けされた場所はタスクに対する拘束又は必要条件を示す。例えばタス クがトランスミッションについて作業できる能力のある技術者を要するならば、 場所52がアクティブにされる。他の指標付けされた場所は関連した作業を実行 するための他の拘束を示すためにアクティブにされる。タスクビット配列50の 長さはスケジュール作成問題領域におけるタスクのための可能な拘束に依存する 。 資源がある仕事を実行するための適正な資格を有するかどうかを決定するため に、本発明の遺伝的アルゴリズムスケジュール装置は資源ビット配列30をタス クビット配列50と比較する。資源ビット配列30における指標位置はタスクビ ット配列50における拘束に対応する資格を示す。もしもタスクビット配列50 における各拘束が資源ビット配列30中に指示されている資格と一致すると資源 ビット配列30に関連した資源はタスクビット配列50に関連したタスクを実行 するためのハード拘束に適合する。遺伝的アルゴリズムスケジュール装置は従っ てその資源をその仕事を実行するようにスケジュールする。例えばこれはタスク と資源対をコード化してゲノムにすることにより行われる。 好ましい実施例では、タスクビット配列50と資源ビット配列30はビットマ スクとして実現される。2つのビット配列を比較する工程は2つのビットマスク に対してビットごとのANDを取ることにより行われる。得られるビットマスク は次に元のタスクビットマスク50と比較される。もしもそれらが同一ならばハ ード拘束が満たされたことになる。得られるビット列をタスクビット列50に比 較する工程は、ビットごとに排他的論理和(ExcusiveOR)を取ること により行われる。結果がゼロ(配列が全てゼロ)なら拘束が満たされる。従って 、試験はNOT(tbmXOR(tbmANDrbm))(ただしtbmはタスク ビット配列、rbmは資源ビット配列)として表される。これはCまたはC+十 言語で動作し、0ならば偽と考えられる。これはまたハード的にも実現される。 他の言語では、XORの演算結果はそれが0かどうかを決定するために試行され る。 この比較は、資源ビット配列が全ての対応する能力を含んでいるならタスクビ ット配列中にコード化されている拘束の全てが満足されるであろうことを保証す る。資源は他の拘束に有用なより多くの能力を有しうるが、タスクに必要なもの よりも少ない能力を有するものではない。そうでないと、資源はそのタスクを実 行する資格を有せず、比較は失敗する。 資源ビット配列30とタスクビット配列50は同一の長さを有しなくても良 い。例えばもしも遺伝的アルゴリズムスケジュール装置が一つのタスクを実行す るために複数の資源をスケジュールする場合には(例えば、スケジュール領域が 作業者のチームとタスクを実行するために組み立てるべき装置とを必要とする場 合)、タスクビット配列50は全てのタイプの資源に対して全ての各種拘束を含 むようにはるかに長い場合がある。資源は単にその特定の型の資源に特有な全て の資格要件を含むに充分な長さの資源配列30を要するにすぎないであろう。比 較のための唯一の条件は資源ビット配列30がタスクビット配列50における適 正な比較領域にずらされることだけである。 別法として、タスク表示はそれに関連した複数のタスクビット配列50を有す ることができる。タスクが作業者のチームとタスクを実行するために組み立てる べき装置とを必要とする場合である上記の例では、タスクを実行するために必要 な各資源タイプに対するタスクビット配列50があり得る。特定の資源タイプに 対するタスクビット配列は次いで対応する資源ビット配列に比較されて、その資 源がそのタスクを実行するためにハード拘束を満たすかどうかを決定するために 可能な資源を表示する。 問題領域に特有なハード拘束に対する汎用の遺伝的アルゴリズムスケジュール 装置を準備することは直接的である。全ての可能なハード拘束を含むタスク記述 が装置に入力される。同様なタスクは標準のハード拘束の準備され他テンプレー トを持つことができる。装置は又ハード拘束の数に基づいてタスクビット配列5 0の長さを決定するであろう。次いで指標位置がタスクビット配列50の各ハー ド拘束の条件を示すために割り付けられる。 資源の記述は同様に各資源に対して可能な資格リストを有するように準備され る。資源ビット配列30の長さは資格の数(もしも新規な資格が装置の使用中に 必要となるなら余分の長さが使用できる)により定まる。資源ビット配列300 への指標位置はタスクビット配列50の指標位置に一致しなければならず、それ により各拘束及び対応した資格が完全に一致することになる。もしも資源ビット 配列30とタスクビット配列50が異なった長さを有するならば、指標位置のず らし(オフセット)が使用される。 本発明はソフトウエアに関連して説明されるが、本発明はハードウエアによっ ても実施可能である。例えば特殊目的に設計された集積回路(IC)により拘束 ・能力の比較を実行できる。更に拘束及び能力に対する予め選択された指標の組 を特殊目的のハードウエア、ファームウエア、又はROMに組み込む(ハードコ ード化)できる。 本発明の1実施例によるゲノムの個体群を初期化する方法は、可能な解空間に 局所最適化でコードした各種のゲノムを作成することを含む。遺伝的アルゴリズ ムスケジュール装置は次に初期最適ゲノムについて改良を行い、それによりより より少ないサイクル数と時間でスケジュール作成問題に対する最適解を決定する ことを要するようにする。 大抵のスケジュール作成問題では、タスクと資源に関連した一組の費用因子が 存在する。費用因子は特定のタスクを実行する資源の特定の費用を定義する可測 量である。ある種の費用因子は金銭に換算できるが(技術者の時間単価、修理仕 事の場合の均一単価など)、費用因子には定量的に測定できる任意の因子を含み うる。費用因子の例には旅行時間、労賃、残業、経験、特別な装置の必要性、作 業者の優先順位、タスクをスケジュールするための時日、遅延作業に対する懈怠 金、等がある。費用因子は時間あたりの費用の単位で測られる。一つの実施例で は、費用因子は時間割合(時間単価)で計測される。ともかく、前に説明したよ うに、費用因子の選択及び計測はこのように測定できる因子に限られない。 費用因子は、遺伝的アルゴリズムスケジュール装置の適応度決定手段に使用さ れる構成要素と同様な概念であるが、それらは同一である必要はなく、又同一の 測定技術を使用する必要もない。一組の費用因子は遺伝的アルゴリズムスケジュ ール装置の適応度決定手段により使用される測定とは全然違うものであって良い 。 費用因子は特定のタスクを実行する特定の資源のための費用見積もりビッドを 作成するために使用される。 最適化ゲノムを生成するための装置は図6の資源ビッド決定装置60を含む。 タスク記述62は資源ビッド決定装置60に入力される。決定装置60はタスク 68を実行するためにその資源に対するビッドを出力する。タスク記述62は、 見込み時間、困難さ、仕事場までの距離等、タスク実行のための情報を含む。タ スク記述は任意量の情報を含みうる。 資源ビッド決定装置60への他の入力は、資源ビッドが生成されるべき特定の 資源と関連した資源費用因子64である。前に検討したように、費用因子は資源 が選択されたタスクを実行するための費用を見積もるための補助となる変数を提 供する。 資源ビッド決定装置60には更に重み設定値66が入力される。重み設定値6 6は対応する費用因子が資源ビッド68に対してどの程度影響するかを決定する 変数である。資源費用因子64中の各費用因子は対応した重み設定値を有する。 好ましい例では、重み設定値は0と1の間にある。設定値0では費用因子は生成 する資源ビッド68に対して影響しない。重み設定値が1に近いと関連した費用 因子は得られる資源ビッド68に対して中位ないし強度の影響を与える。 重み設定値は遺伝的アルゴリズムスケジュール装置が費用因子と共に領域(dom ain)をスケジュールするように調整されているときに決定される。しかし、費用 因子とは異なり、重み設定値はスケジュール装置が動作している間の任意の時点 で動的に変化できる。重み設定値は通常各費用因子に対して決定されて、その費 用因子がどの程度重要かを示す。これにより大多数の費用因子が資源ビッドに影 響することが許され、単一の調整因子で各費用因子の個々の重要度が強調される 。 資源ビッド決定装置60は更に、現在のスケジュールにおいて割り当てられて いる同じ資源に対する前回のタスク67の情報を受け取る。この情報は資源がタ スクを実行できるかどうか(例えば資源の在庫があるか)を決定するのにも、又 ビッドを生成するのにも、資源ビッド決定装置60により使用される。後者の例 としては、もしもビッドが行われている新規タスクが、資源が既にスケジュール されているタスクの同じ顧客サイトにあるならば、資源ビッド決定装置60は旅 行時間を適宜に短縮し、そして顧客サイトへの一度の旅行で実行される2つのタ スクに基づいてビッドを生成する。 本発明の好ましい実施例においては、資源ビッド決定装置60は、次式を使用 してビッドを決定する。 W1CF11+W2CF22+W3CF33+・・・ ここにW1は第1の費用因子に対する重み設定値であり、CF1は資源に関連し た第1の費用因子であり、T1はタスクを実行するのに必要な(たぶん見積もら れた)特定の費用(費用因子に関連したもの)の大きさを表すタスク記述62か らの情報である。W2CF22は第2の費用因子に関連した同様な意味を有する 。以下同様である。 例えば、電子装置を顧客のサイトで修理するために技術者をスケジュールする ためのスケジュール装置では、第1の費用因子CF1は顧客のサイトを往復する 旅費を示し、旅費に技術者が利用できない(働いていない)時間、燃費、その他 の因子を含む。T1は顧客のサイトを往復するのに要する時間であり、W1は0. 2に設定される。この数値は、旅行時間が、装置の修理タスクを行うための技術 者に対する資源ビッドにおいて余り大きな考慮を必要としないことを示す。すぐ に説明するように、重み設定値は装置設定値に従って調整される。 上の例について、他の費用因子CF2は顧客の装置の休止時間である。もしも 顧客の装置が破損したら、顧客は電話して保守を要求する。これは次にスケジュ ール装置によりスケジュールされるべきタスクである。スケジュール装置が技術 者を顧客のところへ到達させるスケジュールを作成するのが遅れるほど、顧客が 装置を使用できない時間が長くなる。この場合、T2は顧客が電話してきた時間 と技術者が(提案されたスクジュールに従って)そこへ到達する時間との差であ る。W2は顧客の休止時間を最小にすることがどの程度重要かを示す重み設定値 である。低い重み設定値は顧客の休止時間が重要な因子では無いことを示し、高 い重み設定値は顧客の休止時間を抑制することがきわめて重要であることを示す 。この例では、重みは0.99であり、顧客の問題への迅速な対応がビッド工程 に対して非常に重要であることを示す。この例は費用因子が時間単価で表される 真の費用以外に他の量を含みうることを示す。ここでは、顧客の休止時間を回避 するための費用因子が、顧客の満足度を含む他の量で測定される。 上記の例に対する他の費用因子は資源労賃である。CF3は技術者が顧客に対 して請求する労賃の時間単価である。T3は技術者が装置を修理するために顧客 のサイトにいるであろう時間である。他の技術者(資源)は異なった労賃の時間 単価と同一の仕事を実行するための見積もり時間とを有し得る。経験のある技術 者は高い労賃単価を有するが、診断及び修理に短い修理時間を要するにすぎない 。W3は資源労賃が資源ビッドを決定するのにどの程度重要かを示す重み設定値 である。0に近い重み設定値は労賃が重要ではにことを示し、1に近い値は労賃 が重要であることを示す。この例では設定値は0.5である中間の重要度を表す 。 上記の例に対する他の費用因子は要求よりも遅いサービスを実行した場合のペ ナルティーである。この例の電子装置の修理では、顧客との間に、技術者が顧客 のサービス要求から48時間以内に現れなければサービス料金を50%負けると いう契約を締結している場合とする。この例に対する費用因子CF4は、もしも 技術者が顧客のサイトを48時間までに訪問するようにスケジュールされていな い場合には、修理サービスに対する損失を表すような式となろう。T4は顧客が 電話してからスケジュールされた訪問までの経過時間を表し、W4は遅延のペナ ルティーを回避する修理サービスの重要性を表す重み設定値である。もしも修理 サービスがタスクに対するペナルティー料金を被ることが、スケジュール作成に おける他の因子ほど重要でないほど忙しい場合には、小さい重みが設定される。 もしもペナルティーを被ることを回避することが重要な場合には重みを高く設定 する。 この例は特定のスケジュール問題領域に対する可能な費用因子と重み設定値の 例示として使用した。本発明の能力には限界はなく、ここに記載された技術を利 用して詳細なタスクと資源情報を表示し且つ操作することが可能である。 資源ビッド決定装置60に使用される情報62−67は任意の形態の記憶装置 、例えば遺伝的アルゴリズムスケジュール装置により使用されるデータベースの ような記億装置から得ることができる。 本発明の1実施例に従ってゲノムを発生する方法は、各種の費用因子に重点を 置いて初期ゲノムを生成する工程を含む。図7を参照するに、先ず、適合な重み 設定値が選択される(段階120)。重み設定値は各費用因子が資源ビッドにどの 程度影響するかを示す。これらの重み設定値は以下で説明する数種の異なった方 法で処理される。 ゲノムを生成するには、タスクを、一群のスケジュールすべきタスクから選択 する(段階122)。1実施例では、タスクはタスクが装置に入る順に選択される 。他の実施例ではタスクは問題領域に密接にリンクされた単純な距離に基づいて 選択検索される。 利用可能な資源の群からの全ての資源は、次いでそのタスクを実行するための ビッドを生成する(段階124)。各資源はそのビッドをタスク記述62、費用因 子64、及び重み設定し66に従って生成する。好ましい実施例では、可能な資 源がチェックされて、既に説明したように、それが選択されたタスクを実行する のに必要なカード拘束を満足するかどうかを決定するためにチェックされる。も しも可能な資源がハード拘束を満足しなければ、資源ビッドを生成しない。 最良ビッドを有する資源が選択される(段階126)。上に述べた費用因子及び 重み設定値の点から、最良ビッドは数値的に最低のビッドである。しかし、費用 因子及び重み設定値を異なった技術と式で使用する装置は、最高ビッド或いは所 定の数値に最も近いビッドのようなビッドを決定するために異なった評価を有し うる。 最良ビッドを有する選択された資源は、選択されたタスクと対合され、得られ るゲノムは選択された資源が選択されたタスクを実行する表示でコード化される (段階128)。資源・タスク対はゲノムにおける次に利用可能な個所でコード化 される。 別法として、資源ビッドはスケジュールの好ましい個所を含むことができる。 例えば、資源は新規タスクを、スケジュール情報67により表示されているよう に、その資源のために既にスケジュールされている他のタスクよりも前にスケジ ュールするように計画することにより、低いビッドを生成する。もしもし原画選 択されると、得られる資源・タスク対は正しい位置でゲノム中にコード化され、 資源が前にスケジュールされているタスクを行う前に新規タスクを行うことを示 す。 選択されたタスクは今やスケジュールされ、まだスケジュールされていないタ スクから除かれる(段階130)。群中にもうタスクが存在しない理由で全てのタ スクがスケジュールされたら(段階132)、ゲノムは完成する(段階134)。 その他の場合には未スケジュールのタスクを選択すること、ビッドを資格のある 資源から得ること、資源を最良ビッドで選択すること、そしてゲノムを上記12 4〜132で説明したように適宜にコード化することを反復する。 これらの工程の結果、既に少なくとも部分的に最適化されている可能なスケジ ュールをコードするゲノムが得られる。最適化は費用因子及び重み設定値に依存 する。ゲノムが個体群に挿入され、そして遺伝的アルゴリズムスケジュール装置 が動作すると、ゲノムはランダムに生成されたゲノムに比して潜在的に良好な適 応度を有することになり、遺伝的アルゴリズムスケジュール装置がより早く解に 達することを助けることになる。以下に説明するように部分的に最適化されたゲ ノムには他の利点が存在する。 本発明の好ましい実施例では、各々が異なった費用因子の強調を有するスケジ ュールをコードする数種のゲノムが存在する。この技術にの結果、解空間が潜在 的に最適化された個所に配置されたゲノムにより接種されることになる。異なっ た程度に最適化されたゲノムは重み設定値を調整することにより生成される。特 定の費用因子に対して一つの重みが選択され、そして多くの他の重み設定値が一 時的に低下され又はゼロに設定される。図6の資源ビッド決定装置60は次いで 資源ビッド68を生成する。ここにビッド68は上記の特定の費用因子に強く影 響されている。全ての利用可能な資源が選択されたタスクを実行するためのビッ ド68を生成したとき、最低ビッド数を有する資源は最低費用で(その特定の費 用因子に対し)当該選択されたタスクを実施することができる。 得られるゲノムは従って選択された費用因子に基づいて最適化されている。各 区費用因子に対して最適化されているゲノムは、選択された重み設定値を除く全 ての重み設定値を選択的に低下することにより、そのように生成されている。又 、少なくとも1つのゲノムはそれらの正常値(予め設定された値での重み設定値 )で生成され、それにより全てのこれらの変数を考慮した一つのゲノムを生成す る。 好ましい実施例では、ランダムコードを有するある種のゲノムも又、標準のラ ンダムかゲノム生成工程を用いて生成される。これらのランダムにコードされた ゲノムは初期個体群に添加される。初期個体群に追加されたランダムにコードさ れたゲノムの数は初期個体群のために選択された大きさに依存する、更に他のゲ ノムはランダムコード化と費用因子重み設定値の変動との組合せにより生成でき る。 このようなゲノムの初期化個体群で動作される遺伝的アルゴリズムスケジュー ル装置は、解空間の見込み領域に収斂するのに、はるかに少ない時間を費やすに すぎないであろう。例えば、300タスクと30資源とを有するスケジュール問 題を含む試験事例では、最適スケジュールを生成するのに100のランダム初期 化ゲノム個体群を用いた遺伝的アルゴリズムスケジュール装置は、最適スケジュ ールを生成するのに10000回の反復サイクルを要した。上記のゲノム初期化 法を使用すると、同一の遺伝的アルゴリズムスケジュール装置は最適スケジュー ルを生成するのにわずかに5000回の反復サイクルを要したにすぎない。 さらに、ランダム初期化ゲノムでの遺伝的アルゴリズムスケジュール装置にお いては、解空間の最適解を有する領域はゲノムのランダム性により完全に見逃さ れることがあり得る。しかし、既に部分的に最適化された解を有するゲノム個体 群は解空間の目立った領域にある少なくとも1つのゲノムを含む可能性が高く、 そのため遺伝的アルゴリズムスケジュール装置を当該領域を探索するうように導 く可能性が高い。 遺伝的アルゴリズムスケジュール装置の知られた問題はその性質上スケジュー ル作成データが常に変化することである。遺伝的アルゴリズムスケジュール装置 がどのようにうまく動作しても、動作時間は予定の時間よりも短くなったり長く なったりする。 スケジュールの変化は任意の時刻に遺伝的アルゴリズムスケジュール装置の運 転を中断し、変化を追加し、全ての変化を集め、全ての集めた変化でバッチ式に 遺伝的アルゴリズムスケジュール装置を更新することにより実現される。 遺伝的アルゴリズムスケジュール装置は一般に2つの時点に中断される。第1 はゲノム個体群の適応度評価によりランク付けを行う前である。これは通常ゲノ ム個体群が突然変異又は交差により修正された直後である。他の場合では、遺伝 的アルゴリズムスケジュール装置はゲノム個体群が適応度評価によるランク付け を受けた後に中断される。遺伝的アルゴリズムスケジュール装置はバッチ式更新 又は中断により更新でき、好ましくはいずれかの方法が上記2つの時点のいずれ かで行われる。 遺伝的アルゴリズムスケジュール装置は新規データにより更新できるが、ラン ダムに選択された資源・タスク対を付加することにより行われる変化は、しばし ば多くの事前に適応したゲノムを適応度試験で貧弱な挙動をさせる結果になる。 遺伝的アルゴリズムスケジュール装置が収斂しつつあった解は最早最良解ではな い可能性があり、そのため遺伝的アルゴリズムスケジュール装置は解空間の新た な領域に収斂することを試みなければならない。遺伝的アルゴリズムは時間のか かる突然変異により新たな解を何とか発見しなければならない。全体の遺伝的ア ルゴリズムスケジュール装置を更新データにより最初から実行した方がよい場合 が多い。 本発明はこの問題を解決して、遺伝的アルゴリズムスケジュール装置が迅速か つ効率的にスケジュールを更新することを可能にする。データの変化は一般にタ スクが追加され、消去され、又は修正されることにより、或いは資源が追加され 、又は消去されることにより生じる。動作中の遺伝的アルゴリズムスケジュール 装置の新規データにより更新はこの変化に依存する。 もしもタスクが消去なら、全てのゲノムが消去されたタスクのコードを捜索し 、資源・タスク対がゲノムから除去される。除去は資源・タスク対をヌル指示子 (スケジュール装置により無視される)と置き換えるとか、ゲノムを除去される 対で更新するなどの標準的な方法により実行される。これは以下に述べるように ゲノム更新の一部である。 タスクが消去されると、遺伝的アルゴリズムスケジュール装置は更新されたゲ ノムにより動作を継続する。そのタスクのために以前マークされていたスケジュ ールされた位置は、次のタスクで満たされることになる。従って、スケジュール (ゲノム中にコードされているもの)はなお有効であり、遺伝的アルゴリズムス ケジュール装置は最適目標に向かってスケジュールの発生を継続することができ る。 もしもタスクが追加なら、個体群中の最適応ゲノムが選択される(図8の段階 140)。最適応ゲノムは遺伝的アルゴリズムスケジュール装置の適応度評価に 従って最高にランクされたゲノムである。 図7に関連して説明した資源ビッド法が新たなタスクに対して実行される(図 8の段階142)。資格のある資源は費用因子及び予め定められている重み設定 値を使用して新規タスクを実行する際にビッド(申し出)を行う。最良ビッドを 有する資源がこのタスクを実行するためのスケジュールに使用されるべく選択さ れる。 次に、資源・タスク対は、ゲノムの、選択された資源により提供される最良ビ ッドに対応した個所へコード化される(段階144)。配列がゲノムを実現するた めに使用される場合には、新規な配列は全ての資源・タスク対のコードを含むに 十分な箇所を有するように作成される。そして古い配列の内容は新規な配列にコ ピーされ、適正な個所で新規な配列中に新規な資源・タスク対が挿入される。 個体群中の残りのゲノムは次に新規な資源・タスク対コードで更新される(段 階146)。新規な資源・タスク対コードは選択された資源に対する最良ビッド により決定された位置に対応した位置で各ゲノムに挿入される。ゲノムは新規ス ケジュール中の新規な資源・タスク対コードのすぐ後にくる資源・タスク対コー ドの位置を見いだすためにスキャンされ、新規な資源・タスク対コードはその前 に挿入される。もしもゲノムがこのような資源・タスク対コードを油脂内場合に は、新規な資源・タスク対コードは末端に挿入される。 個体群中の全てのゲノムが更新されたら、遺伝的アルゴリズムスケジュール装 置は次の段階148に進む。 この結果、資源のタスクへの最適の対合が生じる。タスクは単にランダムに対 台するのではなくて知能的にスケジュールに追加される。この遺伝的アルゴリズ ムスケジュール装置は追加により最小限度の影響しか受けず、これは従来のラン ダムな変化により脱線してゲノムの適応度に悪影響をするものとは異なる。 もしも資源の削除なら(タスクを実行するのに利用できなくなる)、その資源で の全ての資源・タスク対コードは個体群中のゲノムから除去される。次に、全て の「孤児」タスクは各々図8の新規タスクスケジュール工程に従ってスケジュー ルに追加される。好ましくは孤児タスクの各々は一度に追加される。最適応ゲノ ムが更新され、残りのゲノムは次にほとんどの最適応ゲノム中の挿入位置に従っ て更新される。このサイクルは全ての孤児タスクがスケジュール中にコードされ るまで続く。 もしも新規資源の追加なら、遺伝的アルゴリズムスケジュール装置を最初から 再始動した方がよい。なぜなら新規資源は通常全体のスケジュールを大幅に変え るからである。この場合、図7の資源ビッド法が、資源の追加時に適当な解を求 めるために、遺伝的アルゴリズムスケジュール装置を再始動させる種ゲノムを適 正に生成する助けとなる。 個体群中の重複ゲノムを消去する方法は好ましくはゲノムが個体群に追加され る段階で実行される。これは既に述べたようにランダム法及び/又はビッド法に よりゲノムが最初に生成される時点を含む。他の時点は、ゲノムが交差法又は突 然変異法を使用して修正され、適応度を評価され、ランク付けされる時である。 ゲノムは既存の個体群に添加されても良いし、或いは新規な空の個体群プールが 調整され、ゲノムが遺伝的アルゴリズムスケジュール装置によりバッチ処理され る際にゲノムをプールに添加しても良い。 重複ゲノムを消去するには、ゲノムを個体群の中から選択する(図9の段階1 50)。スケジュール表示がゲノム中にコードされた情報から構成される。遺伝 的アルゴリズムスケジュール装置の段階に依存して、スケジュール表示はゲノム を分析することが必要である。例えば適応度評価はスケジュールを分析してゲノ ムの適応度のランク付けを行わなければならない。したがって、すけじゅーるひ ょうじは既に入手可能であり得る。しかし、スケジュールが入手できなければ生 成される。 段階154において、スケジュール表示は新たにコード化されたゲノムに変換 される。好ましくは、スケジュール表示は逐次に走査され、各資源・タスクコー ド対は逐次にその新たなゲノム中にコード化される。ゲノムの以前に使用された コードは破棄される。以前に使用されたゲノムに対する配列又はデータ構造は装 置により割付を外され、或いは好ましくは配列又はデータ構造は新たなデータを 書き込んで再使用され、それにより装置の設備コストを節約する。 図3A〜3Bに関連して説明したように、数個の非同一ゲノムが同一のスケジ ュールを生じる情報をコードする可能性がある。スケジュール表示が変換により ゲノムコードに戻されるとき、変換はゲノムの資源・タスク対コードの検索を行 う結果となる。ゲノムのコードをスケジュール表示に変換し、次いでゲノムのコ ードに戻す工程は、それ故に重複ゲノムの容易な検出を可能にする。 新らしいゲノムが個体群に追加される前に、既に個体群中に存在する全てのゲ ノムと比較される(段階156)。好ましい実施例では、新ゲノムは既に存在する 全てのゲノムに対して逐次に比較される。比較はデータ構造の類似性を比較する ための任意の方法、例えば両ゲノムを直線的に走査して、両ゲノムの指標の比較 を行い、差異が検出されると比較の即時停止を行う。もしも新ゲノムと比較ゲノ ムの全長が何らの差異も発見されないで走査されると、両ゲノムは同一である。 もしも新ゲノムが個体群中に既に存在している他の全てのゲノムとの比較で単 一なら、新ゲノムは個体群に追加される(段階158)。 この方法は幾つかの利点を有する。重複ゲノムをチェックする工程は、遺伝的 アルゴリズムスケジュール処理の中に組み込まれ、新ゲノム個体群が集積される ときに生じる工程である。このため、重複ゲノムのチェックは最早色々の時点で 実施される別個の時間のかかる工程ではなくなる。遺伝的アルゴリズムスケジュ ール装置はそのゲノム分析のために色々な時点でスケジュール表示を生成する。 例えば、適応度を決定する際には、ゲノムのコードはいずれにしてもスケジュー ル表示に変換されなければならない。従って、本発明は上表表示の再使用を可能 にし、処理時間を節約する。 更に、走査は差異が発見されたときに即座に停止されるので、ゲノムの同一性 を決定する走査は速くなる。又、ゲノムは新香大群に追加される際に比較される 。もしも全個体群が先ず集積され、次いで重複ゲノムのチェックがされるなら、 装置は余計な比較が行われないように、どのゲノムがどのゲノムに対して比較さ れるかに付いてゲノムの詳細な追跡を必要とする。 本発明の全ての特徴は汎用コンピュータを使用して実現できる。スケジュール 情報に関するデータは、データベースから入力するとか、又はワークステーショ ンから手動で入力するとかの他の入力手段から入力することができる。このよう なデータには、資源記述、資源能力(ハード拘束情報)、タスク記述テンプレー ト、タスク記述、タスク拘束(ハード拘束情報)、費用因子分析データ、重み設 定値、及びスケジュールヒント及び優先性が含まれる。 データベースは、任意の標準的なデータベース、他の装置上で動作するデータ ベースであってすケジュール装置を駆動しているコンピュータ装置からアクセス できるもの等である。例えば、資源情報は、フィールド技術者が携帯しているコ ンピュータに照会することにより、モデム或いは無線通信により伝送される情報 をフィールド内の数カ所から取得して、更新することができる。本発明はスケジ ュールデータに対する連続的且つ動的な変化を可能にするから、生成されたスケ ジュールの使用者との高速通信リンクが有用である。 本発明のスケジュール装置は標準のメモリ条件を有するSun SPARKステーショ ンの腕動作する。装置を動作させるソフトウエアは任意標準的な高級言語、例え ばCまたはC++言語により欠くことができる。得られるスケジュールはコンピ ュータのスクリーンに表示され、印字され、或いは他の装置により読み取り且つ 操作できる形式で保存できる。 本発明の範囲内で他の多くの変形例が可能なことは当業者には明らかであろう 。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),AU,CA,JP (72)発明者 デステファーノ,ジョーゼフ ジェイ. アメリカ合衆国 01532 マサチューセッ ツ,ノースバラ,クラフリン ファーム レイン 7 (72)発明者 モンタナ,デイビッド ジェイ. アメリカ合衆国 02174 マサチューセッ ツ,アーリントン,ハサウェイ サークル 15

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータ上で動作するスケジュール装置において拘束情報をコード化 する装置において、 資源の少なくとも1つの能力を示す、資源に関連した資源能力指示要素と、 タスクの少なくとも1つの拘束条件を示す、タスクに関連したタスク拘束指示 要素と、 前記資源能力指示要素と、前記タスク拘束指示要素とを比較して、前記資源能 力指示要素に関連した前記資源が、前記タスク拘束指示要素に関連した前記タス クの少なくとも1つの前記拘束条件に対して必要な少なくとも1つの前記能力を 有するかどうかの表示を与える手段と、よりなる、 スケジュール装置において拘束情報をコード化する装置。 2.前記資源能力指示要素が資源ビット配列を含む請求項1の装置。 3.前記タスク拘束指示要素がタスクビット配列を含む、請求項2の装置。 4.前記資源能力指示要素と、前記タスク拘束指示要素との比較が、前記資源 ビット配列とタスクビット配列の間のAND比較である請求項3の装置。 5.前記資源能力指示要素と、前記タスク拘束指示要素との比較が、前記資源 ビット配列と前記タスクビット配列の間のAND比較の結果と、前記でタスクビ ット配列ビットとの比較である請求項4の装置。 6.コンピュータ上で動作する前記スケジュール作成装置が遺伝的アルゴリズ ムスケジュール装置を含む請求項1の装置。 7.前記資源ビット配列中の所定の指標が、前記資源ビット配列に関連した前 記資源の能力指示子をコードしている請求項3の装置。 8.前記タスクビット配列中の所定の指標が、前記タスクビット配列に関連し た前記タスクの拘束指示子をコードしている請求項7の装置。 9.前記タスクビット配列中の前記所定の指標と、前記資源ビット配列中の前 記所定の指標が等しいときに、前記能力指示子は前記拘束指示子と一致する請求 項8の装置。 10.複数のタスクを実行するため複数の資源に対するスケジュールを決定す るために、コンピュータ上で動作する遺伝的アルゴリズム装置において拘束情報 をコード化する装置において、 少なくとも1つの資源に関連した資源ビット配列であって、該資源ビット配列 へ書き込んだ少なくとも1つの所定の指標が前記少なくとも1つの資源の能力を 示している資源ビット配列と、 少なくとも1つのタスクに関連したタスクビット配列であって、該タスクビッ ト配列に書き込んだ少なくとも1つの所定の指標が前記少なくとも1つのタスク の拘束を示しているタスクビット配列と、 前記資源ビット配列と、前記タスクビット配列とを比較して、前記資源ビット 配列に関連した少なくとも1つの資源が、前記タスクビット配列に関連した少な くとも1つのタスクを実行できるような表示を与える手段と、よりなる、 スケジュール作成装置において拘束情報をコード化する装置。 11.前記資源ビット配列と、前記タスクビット配列との比較が、前記資源ビ ット配列とタスクビット配列の間の二進AND比較である請求項10の装置。 12.前記資源能力指示要素と、前記タスク拘束指示要素との比較が、前記資 源ビット配列と前記タスクビット配列の間のAND比較の結果と、前記でタスク ビット配列ビットとの比較である請求項11の装置。 13.前記タスクビット配列が拘束をそれぞれ表す複数の所定の指標を含んで いる請求項10の装置。 14.遺伝的アルゴリズム装置は、前記資源ビット配列に関連した資源を、前 記タスクビット配列に関連したタスクを実行するように、前記資源が前記タスク を実行できるという前記表示に基づいて割り当てるものである請求項10の装置 。 15.前記遺伝的アルゴリズム装置は、前記資源が前記タスクを実行すること の表示によりゲノムをコード化することにより、前記資源を前記タスクを実行す るように割り当てる、請求項14の装置。 16.各々が複数個の関連した費用因子を含んでいる複数個の資源を、複数個 のタスクを実行するように決定するためにコンピュータ上で動作するスケジュー ル装置で、一つのタスクを実行するために一つの資源を選択するための方法にお いて、 前記関連した費用因子の一つを選択し、 前記複数個のタスクから未スケジュールのタスクを選択し、 前記複数個の資源中の各資源に対して、前記選択された関連した費用因子に基 づいて、前記選択されたタスクを実行するための資源因子ビッドを生成し、 前記費用因子に基づいて前記タスクを実行するために一つの資源を選択し、次 いで 前記選択された資源が前記選択されたタスクを実行するようにスケジュールさ れていることを示す表示を生成することよりなる、 一つのタスクを実行するために一つの資源を選択するための方法。 17.資源をタスクを実行するように割り当てる前記方法が、前記選択された 関連した費用因子を使用して、前記複数個のタスクの各々に対して実行される請 求項16の方法。 18.複数個のスケジュールが生成され、生成される各スケジュールは異なっ た選択された関連した費用因子を使用して生成されている請求項17の方法。 19.前記選択された資源が前記選択されたタスクを実行するようにスケジュ ールされていることの表示を生成する段階は、前記選択された資源が前記選択さ れたタスクを実行するようにスケジュールされていることを示す表示を、遺伝的 アルゴリズムスケジュール装置のためのゲノム内にコードすることを含む、請求 項16の方法。 20.前記関連した費用因子の一つを選択する段階は、複数の前記関連した費 用因子を選択することを含む請求項16の方法。 21.前記複数個の資源中の各資源に対して、前記選択された関連した費用因 子に基づいて、前記選択されたタスクを実行するための資源因子ビッドを生成す る段階は、もしも前記複数個の資源が前記選択されたタスクを実行できない場合 には、前記選択されたタスクを実行するための費用因子ビッドを生成しない、請 求項16の方法。 22.前記選択された関連した費用因子に基づいて、前記選択されたタスクを 実行するための資源因子ビッドを生成する工程は、前記関連した費用因子の所定 の重要度を表示する所定の重み設定値を各費用因子に関連して提供する、請求項 16の方法。 23.全ての関連した費用因子に対する前記所定の重み設定値は、前記関連し た費用因子の前記選択された一つを除いてゼロに設定される請求項22の方法。 24.複数個のタスクを実行するように複数個の資源のスケジュールを決定す る遺伝的アルゴリズム装置のための、ゲノムを発生する方法において、 各資源に関連した複数の費用因子を供給し、 前記複数個の所定の費用因子の各々に対応する、前記費用因子の重要度を表す 複数個の重み設定値を供給し、 前記複数個のタスクから未スケジュールのタスクを選択し、 前記複数個の資源中の各資源に対して、前記選択された所定の費用因子と重み 設定値に基づいて、前記選択されたタスクを実行するための資源因子ビッドを生 成し、 前記費用因子ビッドに基づいて前記タスクを実行するために一つの資源を選択 し、そして 前記選択された資源が前記選択されたタスクを実行するようにスケジュールさ れていることを示す表示で前記ゲノムを初期化することよりなる、 ゲノムの生成方法。 25.前記方法が前記選択された関連した費用因子を使用して前記複数のタス クの各々に対して実行される請求項24の方法。 26.前記複数のタスクから未スケジュールのタスクを選択する段階の前に、 所定の費用因子を選択し、前記関連した重み設定値を、前記選択された費用因子 と関連した重み設定値を除く全ての重み設定値が0になるように設定する、請求 項25の方法。 27.ゲノムを発生する段階は、複数個のゲノムを発生するように複数回実施 されるものであり、前記複数の関連した費用因子の異なった一つは、ゲノムを発 生する各実行のために選択されている請求項26の方法。 28.前記複数個の資源中の各資源に対して、前記選択された所定の費用因子 と重み設定値に基づいて、前記選択されたタスクを実行するための資源因子ビッ ドを生成する段階は、 もしも前記複数の資源中の資源が前記選択されたタスクを実行できない場合に は、前記選択されたタスクを実行するための費用因子ビッドは生成されない、請 求項24の方法。 29.前記関連した重み設定値の各々は0〜1の範囲にある請求項24の方法 。 30.ゲノムを発生する前記方法は、前記新ゲノムを既にゲノム個体群を発生 している遺伝的アルゴリズム装置のためのゲノム個体群に挿入される請求項25 の方法。 31.前記新ゲノムは前記複数の資源の少なくとも1つの変化に応答して発生 される請求項30の方法。 32.前記複数の資源の少なくとも1つの変化は、資源の追加又は除去である 請求項31の方法。 33.前記新ゲノムは前記複数のタスクの少なくとも1つの変化に応答して発 生される請求項30の方法。 34.前記複数のタスクの少なくとも1つの変化は、タスクの追加又は除去で ある請求項33の方法。 35.各々が複数個の関連した費用因子を含み、各費用因子が関連した重み設 定値を有する、複数個の資源を、複数のタスクを実行するようにスケジュールす る遺伝的アルゴリズム装置のための、ゲノムを発生する方法において、 前記関連した費用因子の一つを選択し、 前記選択した費用因子を除く他の関連した費用因子の各々に関連した重み設定 値を0に設定し、 前記複数個のタスクから未スケジュールのタスクを選択し、 前記複数個の資源中の各資源に対して、前記選択された所定の費用因子と重み 設定値に基づいて、前記選択されたタスクを実行するための資源因子ビッドを生 成し、 前記費用因子ビッドに基づいて前記タスクを実行するために一つの資源を選択 し、そして 前記選択された資源が前記選択されたタスクを実行するようにスケジュールさ れていることを示す表示で前記ゲノムを初期化することよりなる、 ゲノムの生成方法。 36.各々が少なくとも1つの関連した費用因子を含む複数個の資源を、複数 のタスクを実行するようにスケジュールする遺伝的アルゴリズム装置のための、 ゲノム個体群を発生する装置において、 前記関連した費用因子の重要度の表示を与える重み設定値を前記少なくとも1 つの関連した費用因子に関連して設定する重み設定手段と、 一つの選択された資源に対して、前記関連した費用因子及び関連した重み設定 値に基づいて、一つの選択されたタスクを実行するための資源費用を計算する手 段と、 よりなるゲノム個体群を発生する装置。 37.前記重み設定値は前記関連した費用因子の重要度の前記表示を修正する ように動的に変化される請求項36の装置。 38.前記複数の資源の少なくとも1つ、又は前記複数個のタスクの少なくと も1つは変化し、そして前記ゲノムが前記変化を含むように生成される請求項3 6の装置。 39.コンピュータ上で動作し、複数個の資源を、複数のタスクを実行するよ うにスケジュールする複数のゲノムを含む遺伝的アルゴリズムスケジュール装置 において、前記遺伝的アルゴリズムスケジュール装置が既に動作している間に、 新タスクを前記複数のタスクに追加する方法において、 各資源に関連した複数個の所定の費用因子を供給し、 前記複数の所定の費用因子の各々に対応して、前記費用因子の重要度を示す複 数の重み設定値を供給し、 前記遺伝的アルゴリズムスケジュール装置の運転を停止し、 前記複数のゲノムから1つのゲノムを選択し、 前記複数の資源中の各資源に対して、前記新タスクを、前記選択された費用因 子と前記重み設定値とに基づいて実行するための費用因子ビッドを生成し、 前記費用因子ビッドに基づいて前記タスクを実行するための資源を選択し、 前記選択された資源が前記新タスクを実行するようにスケジュールされている ことを示す表示により前記選択されたゲノムをコードし、 そして、前記遺伝的アルゴリズムスケジュール装置の運転を再開することより なる、 新規タスクの追加方法。 40.更に、前記複数のゲノム中の全てのゲノムを、前記新タスクを実行する ようにスケジュールされていることを示す表示でコードすることを含む請求項3 9の方法。 41.前記ゲノムはゲノム適応度評価に基づいて前記複数のゲノムから選択さ れる請求項39の方法。 42.前記複数の資源中の一つの資源が利用できなくなると、前記利用できな い資源により実行されるように既にスケジュールされていた全てのタスクは、新 タスクとして追加されるものである請求項39の方法。 43.遺伝的アルゴリズムスケジュール装置における重複ゲノムを検出する方 法において、 第1のゲノム中にコードされている第1の情報をデコードし、 前記デコードされた第1の情報を第1の再コードされたゲノムに変換し、 第2のゲノム中にコードされている第2の情報をデコードし、 前記デコードされた第2の情報を第2の再コードされたゲノムに変換し、 これらの第1の再コードされたゲノムと、第2の再コードされたゲノムを比較 することよりなる、 重複ゲノムを検出する方法。 44.前記第1の再コードされたゲノムと第2の再コードされたゲノムとを比 較する段階は、前記第1の再コードされたゲノムと、第2の再コードされたゲノ ムの各要素の逐次比較による請求項43の方法。 45.前記第1の再コードされたゲノムと第2の再コードされたゲノムとを比 較する段階に続き、もしも第1の再コードされたゲノムと前記第2の再コードさ れたゲノムが同一ならば、その一方を除去する工程を含む請求項43の方法。 46.遺伝的アルゴリズムスケジュール装置における重複ゲノムを検出する方 法において、 第1のゲノム中にコードされている情報から第1のスケジュールを構成し、 前記第1のスケジュールを第1の再コードされたゲノムに変換し、 第2のゲノム中にコードされている情報から第2のスケジュールを構成し、 前記第2のスケジュールを第2の情報を第2の再コードされたゲノムに変換し 、 これらの第1の再コードされたゲノムと、第2の再コードされたゲノムを比較 することよりなる、 重複ゲノムを検出する方法。 47.前記第1の再コードされたゲノムと、第2の再コードされたゲノムを比 較する段階は、前記第1の再コードされたゲノムと、第2の再コードされたゲノ ムの各要素の逐次比較による請求項46の方法。 48.前記第1の再コードされたゲノムと第2の再コードされたゲノムとを比 較する段階に続き、もしも第1の再コードされたゲノムと前記第2の再コードさ れたゲノムが同一ならば、その一方を除去する工程を含む請求項46の方法。 49.前記第1の再コードされたゲノムと第2の再コードされたゲノムとを比 較する段階は、前記第1の再コードされたゲノムがゲノム個体群に追加されると きに行われる請求項46の方法。
JP51694498A 1996-10-04 1997-10-03 遺伝的アルゴリズムスケジュール作成装置及び方法 Pending JP2002516003A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US2765196P 1996-10-04 1996-10-04
US60/027,651 1996-10-04
US08/838,914 US5848403A (en) 1996-10-04 1997-04-11 System and method for genetic algorithm scheduling systems
US08/838,914 1997-04-11
PCT/US1997/018005 WO1998014891A1 (en) 1996-10-04 1997-10-03 Genetic algorithm scheduling system and method

Publications (1)

Publication Number Publication Date
JP2002516003A true JP2002516003A (ja) 2002-05-28

Family

ID=26702741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51694498A Pending JP2002516003A (ja) 1996-10-04 1997-10-03 遺伝的アルゴリズムスケジュール作成装置及び方法

Country Status (6)

Country Link
US (1) US5848403A (ja)
EP (1) EP1010093A1 (ja)
JP (1) JP2002516003A (ja)
AU (1) AU727802B2 (ja)
CA (1) CA2267789A1 (ja)
WO (1) WO1998014891A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014061518A1 (ja) * 2012-10-19 2014-04-24 株式会社日立製作所 保守装置、保守システム、保守プログラム
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法
WO2021072279A1 (en) * 2019-10-09 2021-04-15 Nmetric, Llc Genetic algorithm with deterministic logic
WO2023021578A1 (ja) * 2021-08-17 2023-02-23 日本電信電話株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3577207B2 (ja) * 1996-12-12 2004-10-13 富士通株式会社 遺伝的アルゴリズム実行装置、実行方法およびそのプログラム記憶媒体
JP3548672B2 (ja) * 1997-06-30 2004-07-28 株式会社東芝 地域熱供給プラントの制御装置
FI107604B (fi) * 1997-08-15 2001-09-14 Kone Corp Geneettinen menetelmä hissiryhmän ulkokutsujen allokoimiseksi
FI107379B (fi) * 1997-12-23 2001-07-31 Kone Corp Geneettinen menetelmä hissiryhmän ulkokutsujen allokoimiseksi
JPH11250030A (ja) * 1998-02-27 1999-09-17 Fujitsu Ltd 進化型アルゴリズム実行システムおよびそのプログラム記録媒体
US6031984A (en) * 1998-03-09 2000-02-29 I2 Technologies, Inc. Method and apparatus for optimizing constraint models
JP3916749B2 (ja) * 1998-03-11 2007-05-23 富士通株式会社 仕事仲介装置及び記録媒体
US6278978B1 (en) * 1998-04-07 2001-08-21 Blue Pumpkin Software, Inc. Agent scheduling system and method having improved post-processing step
US7058589B1 (en) * 1998-12-17 2006-06-06 Iex Corporation Method and system for employee work scheduling
US6571226B1 (en) 1999-03-12 2003-05-27 Pharmix Corporation Method and apparatus for automated design of chemical synthesis routes
US20030220716A1 (en) * 1999-03-12 2003-11-27 Pharmix Corporation Method and apparatus for automated design of chemical synthesis routes
US6490566B1 (en) * 1999-05-05 2002-12-03 I2 Technologies Us, Inc. Graph-based schedule builder for tightly constrained scheduling problems
US6389454B1 (en) 1999-05-13 2002-05-14 Medical Specialty Software Multi-facility appointment scheduling system
US6415259B1 (en) * 1999-07-15 2002-07-02 American Management Systems, Inc. Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system
US6633854B1 (en) 1999-11-05 2003-10-14 Genuity Inc. System and method for analyzing genertic algorithms
DE10085366T1 (de) * 1999-12-29 2002-12-05 Ge Harris Railway Electronics Rangierbahnhofsfunktionsmodell auf der Basis einer Betriebsablaufmodellierung
US6810383B1 (en) * 2000-01-21 2004-10-26 Xactware, Inc. Automated task management and evaluation
US6769112B1 (en) 2000-02-11 2004-07-27 David J. Montana Domain-independent reconfigurable scheduler
BR0108953A (pt) * 2000-03-03 2002-12-17 Kone Corp Processo e aparelho para alocar passageiros em um grupo de elevadores
US6981000B2 (en) * 2000-06-30 2005-12-27 Lg Electronics Inc. Customer relationship management system and operation method thereof
US7174303B2 (en) * 2000-07-31 2007-02-06 Uappoint, Inc Customer driven, sponsor controlled network-based graphical scheduling system and method
US7286994B1 (en) 2000-12-26 2007-10-23 At&T Bls Intellectual Property, Inc. System for facilitating technician sales referrals
US7660754B1 (en) 2000-12-26 2010-02-09 At&T Delaware Intellectual Property Inc. Technician communications system with automated claims processing
US6882989B2 (en) * 2001-02-23 2005-04-19 Bbnt Solutions Llc Genetic algorithm techniques and applications
US7937280B1 (en) * 2001-04-02 2011-05-03 I2 Technologies Us, Inc. Planning and scheduling of maintenance, repair, and overhaul services
US6785662B1 (en) 2001-05-04 2004-08-31 Uop Llc Refinery scheduling of incoming crude oil using a genetic algorithm
US7219137B1 (en) 2001-06-28 2007-05-15 Bellsouth Intellectual Property Corp Technician wireline and wireless intranet access via systems interface to legacy systems
US7606712B1 (en) 2001-06-28 2009-10-20 At&T Intellectual Property Ii, L.P. Speech recognition interface for voice actuation of legacy systems
US8831949B1 (en) 2001-06-28 2014-09-09 At&T Intellectual Property I, L.P. Voice recognition for performing authentication and completing transactions in a systems interface to legacy systems
US7401144B1 (en) 2001-06-28 2008-07-15 At&T Delaware Intellectual Property, Inc. Technician intranet access via systems interface to legacy systems
US20030014225A1 (en) * 2001-07-13 2003-01-16 De Vicente Juan Francisco Thermodynamic simulated annealing schedule for combinatorial optimization problems
US7797139B2 (en) * 2001-12-07 2010-09-14 Chevron U.S.A. Inc. Optimized cycle length system and method for improving performance of oil wells
US7149702B1 (en) * 2001-12-31 2006-12-12 Bellsouth Intellectual Property Corp. System and method for document delays associated with a project
SG103338A1 (en) * 2002-02-27 2004-04-29 Nanyang Polytechnic System, method and product for rostering using genetic algorithms
US7249116B2 (en) * 2002-04-08 2007-07-24 Fiske Software, Llc Machine learning
US7395221B2 (en) * 2002-05-09 2008-07-01 International Business Machines Corporation Intelligent free-time search
US20040128304A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Selective exposure of free time in group scheduling systems
US7756787B1 (en) * 2003-01-22 2010-07-13 Intuit Inc. Bill payment optimization using a genetic algorithm
US8019705B2 (en) * 2003-03-24 2011-09-13 Fiske Software, LLC. Register and active element machines: commands, programs, simulators and translators
US20050071302A1 (en) * 2003-09-29 2005-03-31 Mcguffin Tyson R. Method and system for mapping genes to characteristics in a genetic optimization process
US20050096972A1 (en) * 2003-10-31 2005-05-05 Walter Baechtiger Network branch placement tool
US7577576B2 (en) * 2003-10-31 2009-08-18 Walter Baechtiger Network branch placement tool
US20050197936A1 (en) * 2004-01-13 2005-09-08 International Business Machines Corporation Monte Carlo grid scheduling algorithm selection optimization
US7904192B2 (en) * 2004-01-14 2011-03-08 Agency For Science, Technology And Research Finite capacity scheduling using job prioritization and machine selection
US7448022B1 (en) 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
US20060095326A1 (en) * 2004-05-25 2006-05-04 Karandeep Sandhu Sales tool using demographic content to improve customer service
US20050267803A1 (en) * 2004-05-25 2005-12-01 Arvin Patel Advertising management structure and method for correlating campaigns with consumer interest
US8175920B2 (en) * 2004-05-25 2012-05-08 Sales Portal, Inc. System and method for exchanging sales leads
US7386763B2 (en) * 2004-07-07 2008-06-10 Agilent Technologies, Inc. Proactive systemic scheduler for resource limited test systems
GB0427133D0 (en) * 2004-12-10 2005-01-12 British Telecomm Workflow scheduler
US7564347B2 (en) * 2005-02-03 2009-07-21 Raytheon Company Dynamically tasking one or more surveillance resources
US7889857B2 (en) * 2005-02-15 2011-02-15 Siemens Aktiengesellschaft Method and system for providing a service
US7793294B2 (en) * 2005-02-22 2010-09-07 Northrop Grumman Corporation System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US7668788B2 (en) * 2005-06-06 2010-02-23 Wren William E Resource assignment optimization using direct encoding and genetic algorithms
US8428991B1 (en) * 2005-06-30 2013-04-23 Dennis Brian Rooks System and method for scheduling
US20070061774A1 (en) * 2005-09-09 2007-03-15 Jonathan Chan Apparatus, system, and method for managing project customization, compliance documentation, and communication
US8548838B1 (en) * 2005-09-28 2013-10-01 Kyyba, Inc. Method, software and/or process for optimizing the distribution of labor in a manufacturing environment
US20070245300A1 (en) * 2006-03-22 2007-10-18 Benjamin Chan Apparatus, system, and method for presenting project scheduling information in combination with workflow information
US20070282476A1 (en) * 2006-06-06 2007-12-06 Siemens Corporate Research, Inc Dynamic Workflow Scheduling
US20080065447A1 (en) * 2006-08-29 2008-03-13 International Business Machines Corporation Interactive and Incremental Event Scheduling
EP2118823B1 (en) * 2007-03-01 2020-04-15 Zipcar, Inc. Multi-tiered fleet management cache
US8069127B2 (en) * 2007-04-26 2011-11-29 21 Ct, Inc. Method and system for solving an optimization problem with dynamic constraints
US8141081B2 (en) * 2008-01-21 2012-03-20 International Business Machines Corporation Optimized methodology for dispositioning missed scheduled tasks
TWI391839B (zh) * 2009-01-17 2013-04-01 Univ Nat Taiwan Science Tech 半導體產業之資源分派系統及方法
EP2224384A1 (en) * 2009-02-25 2010-09-01 Siemens Aktiengesellschaft Method and system for scheduling a manufacturing process
US7979578B2 (en) 2009-09-02 2011-07-12 International Business Machines Corporation Dynamic and evolutionary placement in an event-driven component-oriented network data processing system
US9152779B2 (en) 2011-01-16 2015-10-06 Michael Stephen Fiske Protecting codes, keys and user credentials with identity and patterns
US10268843B2 (en) 2011-12-06 2019-04-23 AEMEA Inc. Non-deterministic secure active element machine
US9501766B2 (en) 2012-06-29 2016-11-22 International Business Machines Corporation Generating a storage drive qualification test plan
JP6223224B2 (ja) * 2014-02-21 2017-11-01 ルネサスエレクトロニクス株式会社 画像処理装置、及びその制御方法
CN104461720B (zh) * 2014-11-28 2017-08-25 西安电子科技大学 一种可分任务调度模型的求解方法及系统
EP3136311A1 (en) * 2015-08-28 2017-03-01 Servicepower Business Solutions Limited Interact calculation in a quantum annealing optimisation process
US20190005435A1 (en) * 2017-06-28 2019-01-03 Hcl Technologies Limited System and method for allocating human resources based on bio inspired models
US20190121669A1 (en) * 2017-10-20 2019-04-25 American Express Travel Related Services Company, Inc. Executing tasks using modular and intelligent code and data containers
US11107024B2 (en) 2018-01-15 2021-08-31 Nmetric, Llc Genetic smartjobs scheduling engine
US11755376B2 (en) * 2019-08-23 2023-09-12 Callidus Software, Inc. Automatic assignment of hardware/software resources to different entities using machine learning based on determined scores for assignment solutions
CN111160607A (zh) * 2019-11-28 2020-05-15 泰康保险集团股份有限公司 基于进化算法的医养机构排班方法、系统、设备及介质
CN113610233B (zh) * 2021-01-12 2023-08-15 南京信息工程大学 一种基于改进遗传算法的柔性作业车间调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319781A (en) * 1991-05-03 1994-06-07 Bolt Beranek And Newman Inc. Generation of schedules using a genetic procedure

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014061518A1 (ja) * 2012-10-19 2014-04-24 株式会社日立製作所 保守装置、保守システム、保守プログラム
GB2520900A (en) * 2012-10-19 2015-06-03 Hitachi Ltd Maintenance device, maintenance system, and maintenance program
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法
WO2021072279A1 (en) * 2019-10-09 2021-04-15 Nmetric, Llc Genetic algorithm with deterministic logic
WO2023021578A1 (ja) * 2021-08-17 2023-02-23 日本電信電話株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
US5848403A (en) 1998-12-08
EP1010093A1 (en) 2000-06-21
AU727802B2 (en) 2000-12-21
WO1998014891A1 (en) 1998-04-09
CA2267789A1 (en) 1998-04-09
AU4670197A (en) 1998-04-24

Similar Documents

Publication Publication Date Title
JP2002516003A (ja) 遺伝的アルゴリズムスケジュール作成装置及び方法
CN111652657A (zh) 商品销量预测方法、装置、电子设备及可读存储介质
US7552067B2 (en) System and method supply chain demand satisfaction
US20200310769A1 (en) Method For Predicting The Successfulness Of The Execution Of A DevOps Release Pipeline
US7716151B2 (en) Apparatus, method and product for optimizing software system workload performance scenarios using multiple criteria decision making
WO2008042784A2 (en) Comparing taxonomies
US20130332243A1 (en) Predictive analytics based ranking of projects
US6549914B1 (en) System and method for statistical file preload for factory installed software in a computer
CN114722281B (zh) 基于用户画像及用户选课行为的培训课程配置方法、装置
Nagwani et al. Predicting expert developers for newly reported bugs using frequent terms similarities of bug attributes
CN113327136A (zh) 归因分析方法、装置、电子设备及存储介质
US7475400B2 (en) Database system and information processing system with process code information
US20090276290A1 (en) System and method of optimizing commercial real estate transactions
CN117522132A (zh) 供应商风险评估系统及应用方法
US20090210076A1 (en) Method and system for generating an optimized solution for a process
CN112561500B (zh) 基于用户数据的薪酬数据生成方法、装置、设备及介质
Ling et al. Maximum profit mining and its application in software development
US20060230080A1 (en) Apparatus for tracking work process and computer product
US8645198B1 (en) Evaluating advertising strategies by simulating their application
JP2007156820A (ja) 保守コスト見積プログラム、保守コスト見積方法および保守コスト見積装置
JP2002157572A (ja) 結果予測装置、方法、及びコンピュータ読み取り可能な記憶媒体
JP2006127020A (ja) 進捗管理方法、進捗管理装置および進捗管理プログラム
US20060139352A1 (en) Computer product, operation-analysis support device, and operation-analysis support method
CN114548523B (zh) 用户观影信息预测方法、装置、设备及存储介质
Pfeiffer et al. Stability-oriented evaluation of hybrid rescheduling methods in a job-shop with machine breakdowns