JP7456298B2 - 最適化装置、最適化方法、及び最適化プログラム - Google Patents

最適化装置、最適化方法、及び最適化プログラム Download PDF

Info

Publication number
JP7456298B2
JP7456298B2 JP2020097825A JP2020097825A JP7456298B2 JP 7456298 B2 JP7456298 B2 JP 7456298B2 JP 2020097825 A JP2020097825 A JP 2020097825A JP 2020097825 A JP2020097825 A JP 2020097825A JP 7456298 B2 JP7456298 B2 JP 7456298B2
Authority
JP
Japan
Prior art keywords
solution
end time
constraint
optimization
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.)
Active
Application number
JP2020097825A
Other languages
English (en)
Other versions
JP2021190019A (ja
Inventor
大地 島田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020097825A priority Critical patent/JP7456298B2/ja
Priority to EP21162265.9A priority patent/EP3920113A1/en
Priority to US17/206,184 priority patent/US11544646B2/en
Priority to CN202110334140.2A priority patent/CN113760504A/zh
Publication of JP2021190019A publication Critical patent/JP2021190019A/ja
Application granted granted Critical
Publication of JP7456298B2 publication Critical patent/JP7456298B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E1/00Devices for processing exclusively digital data
    • G06E1/02Devices for processing exclusively digital data operating upon the order or content of the data handled
    • G06E1/04Devices for processing exclusively digital data operating upon the order or content of the data handled for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Description

本願開示は、最適化装置、最適化方法、及び最適化プログラムに関する。
組み合わせ最適化問題の1つに資源制約付きスケジューリング問題がある。資源制約付きスケジューリング問題は、複数の作業及び複数の資源に制約条件が存在する状況において、全作業の終了時刻が最適化対象時刻内に収まるように、制約条件を満たしながら複数の資源を複数の作業に割り当てる問題である。資源制約付きスケジューリング問題において用いられる目的関数の1つに最大完了時刻(全作業が終了した時刻:メイクスパン(makespan))があり、メイクスパンを最小化する問題はメイクスパン最小化問題と呼ばれる。
特開2018-185639号公報 特開平11-195066号公報
資源制約付きスケジューリング問題においてメイクスパン最小解の近似解を高い精度で短時間に求める手法を提供する。
資源制約付きスケジューリング問題において、制約違反解と制約充足解と近似解を繰り返し求める最適化装置は、前回の前記制約違反解の終了時刻である第1の終了時刻と前回の前記制約充足解の終了時刻である第2の終了時刻との間に最適化対象終了時刻を指定してメタヒューリスティックな手法により前記近似解を求める最適化処理部と、前記近似解が制約に違反しているか前記制約を充足しているかを判定する最適化結果判定部と、前記最適化結果判定部による判定結果に基づいて、前記近似解が前記制約に違反している場合には前記近似解の終了時刻により前記第1の終了時刻を更新し、前記近似解が前記制約を充足している場合には前記近似解の終了時刻により前記第2の終了時刻を更新する解更新部を含み、前記第1の終了時刻及び前記第2の終了時刻を更新しながら前記近似解を繰り返し求めることを特徴とする。
少なくとも1つの実施例によれば、資源制約付きスケジューリング問題においてメイクスパン最小解の近似解を高い精度で短時間に求めることができる。
最適化方法を実行する最適化装置のハードウェア構成の一例を示す図である。 最適化装置の機能構成の一例を示す図である。 資源制約付きスケジューリング問題の一例を模式的に示す図である。 図3に示される資源制約付きスケジューリング問題を2値変数によりモデル化した一例を示す図である。 緩和解と最良解とに基づいて生成される最適化処理用の入力データの一例を示す図である。 生成した近似解のデータにより緩和解データまたは最良解データのいずれか一方を更新する動作を説明するための図である。 最適化方法の手順の一例を示すフローチャートである。 緩和解を生成する処理の一例を示すフローチャートである。 作業リストの一例を示す図である。 資源制約付きスケジューリング問題を規定するモデルの初期状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて1つの作業を割り当てた後の状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて2つの作業を割り当てた後の状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて3つの作業を割り当てた後の状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて4つの作業を割り当てた後の状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて5つの作業を割り当てた後の状態を示す図である。 資源制約付きスケジューリング問題を規定するモデルにおいて6つの作業を割り当てた後の状態を示す図である。
資源制約付きスケジューリング問題等の組み合わせ最適化問題では、探索空間の次元数が増えると、変数の組み合わせ数が爆発的に増加し、全組み合わせを総当たり的に計算して求める手法では計算時間が現実的な域で収まらなくなる。そこで厳密な最適解を求めるのではなく、発見的手法に基づく汎用的な近似アルゴリズム(メタヒューリスティックアルゴリズム)や、現実的な計算時間で良好な近似解を求める近似解法が用いられる。
メタヒューリスティックアルゴリズムでは、初期状態を開始点として目的関数値を小さくする解を探索していく状態遷移動作において、長い計算時間をかければ、最適解又は充分に最適に近い解に状態を収束させることができる。しかしながら、実用的な計算時間内で充分に最適に近い解を得ることは難しい。
メタヒューリスティックアルゴリズムの1つである焼き鈍し法を実行する装置として、イジング型のエネルギー関数を用いたイジング装置(ボルツマンマシン)が知られている。イジング装置では、2値変数を用いて計算対象の問題をイジングモデル化する。資源制約付きスケジューリング問題をモデル化してイジング装置により近似解を求めるためには、複数の作業及び複数の資源に関する種々の制約条件を目的関数に組み込んで、目的関数を最小化するような解を求めればよい。しかしながら、イジングモデルにおいては、前述のメイクスパン最小化問題を直接に定式化することが困難であるという問題がある。
メイクスパン最小化問題を間接的にイジングモデルに組み込む方法として、2値変数により表現された補助変数を用いる方法がある。これは、例えばn個の2値変数y(i=1~n)を導入し、それらn個の2値変数により例えば値C(C=y+2y+3y+4y+・・・+ny)を考える。「各作業の終了時刻<C」かつ「yのうち1つだけ1になる」という制約条件を満たしながら、目的関数であるCの値をイジング装置により最小化することにより、メイクスパン最小化問題の近似解を求めることが可能となる。しかしながらこの手法では、組み合わせ最適化問題における探索空間の次元数がn個増えることになり、イジング装置の求解性能が大きく低下してしまう。
また、メイクスパン最小化問題を近似的に別の問題として表現することにより、メイクスパン最小化問題の解に近似した解を求める方法がある。例えば、各作業の完了時間を全ての作業に対して足し合わせた総和を求め、当該総和を目的関数として最小化するように、イジング装置により近似解を求めることが考えられる。しかしながら、1つの作業だけが他の作業と比較して大幅に完了時間が遅い場合と、全ての作業が略同時刻で完了する場合とでは、メイクスパンが略同じであっても上記総和は大きく異なることになる。このことからも分かるように、上記のようにメイクスパン最小化問題を近似的に別の問題として表現する方法では、精度の高い近似解を求めることはできない。
以上を鑑みると、資源制約付きスケジューリング問題においてメイクスパン最小解の近似解を高い精度で短時間に求める手法が望まれる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図1は、最適化方法を実行する最適化装置のハードウェア構成の一例を示す図である。図1に示す最適化装置は、CPU11、表示部12、入力部13、ROM14、RAM15、HDD16、ネットワークインターフェース17、可搬型記憶媒体用ドライブ18、及びメタヒューリスティック計算部19を含む。
入力部13は、ユーザとのインターフェースを提供するものであり、最適化装置を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。表示部12は、最適化装置で処理された結果等をディスプレイ画面に表示すると共に、最適化装置を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。ネットワークインターフェース17は、周辺装置との通信又は遠隔地との通信を行なうためのものである。
図1に示される最適化装置はコンピュータであり、最適化方法は、最適化装置が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可搬型記憶媒体用ドライブ18に装着可能な記憶媒体Mに記憶されており、記憶媒体Mから可搬型記憶媒体用ドライブ18を介して、RAM15或いはHDD16にロードされる。或いは、このコンピュータプログラムは、周辺装置又は遠隔地にある記憶媒体(図示せず)に記憶されており、この記憶媒体からネットワークインターフェース17を介して、RAM15或いはHDD16にロードされる。
入力部13を介してユーザからプログラム実行指示があると、CPU11は、記憶媒体M、周辺装置、遠隔地記憶媒体、或いはHDD16からプログラムをRAM15にロードする。CPU11は、RAM15の空き記憶空間をワークエリアとして使用して、RAM15にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおROM14は、最適化装置の基本動作を制御するための制御プログラムが格納されている。
上記コンピュータプログラムを実行することにより、最適化装置が、メイクスパン最小化問題に対して近似解を求める動作を実行する。メタヒューリスティック計算部19は、メタヒューリスティックアルゴリズムを実行するように専用に設計された専用ハードウェアであってよく、例えばシミュレーテッド・アニーリングによりイジング問題の解探索を実行する専用ハードウェアであってよい。但し専用のメタヒューリスティック計算部19を設けることなく、汎用計算用のプロセッサであるCPU11が、メタヒューリスティック計算部として機能することにより、メタヒューリスティックアルゴリズムを実行してもよい。メタヒューリスティックアルゴリズムとしては、シミュレーテッド・アニーリング、ランダムウォーク解探索アルゴリズム、遺伝的アルゴリズム、確率的進化手法、或いはタブーサーチ等であってよい。メタヒューリスティックアルゴリズムは、目的関数を最小化する解に近い解(近似解)を発見的に探索するアルゴリズムであってよい。
図2は、最適化装置の機能構成の一例を示す図である。図2に示す最適化装置は、データ格納部20、データ取得部21、緩和解生成部22、最適化データ生成部23、メタヒューリスティック計算部24、最適化結果判定部25、解更新部26、処理終了判定部27、及びデータ出力部28を含む。
データ格納部20及びメタヒューリスティック計算部24以外の各機能部は、図1に示すCPU11により実現されてよい。データ格納部20の機能は、図1に示すRAM15又はHDD16により実現されてよい。メタヒューリスティック計算部24の機能は、図1に示すCPU11又はメタヒューリスティック計算部19により実現されてよい。
なお各ボックスで示される各機能ブロックと他の機能ブロックとの境界は、機能的な境界を示すものであり、プログラムモジュールの境界に対応したり、制御論理的な分離等に対応したりするとは限らない。また、ある1つの機能ブロックが別の機能ブロックと組み合わさり1つの機能ブロックとして動作してもよいし、ある1つの機能ブロックが複数の機能ブロックに分割されて各々が協働して動作してもよい。
データ格納部20には、作業情報データベース(作業情報DB)20A、資源情報データベース(資源情報DB)20B、緩和解データ20C、及び最良解データ20Dが格納されている。
データ取得部21は、資源制約付きスケジューリング問題を規定するために外部から入力された各作業に関するデータ及び各資源に関するデータを、作業情報データベース20A及び資源情報データベース20Bに格納する。各作業及び各資源に関連する制約条件に関するデータも作業情報データベース20A及び資源情報データベース20Bに格納されてよい。
図3は、資源制約付きスケジューリング問題の一例を模式的に示す図である。図3に示される資源制約付きスケジューリング問題は、製品A及び製品Bの各々に対する作業#1乃至作業#3と製品Cに対する作業#1及び作業#2とを、4個の設備1乃至設備4に割り当てる問題であってよい。またこの資源制約付きスケジューリング問題におけるメイクスパン最小化問題とは、全作業の最大完了時刻Tms(最後に完了する作業の終了時刻)をなるべく早くするように全作業をスケジューリングする問題となる。
資源制約付きスケジューリング問題においては、複数の作業及び複数の資源に関して様々な制約条件が課せられてよい。例えば図3に示される例において、「使用不可能」と示される時間帯においては当該設備により作業を実行することはできない等のように、資源利用可能時間に関する制約条件が課せられてよい。また、例えば作業間の順序に関する制約として、ある製品に対する作業#1、作業#2、及び作業#3は、時間的に重複することなくこの順番に実行される必要がある、等の制約条件が課せられてよい。また、特定の作業は特定の資源でしか実行することができない等の作業と資源との間の対応関係に関する制約や、各作業の開始可能時間及び要求納期に関する制約等が設けられてよい。
図4は、図3に示される資源制約付きスケジューリング問題を2値変数によりモデル化した一例を示す図である。図2に示されるメタヒューリスティック計算部24が例えばイジング装置としてイジングモデルによる最適化処理を実行する場合、資源制約付きスケジューリング問題を2値変数によりモデル化し、当該モデルに対して最適化処理を実行することになる。なお図4に示されるような2値変数に基づくモデルは、イジング装置による最適化処理へ適用できるだけではなく、他のメタヒューリスティックな手法による最適化処理においても用いることができる。
図3に示される資源制約付きスケジューリング問題を2値変数によりモデル化するために、2値変数xjmtを定義してよい。添字jは作業を特定し、添字mは資源を特定し、添字tは時刻を特定する。例えば製品Aに対する作業#1を作業j=1により特定し、設備1への割り当てを資源m=1により特定し、時刻8:30を例えばタイムスロット番号1により特定する。xjmtの値がj=1,m=1,t=1に対して1となる(即ちx111=1)ことにより、製品Aに対する作業#1を設備1により時刻8:30から開始することを表現する。
図4に示される表の各行は時刻(30分刻みの時間帯)を表し、各列は各作業と各設備との組み合わせを表す。例えば列31は、製品Aに対する作業#1を設備1に割り当てることを規定した変数x11tの各時刻tにおける値を示している。製品Aに対する作業#1を設備1により時刻8:30から開始するので、x11tの値は時刻8:30のタイムスロットにおいてのみ値が1となっており(即ちx111=1)、それ以外のタイムスロットにおいては値が0となっている。
作業jの値については、例えば、製品Aに対する作業#kを作業j=kにより特定し、製品Bに対する作業#kを作業j=3+kにより特定し、製品Cに対する作業#kを作業j=6+kにより特定することができる。例えば製品Bに対する作業#2を設備1に割り当てることを表現した変数はx51tとなる。これにより図4の各列は左から順番に、x11t、x12t、x13t、x14t、x21t、x22t、x23t、x24t、x31t、x32t、x33t、x34t、x41t、x42t、x43t、x44t、x51t、x52t、x53t、・・・、x74t、x81t、x82t、x83t、x84tに対応する。変数x51tは列32に対応し、時刻10:30においてのみこの変数の値が1となっており、これにより、製品Bに対する作業#2が設備1により時刻10:30から開始されることが表現されている。なお時刻10:30のタイムスロットは5番目のタイムスロットであるので時刻tは5であり、x515=1である。
各作業を実行するためにかかる時間の長さ(所要時間)は変数xjmtの値により規定するのではなく、各作業の所要時間を表す定数を別途規定する。後述するようにこの定数により添字tを操作することにより、所要時間に関する条件を記述できる。
以下に、上述の例において説明した2値変数xjmtを使用して、資源制約付きスケジューリング問題を定式化する一例について説明する。資源制約付きスケジューリング問題を定式化するためには、メタヒューリスティック計算部24による最適化処理において最小化する目的関数を、2値変数xjmtにより規定すればよい。
2値変数xjmtに関する様々な制約条件を規定するために、以下の定数を規定する。
jt:作業jの所要時間のタイムスロット数
jst:作業jの開始可能時刻のタイムスロット番号
jdt:作業jの納期時刻のタイムスロット番号
:制約項Qkの重み
また更に以下の集合を規定する。
J:作業jの集合
M:資源mの集合
T:最適化処理の対象となるタイムスロットの集合
MT:資源mに割り当て可能なタイムスロットの集合(MT⊂T)
M_JOB:資源mで処理可能な作業の集合(M_JOB⊂J)
PRE:作業jp、作業jn、及び待ち時間waitの組の集合(作業jnの開始は作業jpの開始後に時間wait後であるような作業及び待ち時間の組みの集合)
これらの定数と集合とに基づいて、目的関数Eは、以下に示される制約項Qkの重み係数cによる重み付け和として得られる。
E=cQ1+cQ2+cQ3+cQ4+cQ5+cQ6+cQ7
Figure 0007456298000001
Figure 0007456298000002
Figure 0007456298000003
Figure 0007456298000004
Figure 0007456298000005
Figure 0007456298000006
Figure 0007456298000007
なお上記各制約項において、加算範囲が規定されていない場合のタイムスロットtに関する総和記号Σは、最適化処理の対象となるタイムスロットの集合Tについて総和を求めるものである。
制約項Q1は、各作業を決められた開始時間(作業jの開始時刻はタイムスロット番号jst)以降に開始することを制約条件として規定する。タイムスロット番号がjstより前に開始される条件に一致する2値変数xjmtの和をとることで、これら和の対象となる2値変数xjmtの値が1となる場合にはペナルティーとして目的関数Eの値が大きくなる。
制約項Q2は、各作業を決められた納期(作業jの納期時刻はタイムスロット番号jdt)迄に完了することを制約条件として規定する。タイムスロット番号がjdt-jt(納期時刻-所要時間=必要開始時刻)以降に開始される条件に一致する2値変数xjmtの和をとることで、これら和の対象となる2値変数xjmtの値が1となる場合にはペナルティーとして目的関数Eの値が大きくなる。
制約項Q3は、資源を使用可能な時間以外の時間(資源mに割り当て可能なタイムスロットの集合MTの補集合に属する時間)において、当該資源を使用しないことを制約条件として規定する。資源mに割り当て可能なタイムスロットの集合MTの補集合に属するタイムスロット番号に対して2値変数xjmtの和をとることで、これら和の対象となる2値変数xjmtの値が1となる場合にはペナルティーとして目的関数Eの値が大きくなる。
制約項Q4は、資源に割り当て可能な作業(資源mで処理可能な作業の集合M_JOBに属する作業)のみを、当該資源に割り当てることを制約条件として規定する。資源mで処理可能な作業の集合M_JOBの補集合に属する作業に対して2値変数xjmtの和をとることで、これら和の対象となる2値変数xjmtの値が1となる場合にはペナルティーとして目的関数Eの値が大きくなる。
制約項Q5は、各作業を一回だけ実行することを制約条件として規定する。制約項Q5に含まれる自乗項は、全ての資源m及び全てのタイムスロットtについて、ある作業jを規定する2値変数xjmtの和をとり、当該和から1を引いた数を自乗している。この自乗項は、全ての資源m及び全てのタイムスロットtについて一度だけxjmtの値が1となる場合に0となる。それ以外の場合には自乗項は0以上の値となり、ペナルティーとして目的関数Eの値が大きくなる。
制約項Q6は、各資源に同時に複数の作業を割り当てることができないことを制約条件として規定する。ある資源mに対して、タイムスロットtにおいて作業jが開始されて変数xjmtの値が1となり、そのタイムスロットから当該作業jの所要時間jt後までの間t'に他の作業j'が開始されて変数xj'mt'の値が1になると、両変数の積が1となる。この積の総和が目的関数に含まれることにより、ある資源に同時に複数の作業が割り当てられると、ペナルティーとして目的関数Eの値が大きくなる。
制約項Q7は、先の作業jpの後にwait時間待ってから次の作業jnを開始するという作業の順序制約を規定する。タイムスロットtにおいて資源mにより作業jpが開始されて変数xjpmtの値が1となり、そのタイムスロットtからwait時間後のタイムスロットt'(=t+wait)に、資源m'により作業jnが開始されて変数xjnm't'の値が1になると、両変数の積が1となる。この条件に該当する当該積の値をペナルティーとして含めず、それ以外の場合における当該積の総和を目的関数に含まれることにより、作業の順序制約が守られない場合に、ペナルティーとして目的関数Eの値が大きくなる。
例えばシミュレーテッド・アニーリングにより、上記のようにモデル化された資源制約付きスケジューリング問題において近似解を求める場合、上記の2値変数xjmtを要素とする状態Sを定義してよい。現在の状態Sの目的関数値(Eとする)を計算し、更に現在の状態Sから僅かに変化(例えば1ビット反転)した次の状態S'の目的関数値E'を計算し、更に両者の差分ΔE(=E'-E)を計算する。例えばSの確率分布としてボルツマン分布を想定し、メトロポリス法を用いる場合、次の状態S'に遷移する確率Pを以下の式で定めることができる。
P=min[1,exp(-βΔE)]
ここでβは逆温度(絶対温度の逆数)である。関数min[1,x]は値1と値xとのいずれか小さい方の関数値を有する。上式によれば、ΔE≦0のときに確率1で次の状態に遷移し、0<ΔEのときに確率exp(-βΔE)で次の状態に遷移する。
状態を遷移させながら、充分に遅い速度で温度を低くしていくことにより、理論的には最小の目的関数値を有する最適解に状態を収束させることができる。なおメトロポリス法は限定的でない一例であり、例えばギブス・サンプリング法等の他の遷移制御アルゴリズムを用いてもよい。
以上のようにして、資源制約付きスケジューリング問題を2値変数によりモデル化することができる。図2に示されるデータ格納部20に格納される作業情報データベース20A及び資源情報データベース20Bは、このようなモデルを規定するための上述の変数xjmt、定数、集合、目的関数等に関するデータを含んでよい。
図2を再び参照し、緩和解生成部22は、作業情報データベース20A及び資源情報データベース20Bに格納された各作業に関するデータ、各資源に関するデータ、及び制約条件に関するデータに基づいて、緩和解即ち制約違反解を生成する。ここで制約違反解とは、各作業及び各資源に関連する制約条件を少なくとも部分的に満たさない解のことであり、制約条件を満たす探索空間の外に位置し且つ少なくとも一部が緩和された制約条件を満たす探索空間内に位置する解である。本願において、制約違反解と緩和解とは同一の意味を有する用語として用いられる。
緩和解生成部22が生成した緩和解に関するデータは、緩和解データ20Cとしてデータ格納部20に格納される。緩和解データ20Cは、緩和解の終了時刻を示すデータ、即ち緩和解における各作業の終了時刻のうち最も遅く終了した作業の終了時刻を示すデータを少なくとも含む。
制約違反解とは逆の条件を満たす解として制約充足解が規定される。制約充足解は目的関数に規定される制約条件を全て満たす解であってよく、制約違反解は目的関数に規定される制約条件の一部を満たさない解であってよい。後述するように、メタヒューリスティック計算部24により求めた制約充足解に関するデータが、最良解データ20Dとしてデータ格納部20に格納される。本願において、制約充足解と最良解とは同一の意味を有する用語として用いられる。最良解データ20Dは、制約充足解の終了時刻を示すデータ、即ち制約充足解における各作業の終了時刻のうち最も遅く終了した作業の終了時刻を示すデータを少なくとも含む。
なお、上記のように目的関数に規定される制約条件を全て満たす解を制約充足解であると規定すると、前述の目的関数Eの例で言えば、目的関数Eの値が最小値ゼロとなるような解が制約充足解であることになる。代替的に、制約条件の一部(例えば前述の制約項Q1乃至Q7のうちの幾つかの制約項)を満たす解を制約充足解と規定し、それらの一部の制約条件を満たさない解を制約違反解と規定してもよい。この場合、制約充足解が満たすべき一部の制約条件としては、充足することが必要或いは重要な制約条件であってよく、問題の設定に応じて定まってよい。例えば各作業を一回だけ実行する条件及び資源を使用可能時間以外の時間に使用しないという条件が重要であれば、これら2つの条件(即ちQ3=Q5=0)を満たす解を制約充足解として扱い、当該条件を満たさない解を充足違反解として扱ってよい。
緩和解生成部22は、メタヒューリスティックな手法に基づいて緩和解を生成してよい。その際、例えば前述の目的関数Eに含まれる制約項Qkのうち、一部の制約条件(例えば各作業を一回だけ実行することを要求する制約項Q5)以外を規定する制約項についてその重み係数cをゼロに設定し、目的関数を最小化するように近似解を求めればよい。これにより、例えば、資源を使用可能時間以外の時間に使用しないことを要求する制約項Q3がゼロ以上の値となるような(即ち使用不可の時間に資源を使用するような)、制約違反解を求めることができる。
緩和解生成部22は、メタヒューリスティックな手法を用いるのではなく、確定的な手法により緩和解を求めてもよい。メタヒューリスティックな手法は、一般に、確率的な要素を導入することにより、好ましくない局所解に停留することなく、制約条件を満たしながら徐々に目的関数値を小さくすることにより、良好な解を生成するように設計されている。緩和解生成部22の場合は、制約条件にこだわることなく解を生成すればよいので、制約条件を無視した確定的なアルゴリズムにより緩和解を容易に生成することができる。確定的なアルゴリズムを用いることにより、効率的且つ容易に緩和解の初期値を求めることができる。
最適化データ生成部23は、データ格納部20に格納されるデータに基づいて、メタヒューリスティック計算部24が実行する最適化処理のために必要な入力データを作成する。最適化データ生成部23が作成する入力テータには、メタヒューリスティック計算部24による最適化処理において用いられる最適化対象終了時刻が含まれる。この最適化対象終了時刻は、前述の資源制約付きスケジューリング問題定式化において説明した定数のうち、最適化処理の対象となるタイムスロットの集合Tの最終タイムスロット番号に一致する。当該時刻は、後述するように、緩和解データ20C及び最良解データ20Dに基づいて求められる。より具体的には、後述するように、緩和解データ20Cが示す緩和解の終了時刻と最良解データ20Dが示す最良解の終了時刻との間に、最適化対象終了時刻が設定される。
図5は、緩和解と最良解とに基づいて生成される最適化処理用の入力データの一例を示す図である。図5においては、説明の便宜上、製品Aに対する作業#1乃至作業#3(即ち作業A1乃至A3)についてのデータのみが示されており、データ格納部20に緩和解データ20C及び最良解データ20Dが格納されている。
緩和解データ20Cは、前述の2値変数xjmtを用いたモデルに基づいて緩和解の状態を示したものである。最良解データ20Dは、同様に、2値変数xjmtを用いたモデルに基づいて最良解の状態を示したものである。図5においては、視覚的に解の状態が分かるように、図4と同様の表形式により変数xjmtの値の配列を示してある。緩和解データ20C及び最良解データ20Dを示す各表において、シェーディングにより暗くしてある時間帯は、当該設備を使用することができない時間帯である。
図5に示す例においては、前述の制約項Q3を充足するか否かに応じて、即ち資源使用可能な時間においてのみ当該資源を使用するか否かに応じて、制約充足解であるか制約違反解であるかを区別している。図5に示される緩和解の表においては、作業A3(製品Aに対する作業#3)を設備3により実行開始する時刻が、当該設備3を使用できない時間帯である10:00となっている。即ち、この緩和解は、前述の制約項Q3がゼロ以上の値となるような(即ち資源使用不可の時間に当該資源を使用するような)制約違反解である。最良解の表においては、資源使用不可の時間帯に作業を実行するようなスケジューリングとはなっておらず、制約項Q3の制約条件を満たすような解となっている。即ちこの最良解は、前述の制約項Q3がゼロとなるような(即ち資源使用可能な時間においてのみ当該資源を使用するような)制約充足解である。
図5において、緩和解に含まれる作業のうちで最後に終了する作業の終了時刻が、緩和解の終了時刻T1である。また最良解に含まれる作業のうちで最後に終了する作業の終了時刻が、最良解の終了時刻T2である。この例において、終了時刻T1のタイムスロット番号は9であり、終了時刻T2のタイムスロット番号は15である。
図5に示されるように、データ格納部20に格納されている緩和解データ20C及び最良解データ20Dに基づいて、最適化データ生成部23が最適化処理の入力データ41を生成する。入力データ41は、2値変数xjmtを用いたモデルに基づいて最適化処理の対象となる作業、設備、及び時刻を表現したものであり、各作業を特定の時刻で特定の設備に割り当てるスケジューリングを行う問題設定を規定したデータである。図5においては、視覚的に変数の状態が分かるように、図4と同様の表形式により変数xjmtの値の配列を示してある。入力データ41により、8:30のタイムスロット番号0から15:00のタイムスロット番号15において、3個の設備に対して3個の作業を割り当てる最適化処理を実行することが規定される。なお前述の最適化処理の対象となるタイムスロットの集合Tが、8:30のタイムスロットから15:00のタイムスロットまでを集合要素として含むことになる。
ここで、入力データ41の最終タイムスロットの時刻(即ち最適化対象終了時刻)が、前述の緩和解の終了時刻T1と最良解の終了時刻T2との間に位置するように、最適化データ生成部23が入力データ41を生成する。この際、終了時刻T1と終了時刻T2との間を所定の比率(例えば1:1)で分割する時間位置に最適化対象終了時刻が設定されてよい。所定の比率に基づいて最適化対象終了時刻を定めることで、単純な処理により効率的に入力データ41を生成することができる。このようにして生成された入力データ41に基づいて、以下に説明するようにメタヒューリスティック計算部24が最適化処理を実行する。
図2を再び参照し、メタヒューリスティック計算部24は、最適化データ生成部23が設定したデータに基づいて、メタヒューリスティックな最適化処理を実行することにより、設定された目的関数の値を最小化するような近似解を生成する。この最適化処理を実行する際に、各作業の終了時刻が、最適化データ生成部23により設定された最適化対象終了時刻より遅くならないように、各作業がスケジューリングされる。即ち例えば最適化対象終了時刻が15:00のタイムスロットに設定された場合には、15:00のタイムスロット迄に終了するような各作業時間のスケジューリングのみが最適化処理の対象として考慮される。これは、最適化処理の対象となるタイムスロットの集合Tの最終タイムスロットを、最適化対象終了時刻に設定することにより実現される。メタヒューリスティック計算部24が生成する近似解は、最適化対象終了時刻を含む種々の条件に応じて、制約違反解であることもあれば制約充足解であることもある。
メタヒューリスティック計算部24により生成された制約違反解又は制約充足解は、後ほど詳細に説明するように、解更新部26により緩和解データ20C又は最良解データ20Dを更新するために用いられる。具体的には、解更新部26は、制約違反解が求められたときには当該制約違反解のデータにより緩和解データ20Cを置き換え、制約充足解が求められたときには当該制約充足解のデータにより最良解データ20Dを置き換える。このようにしてメタヒューリスティック計算部24による最適化処理による近似解計算と、解更新部26による緩和解データ20C及び最良解データ20Dの置き換え処理とが繰り返し実行され、解が順次更新されていく。
以下において、上述の解更新動作をより詳細に説明する。
最適化データ生成部23とメタヒューリスティック計算部24とは、最適化処理部30として機能する。最適化処理部30は、作業情報データベース20A、資源情報データベース20B、緩和解データ20C、及び最良解データ20Dに基づいて、資源制約付きスケジューリング問題における最適化処理を実行して近似解を生成する。具体的には、最適化処理部30は、前回の制約違反解の終了時刻である第1の終了時刻と前回の制約充足解の終了時刻である第2の終了時刻との間に最適化対象終了時刻を指定してメタヒューリスティックな手法により近似解を求める。即ち、最適化処理部30は、最新の緩和解データ20Cが示す解の終了時刻(第1の終了時刻)と最新の最良解データ20Dが示す解の終了時刻(第2の終了時刻)との間に最適化対象終了時刻を指定して、メタヒューリスティックな手法により近似解を求める。
なおここで「近似解」とは、最小化対象の目的関数の値が最小値となっていることを保証しないが、当該目的関数を最小化する最適解に対する適切な近似と見なすことができる解である。最適化処理部30により近似解を求める際には、目的関数を確率的に小さくするように探索空間内で状態を順次遷移させていく最適化処理において、予め決めた所定の回数だけ遷移を実行したら、その時点での遷移状態を近似解として出力してよい。或いは最適化処理部30は、予め決めた所定の時間だけ最適化処理を実行したら、その時点での遷移状態を近似解として出力してよい。或いは最適化処理部30は、予め決めた所定の値以下に目的関数値が到達したら、その時点での遷移状態を近似解として出力してよい。
なお上記のように緩和解データ20Cの終了時刻と最良解データ20Dの終了時刻とに基づいて実行する最適化処理が第一回目である場合には、緩和解データ20Cの終了時刻と最良解データ20Dの終了時刻としてはそれぞれの初期値データを用いる。初期値として設定された最初の緩和解データ20Cは、前述のように緩和解生成部22により生成された緩和解データ20Cである。
また、最良解データ20Dの初期値を生成するためには、最適化処理部30が予め制約充足解を生成してよい。この最良解の初期値を求める際には、作業時間のスケジューリングとして意味のある設定可能な十分に大きな値(十分に遅い時刻)に、最適化対象終了時刻を設定してよい。またこの際の最適化処理においては、最小化対象である目的関数に含まれる適切な制約条件に関する重み係数を十分に大きな値とすることで、ほぼ確実に当該制約充足解が得られるような設定としてよい。或いは最適化処理において用いる解の探索空間として制約条件を満たす空間のみを対象とし、最適化処理において状態遷移する際に常に制約条件を満たす状態のみを遷移先として許容するような設定としてもよい。このようにして最適化処理部30が最初に生成した制約充足解に関するデータは、最良解データ20Dの初期値データとしてデータ格納部20に格納される。
解更新動作の一環として最適化処理部30が近似解を生成すると、最適化結果判定部25が、最適化処理部30が生成した近似解が制約違反解と制約充足解との何れであるのかを判定する。この際、最適化結果判定部25は、制約条件の全て(例えば前述の制約項Q1乃至Q7の全て)を満たす解を制約充足解と判定し、それらの制約条件の少なくとも幾つかを満たさない解を制約違反解と判定してもよい。或いは最適化結果判定部25は、複数の制約条件のうちの所定の一部の制約条件を満たす近似解を制約充足解であると判定し、当該所定の一部の制約条件を満たさない近似解を制約違反解であると判定してよい。より具体的には、最適化結果判定部25は、例えば前述の制約項Q1乃至Q7のうちの所定の一部の制約項を満たす解を制約充足解と判定し、それらの所定の一部の制約項のうちの少なくとも幾つかを満たさない解を制約違反解と判定してよい。
このように所定の一部の制約条件を満たすか否かに応じて解判定をすることにより、各制約条件の重要性等を反映した問題設定に応じた適切な解判定を実現し、メイクスパン最小化問題に対する効率的な求解処理を実現することができる。なお一般に、最適化データ生成部23が設定した最適化対象終了時刻が早い場合には、求められた近似解は制約違反解である可能性が高く、最適化対象終了時刻が遅い場合には、求められた近似解は制約充足解である可能性が高い。
解更新部26は、最適化結果判定部25による判定結果に基づいて、上記近似解が制約違反解である場合には近似解の終了時刻により第1の終了時刻を更新し、上記近似解が制約充足解である場合には近似解の終了時刻により第2の終了時刻を更新する。即ち、最適化処理部30が生成した近似解が制約違反解である場合には、当該近似解のデータにより、データ格納部20に格納されている緩和解データ20C(解の終了時刻を示すデータを含む)を更新する。また最適化処理部30が生成した近似解が制約充足解である場合には、当該近似解のデータにより、データ格納部20に格納されている最良解データ20D(解の終了時刻を示すデータを含む)を更新する。
図6は、生成した近似解のデータにより緩和解データまたは最良解データのいずれか一方を更新する動作を説明するための図である。図6において、図5と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
図5を参照して説明したように最適化データ生成部23により生成した入力データ41に基づいて、メタヒューリスティック計算部24が最適化処理を実行することにより近似解を生成する。図6に示される例において、メタヒューリスティック計算部24により求められた近似解51では、全ての作業が設備の使用可能時間内において実行されている。この場合、最適化結果判定部25は、求められた近似解51が制約充足解(即ち最良解)であると判定してよい。
この判定結果に基づいて、解更新部26が、求められた近似解51のデータにより、データ格納部20に格納される最良解データ20Dを置き換える。図6に示される例において、データ格納部20の最良解データ20Dが更新されることにより、最良解の終了時刻T2がタイムスロット番号15からタイムスロット番号11へと変更される。
以上のようにして図2に示す最適化装置は、緩和解データ20Cが示す解の終了時刻(第1の終了時刻)と最良解データ20Dが示す解の終了時刻(第2の終了時刻)とを順次更新しながら、メタヒューリスティック計算部24により近似解を繰り返し求める。この処理により、緩和解データ20Cが示す解の終了時刻(第1の終了時刻)と最良解データ20Dが示す解の終了時刻(第2の終了時刻)とが互いに近づいていく。
処理終了判定部27は、緩和解データ20Cが示す解の終了時刻(第1の終了時刻)と最良解データ20Dが示す解の終了時刻(第2の終了時刻)との差が所定値以下となったか否かを判定する。両時刻の差が所定値以下となった場合、即ち、第1の終了時刻と第2の終了時刻とが十分に近づいた或いは一致した場合、処理終了判定部27は、最適化装置によるメイクスパン最小解の近似解を求める処理を終了させる。両時刻が同一又は略同一となった時点における最良解データ20Dの示す解が、メイクスパン最小解の適切な近似解となる。なお処理終了判定部27は、第2の終了時刻と最適化対象終了時刻との差が所定値以下となったか否かを判定して、判定結果に基づいてメイクスパン最小解の近似解を求める処理を終了させてもよい。
上記説明のように第1の終了時刻と第2の終了時刻とが互いに近づいていくことについて、以下に更に説明する。
第1の終了時刻をT1とし、第2の終了時刻をT2とし、メイクスパン最小解(理想的な解)をTIDEALとする。T1は制約充足解を求めることができなかった(或いは求めることが困難であった)場合の解の終了時刻に等しく、T2は制約充足解を求めることができた場合の解の終了時刻に等しいので、高い確率でT1<T2が成り立つ。最適化対象終了時刻をTENDとすると、TENDはT1とT2との間に設定されるので、TEND<T2が成り立つ。T2を更新する近似解の終了時刻は常にTENDよりも早いので、T2が更新される場合は常に時間的に早い方向に更新される。従って、T2は単調減少していく(時間軸上で早い時間方向に確実にずれていく)。メイクスパン最小解は存在し得る全ての制約充足解のうちで最も早い終了時刻を有する解であるので、TIDEAL≦T2が成り立つ。T2は、全ての制約充足解の終了時刻の中から単調減少するように選ばれていくので、確実に且つ迅速にT2はTIDEALに近づいていき、T2とT1とが略等しくなったときには、T2の値はTIDEALに対する精度の高い近似値となっている。
なおT1及びT2のうちの遅い方がT1となる場合、即ちT2<T1となる場合も低い確率で発生し得る。そのような場合を考慮に入れても、T1とT2との遅い方TLATTERよりもTENDは常に早い、即ちTEND<TLATTERである。T1及びT2を更新する近似解の終了時刻は常にTENDよりも早いので、TLATTERが更新される場合は常に時間的に早い方向に更新される。従って、T1及びT2のうちの大きい方(遅い方)は単調減少していく(時間軸上で早い時間方向に確実にずれていく)。即ち、T2についても高い確率で単調減少していく。以上から分かるように、確率的にT2<T1となる場合を考慮に入れたとしても、前述の説明と同様に、略確実に且つ迅速にT2はTIDEALに近づいていき、T2とT1とが略等しくなったときには、T2の値はTIDEALに対する精度の高い近似値となっている。
データ出力部28は、以上のようにして求められたメイクスパン最小解の近似解を示すデータを出力する。データの出力先は、図1に示される表示部12を介してディスプレイ画面であってよく、HDD16であってもよく、可搬型記憶媒体用ドライブ18を介して記憶媒体Mであってもよく、或いはネットワークインターフェース17を介して外部装置であってもよい。
以上のようにして図2に示す最適化装置は、緩和解データ20Cが示す解の終了時刻と最良解データ20Dが示す解の終了時刻とを順次更新しながら、メタヒューリスティックな最適化処理により近似解を繰り返し求める。この最適化装置の特徴として、メタヒューリスティックな最適化処理において値を最小化する対象となる目的関数には、メイクスパン(最大完了時刻)が早いほど値が小さくなるような項は含まれていない。
メイクスパンを評価する指標を直接的に目的関数に組み込むことは難しいので、従来技術では、メイクスパン評価指標を間接的或いは近似的に目的関数に組み込み、メタヒューリスティックな最適化処理によりメイクスパン最小解の近似解を求めていた。それに対して図2に示す最適化装置では、メイクスパン評価指標を間接的にも近似的にも目的関数に含めてはいない。従って、繰り返し処理の一回分の最適化処理においては、メイクスパンを早くするような仕組みは何ら組み込まれていないことになる。
図2に示す最適化装置では、一回分のメタヒューリスティックな最適化処理においては、メイクスパンを評価することなく、制約条件を規定した目的関数を最小化するような近似解を、ある最適化対象終了時刻に対して求めている。そして現在の最適化処理により求められた近似解に基づいて、最適化対象終了時刻をメイクスパン最小解の近似解が存在する方向又は存在する可能性が高い方向に移動させ、移動後の最適化対象終了時刻に対して次の回の最適化処理を実行している。このように最適化対象終了時刻の移動更新処理により、最適化処理により求まる近似解を、メイクスパン最小解の近似解に近づけていくことができる。
このようにして図2に示す最適化装置では、資源制約付きスケジューリング問題におけるメイクスパンを評価する指標を間接的或いは近似的に目的関数に組み込む必要がないので、メタヒューリスティック最適化処理の効率や解の精度が低下しない。また2分探索に類似した手順で最適化対象終了時刻を移動させていくので、総タイムスロット数をNとしたときにlogN程度の回数だけ最適化処理の実行を繰り返すことにより、メイクスパン最小化の良好な近似解を求めることができる。
図7は、最適化方法の手順の一例を示すフローチャートである。図7に示される最適化方法は、図1に示されるハードウェアに基づいて、図2に示される各機能部が実行してよい。
なお図7及び以降の図において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Aステップの次にBステップが実行されるように本願に説明されていたとしても、Aステップの次にBステップを実行することが可能なだけでなく、Bステップの次にAステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Bステップの次にAステップが実行されてもよいことは自明である。Aステップの次にBステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
ステップS1において、データ取得部21が、資源情報、作業情報、及び時間情報等を含む入力データを読み込む。データ取得部21が読み込んだデータはデータ格納部20に格納される。
ステップS2において、緩和解生成部22が、制約違反を無視して資源を作業に割り当てることにより解を導出し、導出解のデータを緩和解データ20Cとしてデータ格納部20に格納する。この際、緩和解生成部22は、確定的な手法により資源を作業に割り当ててよい。
ステップS3において、メタヒューリスティック計算部24が例えばイジングマシンを使用することにより制約充足解を導出し、導出解のデータを最良解データ20Dとしてデータ格納部20に格納する。
ステップS4において、最適化データ生成部23が、緩和解データ20Cの示す解の作業完了時刻を終了時刻T1に設定し、更に緩和解データ20Cの示す解の制約違反量をC1に設定する。ここで制約違反量とは、制約違反解が制約を違反する度合いを示す指標となる量である。図7に示される最適化方法では、前述のように第1の終了時刻と第2の終了時刻との間を所定の比率で分割する時間位置に最適化対象終了時刻を設定するのではなく、この制約違反量と後述する制約充足余裕量とに基づいて、最適化対象終了時刻を設定する。
制約違反量としては、例えば、緩和解において作業及び資源(即ち設備)の各組み合わせが制約違反しているタイムスロット数の合計を用いてよい。具体的には、例えば設備使用可能時間においてのみ作業を割り当てるという制約条件に着目し、当該制約条件に違反する割り当てが行われているタイムスロットの総数を制約違反量としてよい。例えば図5に示される緩和解データ20Cが示す緩和解の場合には、作業A3の設備3への割り当てにおいてタイムスロット番号3及び4(時刻10:00及び10:30)が、設備使用不可時間となっている。従って、この緩和解の場合には制約違反量を2としてよい。
ステップS5において、最適化データ生成部23が、最良解データ20Dの示す解の作業完了時刻を終了時刻T2に設定し、更に最良解データ20Dの示す解の制約充足余裕量をC2に設定する。ここで制約充足余裕量とは、制約充足解が制約を充足する余裕の度合いを示す指標となる量である。
制約充足余裕量としては、例えば、最善解において、作業が割り当てられていない利用可能な資源毎のタイムスロット数を全資源に対して合計した値を用いてよい。具体的には、例えば設備使用不可時間を除いて利用可能な未割り当てのタイムスロット数を各資源について求め、こうして求めたタイムスロット数を全ての資源について合計してよい。例えば図5に示される最良解データ20Dが示す最良解の場合には、設備1について未割り当ての利用可能なタイムスロット数は15である。また設備2について未割り当ての利用可能なタイムスロット数は10であり、設備3について未割り当ての利用可能なタイムスロット数は7である。従って、この最善解の場合には、制約充足余裕量を15+10+7=32としてよい。
ステップS6において、最適化データ生成部23が、制約違反量C1及び制約充足余裕量C2に基づいて最適化対象終了時刻を計算して適宜その端数を切り上げ、求められた最適化対象終了時刻をTENDに設定する。例えば緩和解(初期値又は前回の制約違反解)の制約違反量C1と最善解(初期値又は前回の制約充足解)の制約充足余裕量C2とに基づいた比率により、第1の終了時刻T1と第2の終了時刻T2との間を分割する時間位置に、最適化対象終了時刻を設定してよい。
より具体的には、例えば以下の式により最適化対象終了時刻TENDを計算してよい。
END=T1+(T2-T1)C1/(C1+C2)
このようにして最適化対象終了時刻を計算することにより、制約違反量C1が相対的に大きいとき、即ち緩和解の終了時刻T1が早すぎる時刻に位置している場合には、最適化対象終了時刻を比較的遅い時刻(T1よりもT2に近い時刻)に設定することができる。また制約充足余裕量C2が相対的に大きいとき、即ち最善解の終了時刻T2が十分に余裕のあるほど遅い場合には、最適化対象終了時刻を比較的早い時刻(T2よりもT1に近い時刻)に設定することができる。
また例えば、以下の式により最適化対象終了時刻TENDを計算してもよい。
END=T1+(T2-T1)・(1/3) (C1<C2の場合)
END=T1+(T2-T1)・(1/2) (C1=C2の場合)
END=T1+(T2-T1)・(2/3) (C1>C2の場合)
この場合は、制約違反量C1と制約充足余裕量C2とに基づいた比率、即ちC1とC2との大小関係に基づいた比率(1/3又は1/2又は2/3)により、T1とT2との間を分割する時間位置に、最適化対象終了時刻を設定していることになる。先の計算式の場合と同様に、制約違反量C1が相対的に大きいとき、即ち緩和解の終了時刻T1が早すぎる時刻に位置している場合には、最適化対象終了時刻を比較的遅い時刻(T1よりもT2に近い時刻)に設定することができる。また制約充足余裕量C2が相対的に大きいとき、即ち最善解の終了時刻T2が十分に余裕があるほど遅い場合には、最適化対象終了時刻を比較的早い時刻(T2よりもT1に近い時刻)に設定することができる。
このように制約違反量と制約充足余裕量とに基づいて最適化対象終了時刻を設定することにより、緩和解が早すぎる或いは最善解に余裕がありすぎる等の指標に応じた時刻設定が可能となり、効率的に最適化対象終了時刻を変化させることができる。その結果、より効率よく迅速にメイクスパン最小化の近似解を求めることがでかきる。
ステップS7において、処理終了判定部27が、TENDとT2とが互いに一致しているか否かを判定する。タイムスロット番号による時刻表示は離散的であるので、最適化処理を繰り返して十分な回数実行することにより、TENDとT2とが一致するときがくる。TENDとT2とが一致していない場合、処理はステップS8に進む。
ステップS8において、メタヒューリスティック計算部24が、最適化対象終了時刻TENDに対してイジングマシンを使用して近似解を導出する。ステップS9において、最適化結果判定部25が、導出解は制約違反解であるか否かを判定する。導出解が制約違反解である場合には処理はステップS10に進み、解更新部26が、導出解に関するデータを緩和解データ20Cとしてデータ格納部20に格納する。導出解が制約違反解でない場合には処理はステップS11に進み、解更新部26が、導出解に関するデータを最良解データ20Dとしてデータ格納部20に格納する。その後処理はステップS4に戻り、以降の処理を繰り返す。
ステップS7においてTENDとT2とが互いに一致していると判定されると、最適化処理は終了する。この最適化処理終了時点における最良解データ20Dが、メイクスパン最小解の適切な近似解となる。
図8は、緩和解を生成する処理の一例を示すフローチャートである。図8に示す緩和解生成処理は図2に示す緩和解生成部22が実行してよい。
ステップS21において、緩和解生成部22は、作業情報データベース20Aのデータに基づいて、各作業を作業時間が長い順にソートする。即ち、作業情報データベース20Aのデータが示す複数の作業のうち、作業時間が最長の作業をリスト先頭の要素とし、作業時間が減少していく順番に作業が並ぶような作業リストを生成する。生成した作業リストは、jobListとしてデータ格納部20に格納される。
図9は、作業リストの一例を示す図である。緩和解生成部22により作成されたjobListの一例がリスト61として示されている。この例におけるリスト61には、6個の作業が、先頭から作業#1、作業#2、作業#3、作業#4、作業#5、作業#6の順番に格納されている。
図10は、資源制約付きスケジューリング問題を規定するモデルの初期状態を示す図である。図10に示す資源制約付きスケジューリング問題は、6個の作業#1乃至#6を3個の設備1乃至3に割り当てる問題であり、スケジューリングの対象となる時間範囲は8:30のタイムスロットから15:30のタイムスロットである。図10において、シェーディングにより暗くしてある時間帯は、当該設備を使用することができない時間帯である。緩和解生成部22は、図9のリスト61に格納される6個の作業を、図10に規定されるモデルにおいて各資源(設備)に割り当てていくことになる。
図8のステップS22において、緩和解生成部22は、jobListの先頭から作業を1つ取り出し、取り出した作業をtargetJobとする。図9に示す例の場合、リスト61の先頭に格納されている作業は作業#1であるので、この作業#1を取り出してtargetJobとする。
ステップS23において、緩和解生成部22は、資源毎に作業が割り当てられていない時刻Tが最も早いものを選択し、選択した資源をresourceとする。図10に示される初期状態では、資源(設備)に対して作業が1つも割り当てられていないので、このステップS23の処理において、例えば任意の設備1を選択してよく、この選択した設備をresourceとする。
図8のステップS24において、緩和解生成部22は、resourceにおいて作業が割り当てられていない最も早い時刻Tから開始するようにtargetJobをresourceに割り当てる。この割り当てにおいては、制約条件(例えば設備を使用可能な時間帯においてのみ作業を割り当てることができる等の制約条件)は無視して割り当てが行われる。
図11は、資源制約付きスケジューリング問題を規定するモデルにおいて1つの作業を割り当てた後の状態を示す図である。上記のように、設備1において作業が割り当てられていない最も早い時刻8:30から開始するように作業#1を設備1に割り当てることにより、矢印71で示される位置に作業#1が割り当てられた状態となる。
図8のステップS25において、緩和解生成部22は、jobList内の要素数がゼロであるか否かを判定する。要素数がゼロでない場合には、緩和解生成部22による処理はステップS22に戻る。
ステップS22に戻った時点において、jobListの先頭は作業#2になっているので、緩和解生成部22は、作業#2をtargetJobとして取り出すことになる。その後ステップS23及びS24が実行され、緩和解生成部22が、作業#2を設備2に割り当てる。この割り当て動作により、図11に示される状態に続いて、図12に示されるように、矢印72で示される位置に作業#2が割り当てられた状態となる。この割り当て動作においては、設備2が使用不可である時間帯(シェーデングで示された時間帯)を無視して、使用不可の時間帯において設備2に対して作業#2が割り当てられている。その後、処理は再度ステップS22に戻る。
ステップS22に戻った時点において、jobListの先頭は作業#3になっているので、緩和解生成部22は、作業#3をtargetJobとして取り出すことになる。その後ステップS23及びS24が実行され、緩和解生成部22が、図13に矢印73で示すように作業#3を設備3に割り当てる。その後再度ステップS22に戻る。
ステップS22乃至S24が再度実行され、緩和解生成部22が、図14に矢印74で示すように作業#4を設備3に割り当てる。この場合、設備1乃至設備3のうちで、作業が割り当てられていない時刻が最も早いのが設備3であるので、ステップS23において設備3がresourceとして設定され、作業#4の割当先が設備3となる。
その後ステップS22乃至S24が再度実行され、緩和解生成部22が、図15に矢印75で示すように作業#5を設備2に割り当てる。その後ステップS22乃至S24が再度実行され、緩和解生成部22が、図16に矢印76で示すように作業#6を設備1に割り当てる。
その後ステップS25において、jobList内の要素数がゼロであると判断され、緩和解生成部22による緩和解生成処理は終了する。このようにして、緩和解生成部22が、制約条件を無視しながら確定的な手法により作業を資源に割り当てていくことにより、緩和解データ20Cの初期値となる制約違反解を求めることができる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
11 CPU
12 表示部
13 入力部
14 ROM
15 RAM
16 HDD
17 ネットワークインターフェース
18 可搬型記憶媒体用ドライブ
19 メタヒューリスティック計算部
20 データ格納部
21 データ取得部
22 緩和解生成部
23 最適化データ生成部
24 メタヒューリスティック計算部
25 最適化結果判定部
26 解更新部
27 処理終了判定部
28 データ出力部

Claims (8)

  1. 資源制約付きスケジューリング問題において、制約違反解と制約充足解と近似解を繰り返し求める最適化装置であって、
    前回の前記制約違反解の終了時刻である第1の終了時刻と前回の前記制約充足解の終了時刻である第2の終了時刻との間に最適化対象終了時刻を指定してメタヒューリスティックな手法により前記近似解を求める最適化処理部と、
    前記近似解が制約に違反しているか前記制約を充足しているかを判定する最適化結果判定部と、
    前記最適化結果判定部による判定結果に基づいて、前記近似解が前記制約に違反している場合には前記近似解の終了時刻により前記第1の終了時刻を更新し、前記近似解が前記制約を充足している場合には前記近似解の終了時刻により前記第2の終了時刻を更新する解更新部
    を含み、前記第1の終了時刻及び前記第2の終了時刻を更新しながら前記近似解を繰り返し求めることを特徴とする、最適化装置。
  2. 前記第1の終了時刻の初期値は、前記メタヒューリスティックな手法ではなく確定的な手法により求めた前記制約に違反している解の終了時刻である、請求項1記載の最適化装置。
  3. 前記最適化処理部は、前記第1の終了時刻と前記第2の終了時刻との間を所定の比率で分割する時間位置に前記最適化対象終了時刻を設定する、請求項1又は2記載の最適化装置。
  4. 前記最適化処理部は、前記前回の制約違反解の制約違反量と前記前回の制約充足解の制約充足余裕量とに基づいた比率により、前記第1の終了時刻と前記第2の終了時刻との間を分割する時間位置に、前記最適化対象終了時刻を設定する、請求項1又は2記載の最適化装置。
  5. 前記最適化処理部は複数の制約条件を含む目的関数を最小化するように前記メタヒューリスティックな手法を実行し、前記最適化結果判定部は、前記複数の制約条件のうちの所定の一部の制約条件を満たす前記近似解を前記制約を充足する解であると判定し、前記所定の一部の制約条件を満たさない前記近似解を前記制約に違反する解であると判定する、請求項1乃至4いずれか一項記載の最適化装置。
  6. 前記最適化処理部は複数の制約条件を含む目的関数を最小化するように前記メタヒューリスティックな手法を実行し、前記目的関数には前記資源制約付きスケジューリング問題における最大完了時間を評価する項が含まれない、請求項1乃至5いずれか一項記載の最適化装置。
  7. 資源制約付きスケジューリング問題に対し、制約違反解と制約充足解と近似解を繰り返し求める最適化方法であって、
    前回の前記制約違反解の終了時刻である第1の終了時刻と前回の前記制約充足解の終了時刻である第2の終了時刻との間に最適化対象終了時刻を指定してメタヒューリスティックな手法により前記近似解を求め、
    前記近似解が制約に違反しているか前記制約を充足しているか示す判定結果を生成し、
    前記判定結果に基づいて、前記近似解が前記制約に違反している場合には前記近似解の終了時刻により前記第1の終了時刻を更新し、前記近似解が前記制約を充足している場合には前記近似解の終了時刻により前記第2の終了時刻を更新する更新動作を実行し、
    前記第1の終了時刻と前記第2の終了時刻との差が所定値以下となるまで、前記近似解を求め、前記判定結果を生成し、前記更新動作を実行する処理を繰り返す
    処理をコンピュータにより実行する、最適化方法。
  8. 資源制約付きスケジューリング問題に対し、制約違反解と制約充足解と近似解を繰り返し求める最適化方法であって、
    前回の前記制約違反解の終了時刻である第1の終了時刻と前回の前記制約充足解の終了時刻である第2の終了時刻との間に最適化対象終了時刻を指定してメタヒューリスティックな手法により前記近似解を求め、
    前記近似解が制約に違反しているか前記制約を充足しているか示す判定結果を生成し、
    前記判定結果に基づいて、前記近似解が前記制約に違反している場合には前記近似解の終了時刻により前記第1の終了時刻を更新し、前記近似解が前記制約を充足している場合には前記近似解の終了時刻により前記第2の終了時刻を更新する更新動作を実行し、
    前記第1の終了時刻と前記第2の終了時刻との差が所定値以下となるまで、前記近似解を求め、前記判定結果を生成し、前記更新動作を実行する処理を繰り返す
    処理をコンピュータに実行させる、最適化プログラム。
JP2020097825A 2020-06-04 2020-06-04 最適化装置、最適化方法、及び最適化プログラム Active JP7456298B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020097825A JP7456298B2 (ja) 2020-06-04 2020-06-04 最適化装置、最適化方法、及び最適化プログラム
EP21162265.9A EP3920113A1 (en) 2020-06-04 2021-03-12 Optimization apparatus, optimization method, and optimization program
US17/206,184 US11544646B2 (en) 2020-06-04 2021-03-19 Optimization method and apparatus for minimizing the makespan using an ising machine
CN202110334140.2A CN113760504A (zh) 2020-06-04 2021-03-29 优化装置、优化方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020097825A JP7456298B2 (ja) 2020-06-04 2020-06-04 最適化装置、最適化方法、及び最適化プログラム

Publications (2)

Publication Number Publication Date
JP2021190019A JP2021190019A (ja) 2021-12-13
JP7456298B2 true JP7456298B2 (ja) 2024-03-27

Family

ID=74873551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020097825A Active JP7456298B2 (ja) 2020-06-04 2020-06-04 最適化装置、最適化方法、及び最適化プログラム

Country Status (4)

Country Link
US (1) US11544646B2 (ja)
EP (1) EP3920113A1 (ja)
JP (1) JP7456298B2 (ja)
CN (1) CN113760504A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7462862B2 (ja) 2022-04-05 2024-04-05 三菱電機株式会社 スケジューリング最適化方法及びスケジューリング最適化システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005342787A (ja) 2004-05-06 2005-12-15 Nippon Steel Corp 熱間圧延工場の加熱・圧延スケジュール作成装置、加熱・圧延スケジュール作成方法、コンピュータプログラム、及び読取可能な記憶媒体
JP2010152851A (ja) 2008-12-26 2010-07-08 Yamaha Motor Co Ltd 多目的最適化装置、多目的最適化方法および多目的最適化プログラム
JP2010257407A (ja) 2009-04-28 2010-11-11 Jx Nippon Oil & Energy Corp スケジューリング装置
JP2012190300A (ja) 2011-03-11 2012-10-04 Fuji Electric Co Ltd 初期解生成方法及び生成装置
US20180341894A1 (en) 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
JP2019121137A (ja) 2017-12-29 2019-07-22 富士通株式会社 最適化装置および最適化装置の制御方法
JP2020004387A (ja) 2018-06-20 2020-01-09 富士通株式会社 最適化問題計算プログラム及び最適化問題計算システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04342059A (ja) * 1991-05-18 1992-11-27 Fujitsu Ltd 組み合わせ最適化装置
US5467268A (en) * 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US5623404A (en) * 1994-03-18 1997-04-22 Minnesota Mining And Manufacturing Company System and method for producing schedules of resource requests having uncertain durations
US6216109B1 (en) * 1994-10-11 2001-04-10 Peoplesoft, Inc. Iterative repair optimization with particular application to scheduling for integrated capacity and inventory planning
CN1218260C (zh) * 1996-11-22 2005-09-07 维杜斯有限公司 用于任务分配的设备和方法
JPH11195066A (ja) 1998-01-06 1999-07-21 Nippon Telegr & Teleph Corp <Ntt> フローショップ・スケジューリング方法、フローショップ・スケジューリング装置及びフローショップ・スケジューリング・プログラムを格納した記録媒体
US20020029370A1 (en) * 2000-04-20 2002-03-07 Zbigniew Michalewicz Test case generator
EP1649627A4 (en) * 2003-07-11 2010-07-07 Computer Ass Think Inc PROCESS AND DEVICE FOR PLAN PRODUCTION
US7606776B1 (en) * 2005-09-28 2009-10-20 Actenum Corporation Flexible constraint propagation engine for combinatorial optimization applications
US8069127B2 (en) * 2007-04-26 2011-11-29 21 Ct, Inc. Method and system for solving an optimization problem with dynamic constraints
US20100010859A1 (en) * 2008-07-08 2010-01-14 International Business Machines Corporation Method and system for allocating dependent tasks to teams through multi-variate optimization
EP2357603A1 (en) * 2010-01-28 2011-08-17 Honda Research Institute Europe GmbH Evolutionary design optimization of real world structures with adaptive manipulation of nonlinear constraints
US8606386B2 (en) * 2010-03-12 2013-12-10 Ana Maria Dias Medureira Pereira Multi-agent system for distributed manufacturing scheduling with Genetic Algorithms and Tabu Search
WO2012044320A1 (en) * 2010-10-01 2012-04-05 Hewlett-Packard Development Company, L.P. Generating workflow sequences for print jobs
CN101984412B (zh) * 2010-10-13 2013-01-30 北京航空航天大学 一种基于分组和禁忌搜索的并行测试任务调度方法
US8849733B2 (en) * 2011-05-18 2014-09-30 The Boeing Company Benchmarking progressive systems for solving combinatorial problems
US20140249882A1 (en) * 2012-10-19 2014-09-04 The Curators Of The University Of Missouri System and Method of Stochastic Resource-Constrained Project Scheduling
JP5858080B2 (ja) * 2013-08-23 2016-02-10 横河電機株式会社 運転計画策定方法および運転計画策定システム
US20150134386A1 (en) * 2013-11-08 2015-05-14 Prachi Prasad Jogalekar Collectively optimizing group schedules to minimize project completion time and cost
US10275422B2 (en) * 2013-11-19 2019-04-30 D-Wave Systems, Inc. Systems and methods for finding quantum binary optimization problems
US20160179081A1 (en) * 2014-12-22 2016-06-23 Siemens Aktiengesellschaft Optimized Production Scheduling Using Buffer Control and Genetic Algorithm
CN107783831A (zh) * 2016-08-24 2018-03-09 深圳市中兴微电子技术有限公司 一种任务调度方法及装置
US20180165618A1 (en) * 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Resource scheduling for field services
JP6953172B2 (ja) 2017-04-25 2021-10-27 株式会社構造計画研究所 スケジューリングシステム、スケジューリング方法及びプログラム
JP6465231B1 (ja) * 2018-03-12 2019-02-06 富士通株式会社 最適化装置及び最適化装置の制御方法
CN108846570B (zh) * 2018-06-08 2022-02-01 武汉理工大学 一种解决资源受限项目调度问题的方法
JP7137074B2 (ja) * 2018-12-26 2022-09-14 富士通株式会社 最適化計算方法、最適化計算装置及び最適化計算プログラム
CN111507641B (zh) * 2020-04-27 2024-04-16 上海华力集成电路制造有限公司 一种批处理设备调度方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005342787A (ja) 2004-05-06 2005-12-15 Nippon Steel Corp 熱間圧延工場の加熱・圧延スケジュール作成装置、加熱・圧延スケジュール作成方法、コンピュータプログラム、及び読取可能な記憶媒体
JP2010152851A (ja) 2008-12-26 2010-07-08 Yamaha Motor Co Ltd 多目的最適化装置、多目的最適化方法および多目的最適化プログラム
JP2010257407A (ja) 2009-04-28 2010-11-11 Jx Nippon Oil & Energy Corp スケジューリング装置
JP2012190300A (ja) 2011-03-11 2012-10-04 Fuji Electric Co Ltd 初期解生成方法及び生成装置
US20180341894A1 (en) 2017-05-24 2018-11-29 Telespazio S.P.A. Innovative satellite scheduling method based on genetic algorithms and simulated annealing and related mission planner
JP2019121137A (ja) 2017-12-29 2019-07-22 富士通株式会社 最適化装置および最適化装置の制御方法
JP2020004387A (ja) 2018-06-20 2020-01-09 富士通株式会社 最適化問題計算プログラム及び最適化問題計算システム

Also Published As

Publication number Publication date
US20210383298A1 (en) 2021-12-09
US11544646B2 (en) 2023-01-03
CN113760504A (zh) 2021-12-07
JP2021190019A (ja) 2021-12-13
EP3920113A1 (en) 2021-12-08

Similar Documents

Publication Publication Date Title
Baker et al. Principles of sequencing and scheduling
Locke Best-effort decision-making for real-time scheduling
CN109032078A (zh) 机器学习装置、控制装置以及计算机可读介质
KR102016270B1 (ko) 열간 자유단조 공정의 작업 계획 최적화 시스템 및 방법
Xhafa Xhafa et al. A tabu search algorithm for scheduling independent jobs in computational grids
Vanhoucke et al. Resource-constrained project scheduling with activity splitting and setup times
JPH05265775A (ja) ジョブ実行予測制御方法およびジョブ実行状況表示方法
JP2004110833A (ja) 制約問題に対して提案された解を評価する方法及び装置
JP2002342097A (ja) タスク割当可能時間決定装置及びタスク割当可能時間決定方法
JP2006208364A (ja) 制約問題に対して提案された解を評価するための方法及び装置
JP2008518359A (ja) 最適化問題の解決方法及びそのシステム
JP7456298B2 (ja) 最適化装置、最適化方法、及び最適化プログラム
Li et al. Weighted double deep Q-network based reinforcement learning for bi-objective multi-workflow scheduling in the cloud
Yu et al. Combined Petri net modelling and AI-based heuristic hybrid search for flexible manufacturing systems—Part II. Heuristic hybrid search
Fan et al. Dras: Deep reinforcement learning for cluster scheduling in high performance computing
JP2005148901A (ja) ジョブスケジューリングシステム
Baheri Mars: Multi-scalable actor-critic reinforcement learning scheduler
KR101360263B1 (ko) 계산작업 제어장치, 계산작업 제어방법, 및 계산작업을 제어하는 소프트웨어를 저장하는 저장매체
Atkins et al. Development of iterative real-time scheduler to planner feedback
Hernández et al. A Simulation-based Scheduling Strategy for Scientific Workflows.
Obimuyiwa et al. A genetic algorithm for flexible job shop scheduling problem with scarce cross trained setup operators
JPH10143400A (ja) 制御用計算機システムの性能評価方法
Yaashuwanth et al. Web-enabled framework for real-time scheduler simulator (a teaching tool)
Zhang et al. Value function approximations and job-shop scheduling
Yin et al. SMARTMIG: Risk-modulated proactive data migration for maximizing storage system utility

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R150 Certificate of patent or registration of utility model

Ref document number: 7456298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150