IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社SCREENホールディングスの特許一覧

特許7703390スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム
<>
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図1
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図2
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図3
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図4
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図5
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図6
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図7
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図8
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図9
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図10
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図11
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図12
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図13
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図14
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図15
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図16
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図17
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図18
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図19
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図20
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図21
  • 特許-スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-27
(45)【発行日】2025-07-07
(54)【発明の名称】スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム
(51)【国際特許分類】
   H01L 21/02 20060101AFI20250630BHJP
   G06N 20/00 20190101ALI20250630BHJP
【FI】
H01L21/02 Z
G06N20/00
【請求項の数】 19
(21)【出願番号】P 2021125528
(22)【出願日】2021-07-30
(65)【公開番号】P2023020264
(43)【公開日】2023-02-09
【審査請求日】2024-06-17
(73)【特許権者】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(74)【代理人】
【識別番号】100168583
【弁理士】
【氏名又は名称】前井 宏之
(72)【発明者】
【氏名】河合 淳
(72)【発明者】
【氏名】笠原 敬
(72)【発明者】
【氏名】犬飼 恵介
【審査官】堀江 義隆
(56)【参考文献】
【文献】国際公開第2020/205339(WO,A1)
【文献】特開2020-177565(JP,A)
【文献】特開2015-052998(JP,A)
【文献】特開2021-064049(JP,A)
【文献】特開2021-026507(JP,A)
【文献】国際公開第2020/225995(WO,A1)
【文献】米国特許出願公開第2004/0048461(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/02
G06N 20/00
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するためのスケジュール作成方法であって、
学習ステップを複数回実行して前記タイムスケジュールを作成し、
前記学習ステップでは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得し、
前記各パターンを前記タイムテーブルに順次配置する際に、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択した前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
前記評価値を取得する際に、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記報酬は、中間報酬を更に含み、
選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、
前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、
前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する、スケジュール作成方法。
【請求項2】
前記評価値を算出する際に、
前記タイムテーブルによって示される時刻のうちから、前記中間報酬付与条件に合致する前記パターンの位置に対応する時刻を取得し、
取得した前記時刻に基づいて、前記中間報酬に割引率を割り当てるか否かを決定し、
前記中間報酬に割引率を割り当てると決定した場合、取得した前記時刻に応じて前記割引率の値を算出する、請求項に記載のスケジュール作成方法。
【請求項3】
前記基板処理装置の前記各構成要素は、複数の基板を同時に搬送可能な搬送ロボットを含み、
前記中間報酬は、正の報酬である第1中間報酬を含み、
前記中間報酬付与条件は、前記第1中間報酬に対応する第1中間報酬付与条件を含み、
前記第1中間報酬付与条件は、前記搬送ロボットが互いに異なる基板を同時に搬送することを示す、請求項又は請求項に記載のスケジュール作成方法。
【請求項4】
前記基板処理装置の前記各構成要素は、基板を処理する処理部を含み、
前記中間報酬は、正の報酬である第2中間報酬を含み、
前記中間報酬付与条件は、前記第2中間報酬に対応する第2中間報酬付与条件を含み、
前記第2中間報酬付与条件は、前記処理部から基板が搬出された直後に前記処理部に他の基板が搬入されることを示す、請求項から請求項のいずれか1項に記載のスケジュール作成方法。
【請求項5】
前記パターンは、第1パターン及び第2パターンを含み、
前記タイムテーブルによって示される時刻において、前記第1パターンが配置される位置に対応する時刻は、前記第2パターンよりも早い時刻であり、
前記中間報酬は、負の報酬である第3中間報酬を含み、
前記中間報酬付与条件は、前記第3中間報酬に対応する第3中間報酬付与条件を含み、
前記第3中間報酬付与条件は、前記タイムテーブルに前記第2パターンが配置された後に前記第1パターンが配置されることを示す、請求項から請求項のいずれか1項に記載のスケジュール作成方法。
【請求項6】
前記制約条件は、前記処理手順の順序に従って、前記各パターンのうちから次に配置可能なパターンを取得させる条件を含む、請求項1から請求項5のいずれか1項に記載のスケジュール作成方法。
【請求項7】
前記制約条件は、前記基板処理装置が物理的に実行できない動作の実行を禁止する条件を含む、請求項1から請求項6のいずれか1項に記載のスケジュール作成方法。
【請求項8】
前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含み、
前記最終報酬は、正の報酬である第1最終報酬を含み、
前記最終報酬を取得する際に、
前記複数の処理部のうち最後に基板を処理した処理部である最終処理部を特定し、
前記タイムテーブルによって示される時刻のうちから、前記最終処理部が最後に基板を処理した時刻を取得し、
取得した前記時刻に基づいて前記第1最終報酬を取得する、請求項1から請求項のいずれか1項に記載のスケジュール作成方法。
【請求項9】
前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含み、
前記最終報酬は、正の報酬である第2最終報酬を含み、
前記最終報酬を取得する際に、
前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、
前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、
前記経過時間の分散に基づいて前記第2最終報酬を取得する、請求項1から請求項のいずれか1項に記載のスケジュール作成方法。
【請求項10】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するためのスケジュール作成方法であって、
学習ステップを複数回実行して前記タイムスケジュールを作成し、
前記学習ステップでは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得し、
前記各パターンを前記タイムテーブルに順次配置する際に、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択した前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
前記評価値を取得する際に、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含み、
前記最終報酬は、正の報酬である第2最終報酬を含み、
前記最終報酬を取得する際に、
前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、
前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、
前記経過時間の分散に基づいて前記第2最終報酬を取得する、スケジュール作成方法。
【請求項11】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するスケジュール作成装置であって、
学習ステップを複数回実行して前記タイムスケジュールを作成する演算部を備え、
前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示し、
前記演算部は、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択された前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記演算部は、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記報酬は、中間報酬を更に含み、
前記演算部は、
選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、
前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、
前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する、スケジュール作成装置。
【請求項12】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するスケジュール作成装置であって、
学習ステップを複数回実行して前記タイムスケジュールを作成する演算部を備え、
前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示し、
前記演算部は、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択された前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記演算部は、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含み、
前記最終報酬は、正の報酬である特定の最終報酬を含み、
前記演算部は、
前記最終報酬を取得する際に、
前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、
前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、
前記経過時間の分散に基づいて前記特定の最終報酬を取得する、スケジュール作成装置。
【請求項13】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するスケジュール作成装置であって、
学習ステップを複数回実行して前記タイムスケジュールを作成する第1演算部及び第2演算部を備え、
前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示し、
前記第1演算部は、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記配置可能パターンを示す情報を前記第2演算部に入力し、
前記第2演算部は、
前記機械学習により、前記第1演算部によって取得された前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択した前記パターンを示す情報を前記第1演算部に入力し、
前記第1演算部は、前記第2演算部によって選択された前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記第1演算部は、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記報酬は、中間報酬を更に含み、
前記第1演算部は、
選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、
前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、
前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する、スケジュール作成装置。
【請求項14】
基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するスケジュール作成装置であって、
学習ステップを複数回実行して前記タイムスケジュールを作成する第1演算部及び第2演算部を備え、
前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示し、
前記第1演算部は、
既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、
前記配置可能パターンを示す情報を前記第2演算部に入力し、
前記第2演算部は、
前記機械学習により、前記第1演算部によって取得された前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、
選択した前記パターンを示す情報を前記第1演算部に入力し、
前記第1演算部は、前記第2演算部によって選択された前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新し、
予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記第1演算部は、
前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、
前記最終報酬を含む報酬に基づいて前記評価値を算出し、
前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含み、
前記最終報酬は、正の報酬である特定の最終報酬を含み、
前記第1演算部は、
前記最終報酬を取得する際に、
前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、
前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、
前記経過時間の分散に基づいて前記特定の最終報酬を取得する、スケジュール作成装置。
【請求項15】
基板の処理手順に関わる各構成要素と、
請求項11又は請求項12に記載のスケジュール作成装置と
を備え、
前記スケジュール作成装置に含まれる前記演算部は、作成した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する、基板処理装置。
【請求項16】
基板の処理手順に関わる各構成要素と、
請求項13又は請求項14に記載のスケジュール作成装置と を備え、
前記スケジュール作成装置に含まれる前記第1演算部は、作成した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する、基板処理装置。
【請求項17】
請求項11から請求項14のいずれか1項に記載のスケジュール作成装置と、
前記スケジュール作成装置と通信可能に接続する基板処理装置と
を備え、
前記基板処理装置は、
基板の処理手順に関わる各構成要素と、
前記スケジュール作成装置からタイムスケジュールを受信する受信部と、
前記受信部が受信した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する管理部と
を備える、基板処理システム。
【請求項18】
コンピュータに実行させるスケジュール作成プログラムを記録した非一時的コンピュータ読取可能記録媒体であって、
前記スケジュール作成プログラムは、請求項1から請求項10のいずれか1項に記載のスケジュール作成方法に従って前記コンピュータに演算を実行させる、記録媒体。
【請求項19】
コンピュータによって実行されるスケジュール作成プログラムであって、
請求項1から請求項10のいずれか1項に記載のスケジュール作成方法に従って前記コンピュータに演算を実行させる、スケジュール作成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラムに関する。
【背景技術】
【0002】
基板処理装置のスケジュール作成方法が知られている(例えば、特許文献1参照)。基板処理装置のスケジュール作成方法は、基板処理装置の各構成要素のタイムスケジュールを作成する方法である。基板処理装置のスケジュール作成方法によれば、基板処理装置が基板単位(1枚単位)又はロット単位(例えば、25枚単位)で基板を効率的に処理できるようにタイムスケジュールを作成することができる。特許文献1のスケジュール作成方法は、バッチ式の基板処理装置に適用される。
【0003】
基板処理装置のスケジュール作成方法は、CPU(Central Processing Unit)及びカウンタ・タイマ等を含む制御部がコンピュータプログラムを実行することにより実施される。したがって、スケジュール作成方法の開発者は、CPUが実行する処理のフローを開発する。具体的には、開発者は、基板処理装置の装置構成を考慮して制約(ルール)を決定し、決定したルールが反映されたタイムスケジュールを作成できるようにフローを開発する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-48320号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、基板処理装置の装置構成を考慮して制約(ルール)を決定し、決定したルールが反映されたタイムスケジュールを作成できるようにフローを開発する場合、機種ごとに装置構成が異なるため、開発者は、機種ごとにフロー全体を開発する必要がある。したがって、開発者の負担を考慮すれば、更なる改良の余地がある。
【0006】
本発明は上記課題に鑑みてなされたものであり、その目的は、開発者の負担を軽減できるスケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一局面によれば、スケジュール作成方法は、基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成するための方法である。当該方法は、学習ステップを複数回実行して前記タイムスケジュールを作成する。前記学習ステップでは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する。前記各パターンを前記タイムテーブルに順次配置する際に、既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、選択した前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新する。前記評価値を取得する際に、前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、前記最終報酬を含む報酬に基づいて前記評価値を算出する。
【0008】
ある実施形態において、前記制約条件は、前記処理手順の順序に従って、前記各パターンのうちから次に配置可能なパターンを取得させる条件を含む。
【0009】
ある実施形態において、前記制約条件は、前記基板処理装置が物理的に実行できない動作の実行を禁止する条件を含む。
【0010】
ある実施形態において、前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含む。前記最終報酬は、正の報酬である第1最終報酬を含む。上記のスケジュール作成方法は、前記最終報酬を取得する際に、前記複数の処理部のうち最後に基板を処理した処理部である最終処理部を特定し、前記タイムテーブルによって示される時刻のうちから、前記最終処理部が最後に基板を処理した時刻を取得し、取得した前記時刻に基づいて前記第1最終報酬を取得する。
【0011】
ある実施形態において、前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含む。前記最終報酬は、正の報酬である第2最終報酬を含む。上記のスケジュール作成方法は、前記最終報酬を取得する際に、前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、前記経過時間の分散に基づいて前記第2最終報酬を取得する。
【0012】
ある実施形態において、前記報酬は、中間報酬を更に含む。上記のスケジュール作成方法は、選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する。
【0013】
ある実施形態において、上記のスケジュール作成方法は、前記評価値を算出する際に、前記タイムテーブルによって示される時刻のうちから、前記中間報酬付与条件に合致する前記パターンの位置に対応する時刻を取得し、取得した前記時刻に基づいて、前記中間報酬に割引率を割り当てるか否かを決定し、前記中間報酬に割引率を割り当てると決定した場合、取得した前記時刻に応じて前記割引率の値を算出する。
【0014】
ある実施形態において、前記基板処理装置の前記各構成要素は、複数の基板を同時に搬送可能な搬送ロボットを含む。前記中間報酬は、正の報酬である第1中間報酬を含む。前記中間報酬付与条件は、前記第1中間報酬に対応する第1中間報酬付与条件を含む。前記第1中間報酬付与条件は、前記搬送ロボットが互いに異なる基板を同時に搬送することを示す。
【0015】
ある実施形態において、前記基板処理装置の前記各構成要素は、基板を処理する処理部を含む。前記中間報酬は、正の報酬である第2中間報酬を含む。前記中間報酬付与条件は、前記第2中間報酬に対応する第2中間報酬付与条件を含む。前記第2中間報酬付与条件は、前記処理部から基板が搬出された直後に前記処理部に他の基板が搬入されることを示す。
【0016】
ある実施形態において、前記パターンは、第1パターン及び第2パターンを含む。前記タイムテーブルによって示される時刻において、前記第1パターンが配置される位置に対応する時刻は、前記第2パターンよりも早い時刻である。前記中間報酬は、負の報酬である第3中間報酬を含む。前記中間報酬付与条件は、前記第3中間報酬に対応する第3中間報酬付与条件を含む。前記第3中間報酬付与条件は、前記タイムテーブルに前記第2パターンが配置された後に前記第1パターンが配置されることを示す。
【0017】
本発明の他の局面によれば、スケジュール作成装置は、基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成する。当該スケジュール作成装置は、学習ステップを複数回実行して前記タイムスケジュールを作成する演算部を備える。前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示す。前記演算部は、既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得する。前記演算部は、前記機械学習により、前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択する。前記演算部は、選択した前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新する。予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記演算部は、前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、前記最終報酬を含む報酬に基づいて前記評価値を算出する。
ある実施形態において、前記報酬は、中間報酬を更に含む。前記演算部は、選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する。
ある実施形態において、前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含む。前記最終報酬は、正の報酬である特定の最終報酬を含む。前記演算部は、前記最終報酬を取得する際に、前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、前記経過時間の分散に基づいて前記特定の最終報酬を取得する。
【0018】
本発明の他の局面によれば、基板処理装置は、基板の処理手順に関わる各構成要素と、上記のスケジュール作成装置とを備える。前記スケジュール作成装置に含まれる前記演算部は、作成した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する。
【0019】
本発明の他の局面によれば、スケジュール作成装置は、基板の処理手順に関わる基板処理装置の各構成要素のタイムスケジュールを、機械学習を用いて作成する。当該スケジュール作成装置は、学習ステップを複数回実行して前記タイムスケジュールを作成する第1演算部及び第2演算部を備える。前記学習ステップは、前記基板処理装置の前記各構成要素のタイムスケジュールを規定するためのタイムテーブルに、前記処理手順を手順ごとに示す各パターンを順次配置していき、予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に評価値を取得する処理を示す。前記第1演算部は、既定の制約条件に基づいて、前記各パターンのうちから、前記タイムテーブルに配置可能な配置可能パターンを取得し、前記配置可能パターンを示す情報を前記第2演算部に入力する。前記第2演算部は、前記機械学習により、前記第1演算部によって取得された前記配置可能パターンのうちから、前記評価値が最大化するパターンを予測して選択し、選択した前記パターンを示す情報を前記第1演算部に入力する。前記第1演算部は、前記第2演算部によって選択された前記パターンを前記タイムテーブルに配置することにより、前記タイムテーブルを更新する。予め用意された前記各パターンの全てが前記タイムテーブルに配置された後に、前記第1演算部は、前記各パターンの全てが配置された前記タイムテーブルに基づいて最終報酬を取得し、前記最終報酬を含む報酬に基づいて前記評価値を算出する。
ある実施形態において、前記報酬は、中間報酬を更に含む。前記第1演算部は、選択した前記パターンを前記タイムテーブルに配置して、前記タイムテーブルを更新した後、前記タイムテーブルに最後に配置した前記パターンが、既定の中間報酬付与条件に合致するか否かを判定し、前記中間報酬付与条件に合致すると判定した場合、前記中間報酬を取得する。
ある実施形態において、前記基板処理装置の前記各構成要素は、基板を処理する複数の処理部を含む。前記最終報酬は、正の報酬である特定の最終報酬を含む。前記第1演算部は、前記最終報酬を取得する際に、前記タイムテーブルによって示される時刻のうちから、前記複数の処理部のそれぞれが最初に基板を処理した第1時刻と、前記複数の処理部のそれぞれが最後に基板を処理した第2時刻とを取得し、前記複数の処理部のそれぞれの前記第1時刻から前記第2時刻までの経過時間を取得し、前記経過時間の分散に基づいて前記特定の最終報酬を取得する。
【0020】
本発明の更に他の局面によれば、基板処理装置は、基板の処理手順に関わる各構成要素と、上記のスケジュール作成装置とを備える。前記スケジュール作成装置に含まれる前記第1演算部は、作成した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する。
【0021】
本発明の更に他の局面によれば、基板処理システムは、上記のスケジュール作成装置と、前記スケジュール作成装置と通信可能に接続する基板処理装置とを備える。前記基板処理装置は、基板の処理手順に関わる各構成要素と、受信部と、管理部とを備える。前記受信部は、前記スケジュール作成装置からタイムスケジュールを受信する。前記管理部は、前記受信部が受信した前記タイムスケジュールに基づいて前記各構成要素のスケジュールを管理する。
【0022】
本発明の更に他の局面によれば、記録媒体は、コンピュータに実行させるスケジュール作成プログラムを記録した非一時的コンピュータ読取可能記録媒体である。前記スケジュール作成プログラムは、上記のスケジュール作成方法に従って前記コンピュータに演算を実行させる。
【0023】
本発明の更に他の局面によれば、スケジュール作成プログラムは、コンピュータによって実行される。当該スケジュール作成プログラムは、上記のスケジュール作成方法に従って前記コンピュータに演算を実行させる。
【発明の効果】
【0024】
本発明に係るスケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラムによれば、開発者の負担を軽減することができる。
【図面の簡単な説明】
【0025】
図1】本発明の実施形態1に係るスケジュール作成装置の構成を示すブロック図である。
図2】基板処理装置の構成の一例を示す図である。
図3】パターンの一例を示す図である。
図4】タイムテーブルの一例を示す図である。
図5図2に示す基板処理装置が2枚の基板を処理する場合のタイムスケジュールを作成している途中のタイムテーブルを示す図である。
図6】本発明の実施形態1に係るスケジュール作成装置が実行する学習ステップの流れの一例を示すシーケンス図である。
図7】強化学習のネットワーク構造を示す図である。
図8】第1演算部及び第2演算部の処理の流れを示すフロー図である。
図9】学習ステップの処理の流れを示すフロー図である。
図10図2に示す基板処理装置が2枚の基板を処理する場合のタイムスケジュールを作成している途中のタイムテーブルの他例を示す図である。
図11】タイムテーブルにパターンを配置する処理の流れを示すフロー図である。
図12】タイムテーブルにパターンを配置する処理の流れの一例を示すフロー図である。
図13】評価値を算出する処理の流れを示すフロー図である。
図14】割引率割当処理の流れを示すフロー図である。
図15】最終報酬を取得する処理の流れを示すフロー図である。
図16】第1最終報酬を取得する処理の流れを示すフロー図である。
図17】第2最終報酬を取得する処理の流れを示すフロー図である。
図18】本発明の実施形態2に係る基板処理装置を示す図である。
図19】本発明の実施形態3に係る基板処理システムを示す図である。
図20】実施例で使用したパターンを示す図である。
図21】実施例で作成されたタイムスケジュールを示す図である。
図22】実施例で得られた学習曲線を示す図である。
【発明を実施するための形態】
【0026】
以下、図面(図1図22)を参照して本発明のスケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラムに係る実施形態を説明する。但し、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。なお、説明が重複する箇所については、適宜説明を省略する場合がある。また、図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
【0027】
本発明の実施形態における「基板」には、半導体ウエハ、フォトマスク用ガラス基板、液晶表示用ガラス基板、プラズマ表示用ガラス基板、FED(Field Emission Display)用基板、光ディスク用基板、磁気ディスク用基板、及び光磁気ディスク用基板などの各種基板を適用可能である。以下では主として、円盤状の半導体ウエハの処理に用いられるスケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラムを例に本発明の実施形態を説明するが、上に例示した各種の基板の処理にも同様に適用可能である。また、基板の形状についても各種のものを適用可能である。
【0028】
[実施形態1]
以下、図1図17を参照して本発明の実施形態1を説明する。まず、図1を参照して、本実施形態のスケジュール作成装置100を説明する。図1は、本実施形態のスケジュール作成装置100の構成を示すブロック図である。スケジュール作成装置100は、基板Wの処理手順(レシピ)に関わる基板処理装置WPの各構成要素のタイムスケジュールを、機械学習を用いて作成する。
【0029】
例えば、基板処理装置WPが枚葉式である場合、処理手順に関わる各構成要素には、インデクサロボットIRのハンド部、受渡部PS、搬送ロボットCRのハンド部、及び、処理部PU(チャンバー)が含まれてもよい。各構成要素に、基板収容容器Cが更に含まれてもよい。処理部PUが処理液により基板Wを処理する場合、各構成要素に、処理部PUに処理液を供給する処理液供給ユニットPLが更に含まれてもよい。
【0030】
インデクサロボットIRのハンド部は、複数枚の基板Wを同時に把持可能なハンドを含み得る。また、インデクサロボットIRのハンド部は、それぞれ独立して動作可能な複数のハンドを含み得る。搬送ロボットCRのハンド部は、それぞれ独立して動作可能な複数のハンドを含み得る。
【0031】
枚葉式の基板処理装置WPが受渡部PSを備える場合、インデクサロボットIRは、基板収容容器Cと受渡部PSとの間で基板Wを搬送し、搬送ロボットCRは、処理部PUと受渡部PSとの間で基板Wを搬送する。受渡部PSは、基板Wを反転させる反転機構を有してもよく、反転機構を有していなくてもよい。受渡部PSは省略されてもよい。枚葉式の基板処理装置WPが受渡部PSを備えていない場合、インデクサロボットIRは、基板収容容器Cと搬送ロボットCRとの間で基板Wを搬送し、搬送ロボットCRは、処理部PUとインデクサロボットIRとの間で基板Wを搬送する。
【0032】
処理部PUは、基板Wを処理する。処理部PUが実行する処理の内容は特に限定されず、例えば、処理部PUは、基板Wに対して、処理剤(処理液又は処理ガス、あるいは処理液及び処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、あるいは、物理洗浄処理(ブラシ洗浄又はスプレーノズル洗浄等)を施す。具体的には、処理部PUが実行する処理は、薬液洗浄処理、ブラシ洗浄処理、エッチング処理、感光膜塗布処理、現像処理、アニール処理、及び描画処理のいずれかであってもよい。基板処理装置WPは、互いに異なる処理を実行できる複数の処理部PUを備えてもよい。
【0033】
図1に示すように、スケジュール作成装置100は、第1演算部111と、第2演算部112と、記憶部113とを備える。以下、基板Wの処理手順に関わる基板処理装置WPの各構成要素のタイムスケジュールを、「タイムスケジュール」と記載する場合がある。
【0034】
第1演算部111及び第2演算部112は、学習ステップを複数回実行してタイムスケジュールを作成する。学習ステップは、基板処理装置WPの各構成要素のタイムスケジュールを規定するためのタイムテーブルTBに、処理手順を手順ごとに示す各パターンPTを順次配置し、予め用意された各パターンPTの全てがタイムテーブルTBに配置された後に評価値を取得する処理を示す。学習ステップを繰り返す回数は予め設定されている。例えば、第1演算部111及び第2演算部112は、評価値又は報酬が収束するまで学習ステップを繰り返してもよい。各学習ステップ内でタイムテーブルTBに順次配置されるパターンPTは、タイムテーブルTBに未配置のパターンである。以下、各学習ステップ内でタイムテーブルTBに順次配置されるパターンPTを、「未配置パターンNPT」と記載する場合がある。
【0035】
第1演算部111は、プロセッサーを含む。第1演算部111は、例えば、CPU(Central Processing Unit)、又は、MPU(Micro Processing Unit)を含む。あるいは、第1演算部111は、汎用演算機又は専用演算器を含み得る。専用演算器は、例えば、FPGA(Field-Programmable Gate Array)、又は、ASIC(Application Specific Integrated Circuit)を含む。第1演算部111は、記憶部113に記憶されている第1制御プログラム(コンピュータプログラム)を実行することにより、種々の処理を実行する。第1制御プログラムは、スケジュール作成プログラムの一部である。記憶部113は、スケジュール作成プログラムを記録する記録媒体を含む。
【0036】
具体的には、第1演算部111は、既定の制約条件に基づいて、未配置パターンNPTのうちから次配置可能パターンAPTを取得する。以下、制約条件に基づいて、未配置パターンNPTのうちから次配置可能パターンAPTを取得する処理を、「次配置可能パターン取得処理」と記載する場合がある。なお、制約条件は、記憶部113に予め記憶されている。
【0037】
各パターンPTは、既定枚数の基板Wのそれぞれに対して予め用意されている。例えば、1枚の基板Wを処理するための処理手順に含まれる手順(パターン)の数がX個であり、既定枚数が25枚である場合、パターンPTの総数は「25×X個」となる。なお、タイムテーブルTBにパターンPTが配置されていない初期段階では、全てのパターンPTが未配置パターンNPTである。処理が進み、パターンPTがタイムテーブルTBに配置される度に、未配置パターンNPTの数が減少する。
【0038】
制約条件は、基板処理装置WPの装置構成に依存する。例えば、制約条件は、処理手順(レシピ)に規定されている手順(処理)の順序で基板Wを処理する旨の条件、及び、基板処理装置WPにおいて物理的に不可能な行為を禁止する旨の条件を含む。
【0039】
次配置可能パターンAPTは、現段階のタイムテーブルTBに対して配置が可能なパターンPTを示す。詳しくは、タイムテーブルTBに少なくとも1つのパターンPTが既に配置されている場合、その少なくとも1つのパターンPTの次の手順(処理)に対応するパターンPTが、次配置可能パターンAPTに相当する。但し、次の手順(処理)に対応するパターンPTであっても、制約条件によっては、次配置可能パターンAPTに相当しないことがある。具体的には、次の手順(処理)に対応するパターンPTが、基板処理装置WPにおいて物理的に不可能な行為に対応する場合、そのパターンPTは次配置可能パターンAPTに相当しないため、次配置可能パターンAPTとして取得されない。
【0040】
次配置可能パターンAPTは、タイムテーブルTBが更新される度に変化する。換言すると、次配置可能パターンAPTは、未配置パターンNPTがタイムテーブルTBに配置される度に変化する。
【0041】
例えば、制約条件が以下の表1に示す制約条件1~4を含み、処理手順が以下の表2に示す手順1~3(パターン1~3)を含む場合、初期段階における次配置可能パターンAPTは、基板収容容器Cに積層されている1枚目の基板W1(最上部の基板W)に対する手順1(パターン1-W1)である。タイムテーブルTBにパターン1-W1を配置した後の次配置可能パターンAPTは、1枚目の基板W1に対する手順2(パターン2-W1)である。タイムテーブルTBにパターン2-W1を配置した後の次配置可能パターンAPTは、1枚目の基板W1に対する手順3(パターン3-W1)、及び、基板収容容器Cに積層されている2枚目の基板W2(最上部の基板W)に対する手順1(パターン1-W2)である。
【表1】
【表2】
【0042】
第2演算部112は、プロセッサーを含む。第2演算部112は、例えば、CPU又はMPUを含む。あるいは、第2演算部112は、汎用演算機、専用演算器、NCU(Neural Network Processing Unit)、又は、量子コンピュータを含み得る。専用演算器は、例えば、FPGA又はASICを含む。第2演算部112には、次配置可能パターンAPTを示す情報が第1演算部111から入力される。詳しくは、第1演算部111は、次配置可能パターンAPTを示す情報と、現段階のタイムテーブルTBを示す情報と、現段階の未配置パターンNPTを示す情報とを第2演算部112に入力する。
【0043】
第2演算部112は、記憶部113に記憶されている第2制御プログラム(コンピュータプログラム)を実行することにより、第1演算部111によって取得された次配置可能パターンAPTのうちから、評価値が最大化する次配置可能パターンAPTを予測して選択する。第2制御プログラムは、スケジュール作成プログラムの一部である。
【0044】
詳しくは、第2制御プログラムは、機械学習用のプログラムを含む。より具体的には、第2制御プログラムは、強化学習用のプログラムを含む。強化学習のアルゴリズムは、特に限定されるものではないが、例えば、Q学習、SARSA法、方策勾配法、Actor-Critic法、又はモンテカルロ法に準拠するアルゴリズムであり得る。第2制御プログラム(強化学習のアルゴリズム)は、予測モデルを構築する。予測モデルは、次配置可能パターンAPTごとに評価値(Q値)を予測する。以下、第2演算部112によって予測される評価値を、「予測評価値」と記載する場合がある。
【0045】
予測モデルは、例えば、ニューラルネットワークを含む。ニューラルネットワークは、入力層、単数又は複数の中間層、及び、出力層を含む。具体的には、ニューラルネットワークは、ディープニューラルネットワーク(DNN:Deep Neural Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、又は、量子ニューラルネットワーク(QNN:Quantum Neural Network)であり、ディープラーニングを行う。例えば、ディープニューラルネットワークは、入力層、複数の中間層(隠れ層)、及び、出力層を含む。
【0046】
第2演算部112は、予測評価値に基づいて、次配置可能パターンAPTのうちの1つを選択する。具体的には、第2演算部112は、予測評価値が最も大きくなる次配置可能パターンAPTを選択する。
【0047】
例えば、表1及び表2を参照して説明したように、タイムテーブルTBにパターン2-W1を配置した後の次配置可能パターンAPTが、1枚目の基板W1に対する手順3(パターン3-W1)、及び、2枚目の基板W2(最上部の基板W)に対する手順1(パターン1-W2)である場合、第2演算部112は、タイムテーブルTBにパターン3-W1を配置したときの予測評価値と、タイムテーブルTBにパターン1-W2を配置したときの予測評価値とを算出し、算出された予測評価値に基づいて、パターン3-W1及びパターン1-W2のうちの一方を選択する。
【0048】
第2演算部112は、次配置可能パターンAPTを選択すると、選択した次配置可能パターンAPTを示す情報を第1演算部111に入力する。以下、第1演算部111によって取得された次配置可能パターンAPTのうちから、評価値が最大化する次配置可能パターンAPTを予測して選択する処理を、「次配置可能パターン選択処理」と記載する場合がある。
【0049】
第1演算部111は、第2演算部112によって選択された次配置可能パターンAPTをタイムテーブルTBに配置することにより、タイムテーブルTBを更新する。更に、第1演算部111は、次配置可能パターンAPTをタイムテーブルTBに配置することに応じて未配置パターンNPTを更新する。以下、第2演算部112によって選択された次配置可能パターンAPTをタイムテーブルTBに配置することにより、タイムテーブルTBを更新する処理を、「タイムテーブル更新処理」と記載する場合がある。また、次配置可能パターンAPTをタイムテーブルTBに配置することに応じて未配置パターンNPTを更新する処理を、「未配置パターン更新処理」と記載する場合がある。
【0050】
第1演算部111及び第2演算部112は、全未配置パターンNPTがタイムテーブルTBに配置されるまで、「次配置可能パターン取得処理」、「次配置可能パターン選択処理」、「タイムテーブル更新処理」、及び「未配置パターン更新処理」を繰り返す。
【0051】
全未配置パターンNPTがタイムテーブルTBに配置されると、第1演算部111は、報酬に基づいて評価値を算出する。この結果、1回分の学習ステップが終了する。なお、第1演算部111は、学習ステップが終了すると、タイムテーブルTB及び未配置パターンNPTを初期の状態に戻す。
【0052】
本実施形態において、報酬は、中間報酬と、最終報酬とを含む。第1演算部111は、全未配置パターンNPTがタイムテーブルTBに配置される前のタイムテーブル更新処理の度に、更新後のタイムテーブルTBに基づいて中間報酬を与えるか否かを決定する。そして、中間報酬を与えることを決定すると、中間報酬を取得する。また、第1演算部111は、全未配置パターンNPTがタイムテーブルTBに配置されると、全未配置パターンNPTが配置されたタイムテーブルTBに基づいて最終報酬を取得する。
【0053】
第1演算部111は、中間報酬を取得する度に、中間報酬の履歴を記憶部113に記憶させる。ここで、中間報酬の履歴には、中間報酬の値を示す情報と、中間報酬を取得する要因となったパターンPT(タイムテーブル更新処理により配置された次配置可能パターンAPT)を示す情報とが含まれる。
【0054】
また、第1演算部111は、報酬及び評価値を算出する度に、報酬の履歴及び評価値の履歴の少なくとも一方を記憶部113に記憶させる。報酬の履歴には、報酬の値を示す情報と、報酬の対象となった学習ステップが何回目の学習ステップであるかを示す情報とが含まれる。同様に、評価値の履歴には、評価値を示す情報と、評価値の対象となった学習ステップが何回目の学習ステップであるかを示す情報とが含まれる。なお、本実施形態において、第1演算部111は、報酬の履歴又は評価値の履歴に基づいて学習曲線を示す画像情報を生成する。
【0055】
記憶部113は、主記憶装置を有する。主記憶装置は、例えば、半導体メモリである。記憶部113は、補助記憶装置を更に有する。補助記憶装置は、例えば、半導体メモリ及びハードディスクドライブの少なくも一方を含む。記憶部113はリムーバブルメディアを含んでいてもよい。
【0056】
記憶部113は、各種のコンピュータプログラム及び各種のデータを記憶する。各種のコンピュータプログラムには、第1演算部111によって実行される第1制御プログラムと、第2演算部112によって実行される第2制御プログラムとが含まれる。各種のデータには、学習ステップを繰り返す回数を示す設定情報、タイムテーブルTBを示す情報、未配置パターンNPTを示す情報、制約条件を示す情報、及び、中間報酬の履歴を示す情報が含まれる。各種のデータには、報酬の履歴及び評価値の履歴の少なくとも一方を示す情報が更に含まれる。なお、以下の説明において、学習ステップを繰り返す回数を、「学習回数」と記載する場合がある。
【0057】
続いて、図1を参照して、スケジュール作成装置100を更に説明する。図1に示すように、スケジュール作成装置100は、入力部121と、出力部122とを更に備える。
【0058】
入力部121は、作業者が操作するユーザーインターフェース装置である。入力部121は、作業者の操作に応じた指示(制御信号)を第1演算部111に入力する。また、入力部121は、作業者の操作に応じたデータを第1演算部111に入力する。入力部121は、典型的には、キーボード及びマウスを有する。例えば、作業者は、入力部121を操作して、学習回数を設定することができる。
【0059】
出力部122は、外部の表示装置130と接続するためのインタフェースである。出力部122は、例えば、USBポート、D-SUB端子、HDMI(登録商標)端子、又はDisplayportである。出力部122は、表示装置130に画像情報を出力する。具体的には、出力部122は、表示装置130に、学習曲線を示す画像情報を出力する。なお、出力部122は無線により表示装置130と接続してもよい。この場合、出力部122は、例えばBluetooth(登録商標)のような近距離無線通信規格に準拠した通信回路を有する。
【0060】
表示装置130は、例えば、液晶表示装置又は有機EL(electroluminescence)表示装置である。表示装置130は、学習曲線を表示する。表示装置130が学習曲線を表示することにより、作業者は、評価値又は報酬が目標値に収束しているか否かを確認することができる。したがって、作業者は、評価値又は報酬が目標値に収束していない場合、入力部121を操作して学習回数を増やすことができる。
【0061】
なお、スケジュール作成装置100は表示部を備えてもよい。この場合、第1演算部111は、表示部に学習曲線を表示させてもよい。スケジュール作成装置100が表示部を備える場合、入力部121は、表示部の表示面に重畳されるタッチセンサを有してもよい。表示部の表示面にタッチセンサが重畳されることにより、グラフィカルユーザーインターフェースが構成されてもよい。
【0062】
続いて、図1図5を参照して、パターンPT及びタイムテーブルTBを説明する。図2は、基板処理装置WPの構成の一例を示す図である。図3は、パターンPTの一例を示す図である。図4は、タイムテーブルTBの一例を示す図である。詳しくは、図3は、図2に示す基板処理装置WPに対応するパターンPTを示す。図4は、図2に示す基板処理装置WPに対応するタイムテーブルTBを示す。なお、本実施形態において、強化学習には、環境としてタイムテーブルTBが与えられる。
【0063】
まず、図2に示す基板処理装置WPの構成を説明する。図2に示す基板処理装置WPは、4つの基板収容容器Cと、インデクサロボットIRと、搬送ロボットCRと、4つの処理部PU(処理部PU1~PU4)とを備える。
【0064】
基板収容容器Cはそれぞれ複数枚の基板Wを積層状態で収容する。具体的には、複数枚の基板Wは、基板収容容器C内で、水平姿勢で互いに間隔を開けて鉛直方向に積層される。ここで、水平姿勢とは、基板Wの厚み方向が鉛直方向に沿う状態を示す。基板収容容器Cは、例えば、FOUP(Front Opening Unified Pod)であってもよいし、SMIF(Standard Mechanical Inter Face)ポッドであってもよいし、OC(Open Cassette)であってもよい。
【0065】
インデクサロボットIRは、未処理の基板Wを基板収容容器Cから受渡部PSに搬送し、処理後の基板Wを受渡部PSから基板収容容器Cに搬送する。具体的には、インデクサロボットIRは、基台部6と、多関節アーム7と、2つのハンド8A、8Bとを含む。
【0066】
基台部6は、多関節アーム7の基端部を支持する。より詳しくは、基台部6は、アーム回動機構と、アーム昇降機構とを有する。アーム回転機構は、多関節アーム7を鉛直軸線まわりに回動させる。アーム昇降機構は、多関節アーム7を昇降させる。したがって、多関節アーム7は、基台部6に対して回動自在である。また、多関節アーム7は、基台部6に対して昇降自在である。
【0067】
多関節アーム7は、水平方向に屈伸自在である。具体的には、多関節アーム7は、複数のアーム部と、複数の関節部と、複数の個別回動機構とを有する。各関節部には2本のアーム部が接続する。アーム部はそれぞれ、接続している関節部に対して回動自在である。個別回動機構は関節部に設けられて、対応するアーム部を水平面に沿って回動させる。
【0068】
ハンド8A、8Bは、多関節アーム7の先端部に支持される。多関節アーム7は、ハンド8A、8Bを鉛直軸線まわりに個別に回転させるハンド回転機構と、ハンド8A、8Bを水平方向に個別に進退させるハンド進退機構とを更に有する。したがって、ハンド8A、8Bは、多関節アーム7に対して個別に回動自在である。また、ハンド8A、8Bは、多関節アーム7に対して個別に進退自在である。
【0069】
ハンド8A、8Bはそれぞれ1枚の基板Wを把持する。なお、ハンド8A、8Bは上下に重なるように配置されてもよいが、図2では、明瞭化のために、ハンド8A、8Bを紙面に平行な方向(水平方向)にずらしている。
【0070】
受渡部PSは、基板Wを支持する複数の棚を有する。詳しくは、受渡部PSは、未処理の基板Wを支持する少なくとも1つの棚と、処理後の基板Wを支持する少なくとも1つの棚とを有する。本実施形態では、受渡部PSは、未処理の基板Wを支持する1つの棚と、処理後の基板Wを支持する1つの棚とを有する。以下、未処理の基板Wを支持する1つの棚を「棚PS1」と記載し、処理後の基板Wを支持する棚を「棚PS2」と記載する場合がある。
【0071】
搬送ロボットCRは、未処理の基板Wを受渡部PSから処理部PUに搬送し、処理後の基板Wを処理部PUから受渡部PSに搬送する。具体的には、搬送ロボットCRは、基台部11と、多関節アーム12と、2つのハンド13A、13Bとを含む。
【0072】
基台部11は、多関節アーム12の基端部を支持する。より詳しくは、基台部11は、アーム回動機構と、アーム昇降機構とを有する。アーム回転機構は、多関節アーム12を鉛直軸線まわりに回動させる。アーム昇降機構は、多関節アーム12を昇降させる。したがって、多関節アーム12は、基台部11に対して回動自在である。また、多関節アーム12は、基台部11に対して昇降自在である。
【0073】
多関節アーム12は、水平方向に屈伸自在である。具体的には、多関節アーム12は、複数のアーム部と、複数の関節部と、複数の個別回動機構とを有する。各関節部には2本のアーム部が接続する。アーム部はそれぞれ、接続している関節部に対して回動自在である。個別回動機構は関節部に設けられて、対応するアーム部を水平面に沿って回動させる。
【0074】
ハンド13A、13Bは、多関節アーム12の先端部に支持される。多関節アーム12は、ハンド13A、13Bを鉛直軸線まわりに個別に回転させるハンド回転機構と、ハンド13A、13Bを水平方向に個別に進退させるハンド進退機構とを更に有する。したがって、ハンド13A、13Bは、多関節アーム12に対して個別に回動自在である。また、ハンド13A、13Bは、多関節アーム12に対して個別に進退自在である。
【0075】
ハンド13A、13Bはそれぞれ1枚の基板Wを把持する。なお、ハンド13A、13Bは上下に重なるように配置されてもよいが、図2では、明瞭化のために、ハンド13A、13Bを紙面に平行な方向(水平方向)にずらしている。
【0076】
処理部PUは、基板Wを1枚ずつ処理する。例えば、処理部PUは、基板Wに対して、薬液洗浄処理、ブラシ洗浄処理、エッチング処理、感光膜塗布処理、現像処理、アニール処理、及び描画処理のいずれかを実行する。
【0077】
続いて、図3を参照して、図2に示す基板処理装置WPの構成に対応するパターンPTを説明する。図3に示すように、図2に示す基板処理装置WPの構成に対応するパターンPTは、13個のパターンA~Mを含む。
【0078】
パターンAは、インデクサロボットIRが基板収容容器Cから未処理の基板Wを搬出する処理を示す。パターンBは、インデクサロボットIRが受渡部PSまで未処理の基板Wを搬送して、未処理の基板Wを受渡部PSに搬入する処理を示す。パターンCは、受渡部PSに未処理の基板Wが搬入される処理を示す。パターンDは、受渡部PSから未処理の基板Wが搬出される処理を示す。パターンEは、搬送ロボットCRが受渡部PSから未処理の基板Wを搬出する処理を示す。パターンFは、搬送ロボットCRが未処理の基板Wを処理部PUまで搬送して、処理部PUに未処理の基板Wを搬入する処理を示す。パターンGは、処理部PUに未処理の基板Wが搬入され、処理部PUが未処理の基板Wを処理し、処理後の基板Wが処理部PUから搬出されるまでの処理を示す。パターンHは、搬送ロボットCRが処理部PUから処理後の基板Wを搬出する処理を示す。パターンIは、搬送ロボットCRが処理後の基板Wを受渡部PSまで搬送して、受渡部PSに処理後の基板Wを搬入する処理を示す。パターンJは、受渡部PSに処理後の基板Wが搬入される処理を示す。パターンKは、受渡部PSから処理後の基板Wが搬出される処理を示す。パターンLは、インデクサロボットIRが受渡部PSから処理後の基板Wを搬出する処理を示す。パターンMは、インデクサロボットIRが処理後の基板Wを基板収容容器Cまで搬送して、基板収容容器Cに処理後の基板Wを搬入する処理を示す。
【0079】
ここで、図2に示す基板処理装置WPの制約条件を説明する。図2に示す基板処理装置WPの制約条件は、以下の表3に示す制約条件1~9を含む。
【表3】
【0080】
続いて、ブロックBL(制約条件9)について説明する。ブロックBLは、タイムテーブルTBに連続して配置されるパターンPTを示す。パターンPTは、ブロック単位で区分される。ブロック単位でパターンPTを配置することにより、基板処理装置WPにおいて物理的に不可能な行為を禁止することができる。例えば、図3に示すように、図2に示す基板処理装置WPのパターンA~Mは、ブロックBL1~ブロックBL7に区分される。
【0081】
続いて、図1図4を参照して、タイムテーブルTBを説明する。図4に示すように、タイムテーブルTBは、基板処理装置WPの各構成要素のタイムスケジュールを規定する。具体的には、タイムテーブルTBの横軸は時刻を示す。タイムテーブルTBには、基板処理装置WPの構成要素ごとに、対応するパターンPTがタイムテーブルTBの時間軸に沿って配置される。図4に示すタイムテーブルTBには、図3に示すパターンA~Mが制約条件1~9(表3)に基づいて配置されている。タイムテーブルTBは、例えば、ガントチャートである。なお、タイムテーブルTBに配置されるパターンPTは、数値情報であってもよいし、画像情報であってもよい。
【0082】
ここで、図1図4を参照して、第1演算部111がタイムテーブルTBにパターンPTを配置する処理について更に説明する。本実施形態において、第1演算部111は、制約条件に基づいて、次配置可能パターンAPTの配置可能時刻TAを算出する。配置可能時刻TAは、タイムテーブルTBによって示される時刻に対応する。詳しくは、配置可能時刻TAは、次配置可能パターンAPTに対応する処理を開始可能なタイムテーブルTB上の時刻を示す。図3及び図4に示す例では、第1演算部111は、図3に示すように配置可能時刻TAを算出する。そして、第1演算部111は、図4に示すように、第2演算部112によって選択されたパターンPTを配置可能時刻TAに合わせてタイムテーブルTBに配置する。
【0083】
続いて、図1図5を参照して、表3に示す制約条件9について説明する。図5は、図2に示す基板処理装置WPが2枚の基板W1、W2を処理する場合のタイムスケジュールを作成している途中のタイムテーブルTBを示す図である。
【0084】
図5に示すタイムテーブルTBにおいて、基板W1のパターンE(パターンE1)が配置された後の次配置可能パターンAPTは、基板W1のパターンF(パターンF1)、及び、基板W2のパターンB(パターンB2)である。
【0085】
このとき、第2演算部112が基板W1のパターンF(パターンF1)を選択した場合、図3に示すようにパターンF~が1つのブロックBL(ブロックBL4)を構成するため、第1演算部111は、基板W1のパターンF(パターンF1)をタイムテーブルTBに配置した後、次配置可能パターンAPTとして、基板W1のパターンG(パターンG1)のみを取得する。この結果、基板W1のパターンG(パターンG1)がタイムテーブルTBに配置される。続いて、第1演算部111は、次配置可能パターンAPTとして、基板W1のパターンH(パターンG1)のみを取得する。この結果、基板W1のパターンH(パターンH1)がタイムテーブルTBに配置される。
【0086】
あるいは、第2演算部112が基板W2のパターンB(パターンB2)を選択した場合、図3に示すようにパターンB、Cが1つのブロックBL(ブロックBL2)を構成するため、第1演算部111は、基板W1のパターンB(パターンB2)をタイムテーブルTBに配置した後、次配置可能パターンAPTとして、基板W2のパターンC(パターンC2)のみを取得する。この結果、基板W2のパターンC(パターンC2)がタイムテーブルTBに配置される。
【0087】
以上、図1図5を参照して説明したように、パターンFがタイムテーブルTBに配置された場合、ブロックBL4に含まれるパターンF、G、Hが連続してタイムテーブルTBに配置される。また、パターンBがタイムテーブルTBに配置された場合、ブロックBL2に含まれるパターンB、Cが連続してタイムテーブルTBに配置される。つまり、パターンPTがブロック単位でタイムテーブルTBに配置される。このようにパターンPTをブロック単位でタイムテーブルTBに配置することで、タイムスケジュールを作成する処理の効率化を図ることができる。
【0088】
続いて、図1図6及び図7を参照して、本実施形態のスケジュール作成装置100を更に説明する。図6は、本実施形態のスケジュール作成装置100が実行する学習ステップの流れの一例を示すシーケンス図である。
【0089】
図6に示すように、第1演算部111は、記憶部113に記憶されている現段階のタイムテーブルTB及び現段階の未配置パターンNPTと、既定の制約条件とに基づいて、未配置パターンNPTの配置可能時刻TAを算出する。詳しくは、第1演算部111は、未配置パターンNPTの配置可能時刻TAを算出する過程で、制約条件が反映されるように配置可能時刻TAを算出する。その結果、次に配置可能な未配置パターンNPT(次配置可能パターンAPT)の配置可能時刻TAのみが算出される。
【0090】
第1演算部111は、次配置可能パターンAPTの配置可能時刻TAを算出した後、次配置可能パターンAPTと、次配置可能パターンAPTの配置可能時刻TAとに基づいて、強化学習に用いるアクションAC(Action)を生成する。具体的には、アクションACは、次配置可能パターンAPTを配置可能時刻TAに合わせてタイムテーブルTBに配置する動作を示す。
【0091】
第1演算部111は、生成したアクションACを第2演算部112に入力する。より具体的には、第1演算部111により、アクションACと、現段階のタイムテーブルTBと、現段階の未配置パターンNPTとが第2演算部112に入力される。
【0092】
第2演算部112は、第1演算部111から入力されたアクションAC、現段階のタイムテーブルTB、及び現段階の未配置パターンNPTに基づいて、評価値が最大化するアクションACを予測して選択する。
【0093】
第1演算部111は、第2演算部112によって選択されたアクションACに対応するパターンPT(次配置可能パターンAPT)をタイムテーブルTBに配置してタイムテーブルTBを更新するとともに、未配置パターンNPTを更新する。更に、第1演算部111は、更新されたタイムテーブルTBに基づいて、中間報酬又は最終報酬を取得する。
【0094】
続いて、図7を参照して、強化学習のネットワーク構造NWを説明する。図7は、強化学習のネットワーク構造NWを示す図である。図1を参照して説明した強化学習用のプログラムによって、図7に示すネットワーク構造NWが構築されてもよい。
【0095】
図7に示すように、ネットワーク構造NWは、第1エンコーダ1a~第3エンコーダ1cと、予測器2とを有する。第1エンコーダ1aは、現段階のタイムテーブルTBを潜在ベクトルに変換して、予測器2に入力する。第2エンコーダ1bは、現段階の未配置パターンNPTを潜在ベクトルに変換して、予測器2に入力する。第3エンコーダ1cは、第1演算部111が生成したアクションACを潜在ベクトルに変換して、予測器2に入力する。
【0096】
予測器2は、図1を参照して説明した予測モデルを含む。予測器2は、図1を参照して説明したように、予測モデルとして、ニューラルネットワークを含み得る。予測器2は、現段階のタイムテーブルTBを示す潜在ベクトルと、現段階の未配置パターンNPTを示す潜在ベクトルと、第1演算部111が生成したアクションACを示す潜在ベクトルとに基づいて、アクションACごとに予測評価値を算出する。詳しくは、予測モデル(ニューラルネットワーク)の入力層に、現段階のタイムテーブルTBを示す潜在ベクトルと、現段階の未配置パターンNPTを示す潜在ベクトルと、第1演算部111が生成したアクションACを示す潜在ベクトルとが入力される。この結果、予測モデル(ニューラルネットワーク)の出力層から予測評価値が出力される。第2演算部112は、予測評価値に基づいて、アクションACを1つ選択する。
【0097】
続いて、図1図17を参照して、本実施形態のスケジュール作成方法を説明する。本実施形態のスケジュール作成方法は、図1図7を参照して説明したスケジュール作成装置100によって実行される。
【0098】
図8は、本実施形態のスケジュール作成方法を示す図である。詳しくは、図8は、第1演算部111及び第2演算部112の処理の流れを示すフロー図である。図8に示す処理は、作業者が入力部121を操作して強化学習の開始を指示することにより開始する。
【0099】
図8に示すように、強化学習が開始すると、第1演算部111及び第2演算部112は、学習ステップを実行する(ステップS1)。学習ステップの終了後、第1演算部111が、学習回数が設定回数に達しているか否かを判定する(ステップS2)。
【0100】
学習回数が設定回数に達していると第1演算部111が判定した場合(ステップS2のYes)、図8に示す処理(強化学習)は終了する。学習回数が設定回数に達していないと第1演算部111が判定した場合(ステップS2のNo)、第1演算部111及び第2演算部112は学習ステップを再度実行する(ステップS1)。したがって、第1演算部111及び第2演算部112は、学習回数が設定回数に達するまで学習ステップを繰り返す。
【0101】
続いて、図9を参照して、学習ステップ(ステップS1)を説明する。図9は、学習ステップの処理の流れを示すフロー図である。図9に示すように、学習ステップは、ステップS11~ステップS15を含む。
【0102】
学習ステップが開始すると、第1演算部111及び第2演算部112は、タイムテーブルTBにパターンPTのうちの一つを配置する(ステップS11)。その結果、タイムテーブルTBが更新される。
【0103】
タイムテーブルTBにパターンPTのうちの一つが配置されると、第1演算部111が、タイムテーブルTBに最後に配置されたパターンPTが、既定の中間報酬付与条件に合致するか否かを判定する(ステップS12)。なお、中間報酬付与条件は、記憶部113に予め記憶されている。中間報酬付与条件は、基板処理装置WPの装置構成に基づいて決定される。
【0104】
第1演算部111は、タイムテーブルTBに最後に配置されたパターンPTが中間報酬付与条件に合致すると判定した場合(ステップS12のYes)、更新後のタイムテーブルTBに基づいて中間報酬を取得する(ステップS13)。
【0105】
第1演算部111は、タイムテーブルTBに最後に配置されたパターンPTが、中間報酬付与条件に合致しないと判定した場合(ステップS12のNo)、全パターンPTがタイムテーブルTBに配置されているか否かを判定する(ステップS14)。あるいは、第1演算部111は、中間報酬を取得すると、全パターンPTがタイムテーブルTBに配置されているか否かを判定する(ステップS14)。
【0106】
全パターンPTがタイムテーブルTBに配置されていないと第1演算部111が判定した場合(ステップS14のNo)、処理はステップS11に戻る。したがって、全パターンPTがタイムテーブルTBに配置されるまで、ステップS11~ステップS14が繰り返される。
【0107】
第1演算部111は、全パターンPTがタイムテーブルTBに配置されていると判定した場合(ステップS14のYes)、評価値を算出する(ステップS15)。この結果、学習ステップが終了する。
【0108】
本実施形態によれば、タイムテーブルTBの最終の状態に対応する報酬(最終報酬)に加えて、タイムテーブルTBの途中の状態に対応する報酬(中間報酬)を取得できるので、基板Wをより効率的に処理できるタイムスケジュールを作成するすることができる。
【0109】
ここで、中間報酬付与条件の3つの例(第1中間報酬付与条件~第3中間報酬付与条件)を説明する。なお、以下の説明において、タイムテーブルTBに最後に配置されたパターンPTを、「最後に配置したパターンPT」と記載する場合がある。また、更新前のタイムテーブルTBに配置されていたパターンPTを、「更新前のパターンPT」と記載する場合がある。
【0110】
まず、第1中間報酬付与条件を説明する。基板処理装置WPの搬送ロボットCRが複数の基板Wを同時に搬送可能である場合、中間報酬付与条件は、第1中間報酬付与条件を含んでもよい。例えば、搬送ロボットCRが4つのハンドを有する場合、搬送ロボットCRは2枚の基板Wを同時に搬送可能である。第1中間報酬付与条件は、搬送ロボットCRが互いに異なる基板Wを同時に搬送することを示す。したがって、最後に配置したパターンPTと更新前のパターンPTとの組み合わせが、搬送ロボットCRによる複数の基板Wの同時搬送を示す場合、最後に配置したパターンPTは、第1中間報酬付与条件に合致する。
【0111】
第1演算部111は、最後に配置したパターンPTが第1中間報酬付与条件に合致する場合、第1中間報酬を取得する。第1中間報酬は、第1中間報酬付与条件に対応する中間報酬である。第1中間報酬の値は記憶部113に予め記憶されている。第1中間報酬は、正(プラス)の報酬である。第1中間報酬付与条件によれば、基板処理装置WPの装置構成に特有の機能を発揮できるタイムスケジュールに対して報酬(中間報酬)を付与できるため、基板Wをより効率よく処理できるタイムスケジュールを作成することができる。
【0112】
続いて、第2中間報酬付与条件を説明する。基板処理装置WPが処理部PUを備える場合、中間報酬付与条件は、第2中間報酬付与条件を含んでもよい。第2中間報酬付与条件は、処理部PUから基板Wが搬出された直後に処理部PUに他の基板Wが搬入されることを示す。換言すると、第2中間報酬付与条件は、処理部PUにおいて基板Wが交換されたことを示す。したがって、最後に配置したパターンPTと更新前のパターンPTとの組み合わせが、処理部PUにおいて基板Wが交換されたことを示す場合、最後に配置したパターンPTは、第2中間報酬付与条件に合致する。
【0113】
第1演算部111は、最後に配置したパターンPTが第2中間報酬付与条件に合致する場合、第2中間報酬を取得する。第2中間報酬は、第2中間報酬付与条件に対応する中間報酬である。第2中間報酬の値は記憶部113に予め記憶されている。第2中間報酬は、正(プラス)の報酬である。第2中間報酬の値は、第1中間報酬と同じであってもよいし、異なっていてもよい。第2中間報酬付与条件によれば、処理部PUが連続動作するタイムスケジュールを作成することができる。したがって、基板Wをより効率よく処理できるタイムスケジュールを作成することができる。
【0114】
続いて、第3中間報酬付与条件を説明する。中間報酬付与条件は、第3中間報酬付与条件を含んでもよい。第3中間報酬付与条件は、第1パターンPT1の配置可能時刻TAが第2パターンPT2の配置可能時刻TAよりも早い時刻である場合に、タイムテーブルTBに第2パターンPT2が配置された後に第1パターンPT1が配置されることを示す。したがって、タイムテーブルTBに第2パターンPT2が配置された後に第1パターンPT1(最後に配置したパターンPT)が配置された場合、最後に配置したパターンPTは、第3中間報酬付与条件に合致する。
【0115】
第1演算部111は、最後に配置したパターンPTが第3中間報酬付与条件に合致する場合、第3中間報酬を取得する。第3中間報酬は、第3中間報酬付与条件に対応する中間報酬である。第3中間報酬の値は記憶部113に予め記憶されている。第3中間報酬は、負(マイナス)の報酬である。第3中間報酬付与条件によれば、基板Wを効率よく処理できないタイムスケジュールが作成される可能性を低減させることができる。
【0116】
続いて、図10を参照して、第3中間報酬付与条件の一例を説明する。図10は、図2に示す基板処理装置WPが2枚の基板W1、W2を処理する場合のタイムスケジュールを作成している途中のタイムテーブルTBの他例を示す図である。図10に示す例において、基板W2のパターンB(パターンB1)の配置可能時刻TA(t=1)は、基板W1のパターンH(パターンH1)の配置可能時刻TA(t=9)よりも早い時刻である。図10に示す例では、パターンH1が配置された後にパターンB1が配置される。したがって、第1演算部111は、パターンB1をタイムテーブルTBに配置して、タイムテーブルTBを更新した場合、第3中間報酬を取得する。
【0117】
続いて、図11を参照して、タイムテーブルTBにパターンPTを配置する処理(ステップS11)を説明する。図11は、タイムテーブルTBにパターンPTを配置する処理の流れを示すフロー図である。図11に示すように、タイムテーブルTBにパターンPTを配置する処理は、ステップS111~ステップS113を含む。
【0118】
タイムテーブルTBにパターンPTを配置する処理が開始すると、第1演算部111が、既定の制約条件に基づいて、未配置パターンNPTのうちから次配置可能パターンAPTを取得する(ステップS111)。制約条件は、例えば、第1制約条件及び第2制約条件を含んでもよい。第1制約条件は、処理手順の順序に従って、各パターンPTのうちから次に配置可能なパターンを取得させる条件である。第2制約条件は、基板処理装置WPが物理的に実行できない動作の実行を禁止する条件である。第1制約条件により、処理手順の順序に従って基板処理装置WPが動作するタイムスケジュールを確実に作成することができる。第2制約条件により、物理的に実行できない動作を含むタイムスケジュールが作成されることを防止できる。
【0119】
第1演算部111が次配置可能パターンAPTを取得すると、第2演算部112が、次配置可能パターンAPTのうちから、評価値が最大化するパターンを予測して選択する(ステップS112)。
【0120】
第2演算部112が次配置可能パターンAPTを選択すると、第1演算部111が、第2演算部112によって選択された次配置可能パターンAPTをタイムテーブルTBに配置して、タイムテーブルTBを更新する(ステップS113)。この結果、図11に示す処理が終了する。
【0121】
続いて、図12を参照して、タイムテーブルTBにパターンPTを配置する処理(ステップS11)の一例を説明する。図12は、タイムテーブルTBにパターンPTを配置する処理の流れの一例を示すフロー図である。図12に示す処理は、ステップS111a~ステップS113aを含む。
【0122】
図12に示すように、タイムテーブルTBにパターンPTを配置する処理が開始すると、第1演算部111が、既定の制約条件に基づいて、次配置可能パターンAPTの配置可能時刻TAを算出する(ステップS111a)。
【0123】
第1演算部111は、次配置可能パターンAPTの配置可能時刻TAを算出すると、次配置可能パターンAPTと、次配置可能パターンAPTの配置可能時刻TAとに基づいて、強化学習に用いるアクションACを生成して、第2演算部112に入力する(ステップS111b)。より詳しくは、第1演算部111により、アクションACと、現段階のタイムテーブルTBと、現段階の未配置パターンNPTとが第2演算部112に入力される。
【0124】
第1演算部111から、現段階のタイムテーブルTBを示す情報と、現段階の未配置パターンNPTを示す情報と、アクションACとが入力されると、第2演算部112は、アクションACのうちから、評価値が最大化するアクションACを予測して選択する(ステップS112a)。
【0125】
第2演算部112がアクションACを選択すると、第1演算部111は、第2演算部112によって選択されたアクションACに対応する次配置可能パターンAPTを配置可能時刻TAに合わせてタイムテーブルTBに配置して、タイムテーブルTBを更新する(ステップS113a)。この結果、図12に示す処理が終了する。
【0126】
続いて、図13を参照して、評価値を算出する処理(ステップS15)を説明する。図13は、評価値を算出する処理の流れを示すフロー図である。図13に示すように、評価値を算出する処理は、ステップS151~ステップS154を含む。
【0127】
評価値を算出する処理が開始すると、第1演算部111が、全パターンPTが配置されたタイムテーブルTBに対して中間報酬が付与されているか否かを判定する(ステップS151)。詳しくは、第1演算部111は、記憶部113に中間報酬の履歴が記憶されているか否かを判定する。
【0128】
第1演算部111は、中間報酬が付与されていると判定した場合(ステップS151のYes)、割引率割当処理を実行する(ステップS152)。詳しくは、第1演算部111は、中間報酬に割引率を割り当てるか否かを決定し、中間報酬に割引率を割り当てることを決定した場合、中間報酬に割引率を割り当てる。この結果、中間報酬の値が割引率に応じて減少し、第1演算部111は、割引後の中間報酬を取得する。一方、中間報酬に割引率を割り当てないことを決定した場合、中間報酬の値は維持される。
【0129】
第1演算部111は、中間報酬が付与されていないと判定した場合(ステップS151のNo)、最終報酬を取得する(ステップS153)。あるいは、第1演算部111は、割引率割当処理を実行した後に、最終報酬を取得する(ステップS153)。
【0130】
第1演算部111は、最終報酬を取得した後、評価値を算出して(ステップS154)、図13に示す処理を終了する。詳しくは、全パターンPTが配置されたタイムテーブルTBに対して中間報酬が付与されている場合、第1演算部111は、中間報酬と最終報酬とに基づいて評価値を算出する。全パターンPTが配置されたタイムテーブルTBに対して中間報酬が付与されていない場合、第1演算部111は、最終報酬に基づいて評価値を算出する。
【0131】
続いて、図14を参照して、割引率割当処理(ステップS152)を説明する。図14は、割引率割当処理の流れを示すフロー図である。図14に示すように、割引率割当処理は、ステップS1521~ステップS1525を含む。なお、割引率割当処理は、正の中間報酬に対して実行される。したがって、負の中間報酬には割引率は適用されず、負の中間報酬の値は維持される。
【0132】
割引率割当処理が開始すると、第1演算部111が、タイムテーブルTBによって示される時刻のうちから、中間報酬付与条件に合致するパターンPTの位置(パターンPTの配置位置)に対応する時刻(配置時刻)を取得する(ステップS1521)。以下、中間報酬付与条件に合致するパターンPTを、「条件合致パターンCPT」と記載する場合がある。
【0133】
第1演算部111は、配置時刻を取得すると、取得した配置時刻に基づいて、中間報酬に割引率を割り当てるか否かを決定する(ステップS1522)。具体的には、取得した配置時刻と、条件合致パターンCPTが出現可能な最も早い時刻(タイムテーブルTB上の時刻)とが一致するか否かを判定する。以下、条件合致パターンCPTが出現可能な最も早い時刻を、「目標時刻」と記載する場合がある。目標時刻は、記憶部113に予め記憶されている。
【0134】
第1演算部111は、取得した配置時刻と目標時刻とが一致しないと判定した場合、中間報酬に割引率を割り当てることを決定する(ステップS1522のYes)。第1演算部111は、中間報酬に割引率を割り当てることを決定した場合、取得した配置時刻に応じて割引率の値を算出する(ステップS1523)。具体的には、取得した配置時刻が目標時刻に対してより遅い時刻である程、割引率を大きくする。
【0135】
第1演算部111は、割引率の値を算出すると、割引率を中間報酬に割り当てる(ステップS1524)。その後、第1演算部111は、正の中間報酬の全てについて、割引率を割り当てるか否かを決定したか否かを判定する(ステップS1525)。
【0136】
あるいは、第1演算部111は、取得した配置時刻と目標時刻とが一致すると判定した場合、中間報酬に割引率を割り当てないことを決定する(ステップS1522のNo)。第1演算部111は、中間報酬に割引率を割り当てないことを決定した場合、正の中間報酬の全てについて、割引率を割り当てるか否かを決定したか否かを判定する(ステップS1525)。
【0137】
第1演算部111は、正の中間報酬の全てについて割引率を割り当てるか否かを決定していると判定した場合(ステップS1525のYes)、図14に示す処理を終了する。一方、正の中間報酬の一部について割引率を割り当てるか否かを決定していないと第1演算部111が判定した場合(ステップS1525のNo)、処理はステップS1521に戻る。したがって、正の中間報酬の全てについて割引率を割り当てるか否かを決定するまで、ステップS1521~ステップS1525の処理が繰り返される。
【0138】
続いて、図15を参照して、最終報酬を取得する処理(ステップS153)を説明する。図15は、最終報酬を取得する処理の流れを示すフロー図である。図15に示すように、最終報酬を取得する処理は、ステップS153aと、ステップS153bとを含む。
【0139】
第1演算部111は、ステップS153aにおいて、正の報酬である第1最終報酬を取得する。第1演算部111は、ステップS153bにおいて、正の報酬である第2最終報酬を取得する。第1演算部111は、第1最終報酬及び第2最終報酬を取得すると、図15に示す処理を終了する。
【0140】
続いて、図16を参照して、第1最終報酬を取得する処理(ステップS153a)を説明する。図16は、第1最終報酬を取得する処理の流れを示すフロー図である。図16に示すように、第1最終報酬を取得する処理は、ステップS1531a~ステップS1533aを含む。
【0141】
第1最終報酬を取得する処理を開始すると、第1演算部111は、全パターンPTが配置されたタイムテーブルTBに基づいて、複数の処理部PUのうちから、最後に基板Wを処理した最終処理部を特定する(ステップS1531a)。
【0142】
第1演算部111は、最終処理部を特定すると、タイムテーブルTBによって示される時刻のうちから、最終処理部が最後に基板Wを処理した時刻(最終時刻)を取得する(ステップS1532a)。
【0143】
第1演算部111は、最終時刻を取得すると、最終時刻に基づいて第1最終報酬を取得して(ステップS1533a)、図16に示す処理を終了する。具体的には、最終時刻がより早い時刻である程、第1最終報酬の値は大きくなる。つまり、既定枚数の基板Wをより短い時間で処理できるタイムスケジュールほど、第1最終報酬の値が大きくなる。したがって、第1最終報酬により、基板Wをより効率よく処理できるタイムスケジュールを作成することができる。
【0144】
続いて、図17を参照して、第2最終報酬を取得する処理(ステップS153b)を説明する。図17は、第2最終報酬を取得する処理の流れを示すフロー図である。図17に示すように、第2最終報酬を取得する処理は、ステップS1531b~ステップS1533bを含む。
【0145】
第2最終報酬を取得する処理を開始すると、第1演算部111は、タイムテーブルTBによって示される時刻のうちから、複数の処理部PUのそれぞれが最初に基板Wを処理した第1時刻T1と、複数の処理部PUのそれぞれが最後に基板Wを処理した第2時刻T2とを取得する(ステップS1531b)。
【0146】
第1演算部111は、第1時刻T1及び第2時刻T2を取得すると、複数の処理部PUのそれぞれの第1時刻T1から第2時刻T2までの経過時間を取得する(ステップS1532b)。
【0147】
第1演算部111は、複数の処理部PUのそれぞれの経過時間を取得すると、経過時間の分散に基づいて第2最終報酬を取得して(ステップS1533b)、図17に示す処理を終了する。具体的には、経過時間の分散が小さい程、第2最終報酬の値が大きくなる。したがって、第2最終報酬により、複数の処理部PUがより均等に使用されるタイムスケジュールを作成することができる。この結果、基板Wをより効率よく処理できるタイムスケジュールを作成することができる。
【0148】
以上、図1図17を参照して本発明の実施形態1を説明した。本実施形態によれば、スケジュールを作成する処理の一部を機械学習により実施できるので、開発者は、機種ごとにフロー全体を開発する必要がない。具体的には、開発者は、第1演算部111が実行する処理のフローを機種ごとに開発すればよい。したがって、開発者の負担を軽減できる。
【0149】
[実施形態2]
続いて図18を参照して本発明の実施形態2について説明する。但し、実施形態1と異なる事項を説明し、実施形態1と同じ事項についての説明は割愛する。実施形態2は、基板処理装置200Aがスケジュール作成装置100を備える点で実施形態1と異なる。
【0150】
図18は、本実施形態の基板処理装置200Aを示す図である。図18に示すように、基板処理装置200Aは、制御装置201Aを備える。制御装置201Aは、基板処理装置200Aの各構成要素を制御する。例えば、基板処理装置200Aは、図2に示す基板処理装置WPと同様に、4つの基板収容容器Cと、インデクサロボットIRと、搬送ロボットCRと、4つの処理部PUとを備えてもよい。この場合、制御装置201Aは、インデクサロボットIR、搬送ロボットCR、及び4つの処理部PUを制御する。
【0151】
制御装置201Aは、スケジュール作成装置100を含む。スケジュール作成装置100は、実施形態1で説明したように、基板Wの処理手順に関わる各構成要素のタイムスケジュールを作成する。例えば、スケジュール作成装置100は、インデクサロボットIR、搬送ロボットCR、及び4つの処理部PUのタイムスケジュールを作成する。
【0152】
より具体的には、制御装置201Aは、第1演算部111と、第2演算部112と、記憶部113とを含む。本実施形態において、記憶部113は、レシピデータを更に記憶する。レシピデータは、複数のレシピを示す情報を含む。複数のレシピの各々は、基板Wの処理内容及び処理手順等を規定する。また、第1演算部111は、レシピデータとタイムスケジュールとに基づいて、基板処理装置200Aの各構成要素を制御する。詳しくは、第1演算部111は、タイムスケジュールに基づいて基板処理装置200Aの各構成要素のスケジュールを管理する。
【0153】
以上、図18を参照して本発明の実施形態2を説明した。本実施形態によれば、実施形態1と同様に、スケジュールを作成する処理の一部を機械学習により実施できるので、開発者は、機種ごとにフロー全体を開発する必要がない。したがって、開発者の負担を軽減できる。
【0154】
なお、本実施形態では、スケジュール作成装置100の第1演算部111が基板処理装置200Aの各構成要素のスケジュールを管理したが、基板処理装置200Aは、スケジュール作成装置100とは別に、基板処理装置200Aの各構成要素のスケジュールを管理する制御部を更に備えてもよい。
【0155】
また、本実施形態では、スケジュール作成装置100の記憶部113がレシピデータを記憶したが、基板処理装置200Aは、スケジュール作成装置100の記憶部113とは別に、レシピデータを記憶する記憶部を更に備えてもよい。
【0156】
[実施形態3]
続いて図19を参照して本発明の実施形態3について説明する。但し、実施形態1、2と異なる事項を説明し、実施形態1、2と同じ事項についての説明は割愛する。実施形態3は、スケジュール作成装置100と基板処理装置200Bとが通信可能に接続されている点で実施形態1と異なる。
【0157】
図19は、本実施形態の基板処理システム300を示す図である。図19に示すように、基板処理システム300は、スケジュール作成装置100と、基板処理装置200Bとを備える。
【0158】
スケジュール作成装置100は、実施形態1で説明したように、基板Wの処理手順に関わる各構成要素のタイムスケジュールを作成する。本実施形態において、スケジュール作成装置100は、通信部123を更に備える。
【0159】
通信部123は、ネットワークに接続されて、基板処理装置200Bとの間で通信を実行する。ネットワークは、例えば、インターネット、LAN(Local Area Network)、公衆電話網、及び、近距離無線ネットワークを含む。通信部123は、通信機であり、例えば、ネットワークインターフェースコントローラーである。通信部123は、基板処理装置200Bへタイムスケジュールを送信する。
【0160】
基板処理装置200Bは、通信部202Bを備える。通信部202Bは、ネットワークに接続されて、スケジュール作成装置100の通信部123との間で通信を実行する。通信部202Bは、通信機であり、例えば、ネットワークインターフェースコントローラーである。通信部202Bは、基板処理装置200Bからタイムスケジュールを受信する。通信部202Bは、受信部の一例である。
【0161】
基板処理装置200Bは、制御装置201Bを更に備える。制御装置201Bは、基板処理装置200Bの各構成要素を制御する。例えば、基板処理装置200Bは、図2に示す基板処理装置WPと同様に、4つの基板収容容器Cと、インデクサロボットIRと、搬送ロボットCRと、4つの処理部PUとを備えてもよい。この場合、制御装置201Bは、インデクサロボットIR、搬送ロボットCR、及び4つの処理部PUを制御する。より具体的には、制御装置201Bは、制御部211と、記憶部212とを含む。
【0162】
制御部211は、プロセッサーを含む。制御部211は、例えば、CPU又はMPUを含む。あるいは、制御部211は、汎用演算機又は専用演算器を含み得る。制御部211は、記憶部212に記憶されている制御プログラム及びデータに基づいて、基板処理装置200Bの各構成要素を制御する。
【0163】
記憶部212は、制御プログラム及びデータを記憶する。制御プログラムは、コンピュータプログラムである。データは、レシピデータを含む。記憶部212は、主記憶装置を有する。主記憶装置は、例えば、半導体メモリである。記憶部212は、補助記憶装置を更に有してもよい。補助記憶装置は、例えば、半導体メモリ及びハードディスクドライブの少なくも一方を含む。記憶部212はリムーバブルメディアを含んでいてもよい。
【0164】
本実施形態において、制御部211は、通信部202Bが受信したタイムスケジュールを記憶部212に記憶させる。制御部211は、レシピデータとタイムスケジュールとに基づいて、基板処理装置200Bの各構成要素を制御する。より詳しくは、制御部211は、タイムスケジュールに基づいて基板処理装置200Bの各構成要素のスケジュールを管理する。制御部211は、管理部の一例である。
【0165】
以上、図19を参照して本発明の実施形態3を説明した。本実施形態によれば、実施形態1、2と同様に、スケジュールを作成する処理の一部を機械学習により実施できるので、開発者は、機種ごとにフロー全体を開発する必要がない。したがって、開発者の負担を軽減できる。
【0166】
以上、図面(図1図19)を参照して本発明の実施形態について説明した。ただし、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施できる。また、上記の実施形態に開示される複数の構成要素は適宜改変可能である。例えば、ある実施形態に示される全構成要素のうちのある構成要素を別の実施形態の構成要素に追加してもよく、又は、ある実施形態に示される全構成要素のうちのいくつかの構成要素を実施形態から削除してもよい。
【0167】
図面は、発明の理解を容易にするために、それぞれの構成要素を主体に模式的に示しており、図示された各構成要素の厚さ、長さ、個数、間隔等は、図面作成の都合上から実際とは異なる場合もある。また、上記の実施形態で示す各構成要素の構成は一例であって、特に限定されるものではなく、本発明の効果から実質的に逸脱しない範囲で種々の変更が可能であることは言うまでもない。
【0168】
例えば、図1図19を参照して説明した実施形態において、基板処理装置WP、基板処理装置200A及び基板処理装置200Bは枚葉式であったが、基板処理装置WP、基板処理装置200A及び基板処理装置200Bはバッチ式であってもよい。
【0169】
また、図1図19を参照して説明した実施形態では、タイムテーブルTBにブロック単位でパターンPTを配置したが、パターンPTはタイムテーブルTBにパターン単位で配置されてもよい。
【0170】
また、図1図19を参照して説明した実施形態において、報酬は最終報酬と中間報酬とを含むが、報酬は、最終報酬と中間報酬とのうち、最終報酬のみを含んでもよい。
【0171】
また、図1図19を参照して説明した実施形態では、正の中間報酬に割引率が適用されたが、中間報酬に割引率を適用しなくてもよい。
【0172】
また、図1図19を参照して説明した実施形態では、配置時刻に応じて割引率が変化したが、割引率は一定値であってもよい。
【0173】
また、図1図19を参照して説明した実施形態において、最終報酬は第1最終報酬と第2最終報酬とを含むが、最終報酬は、第1最終報酬と第2最終報酬とのうちの一方のみを含んでもよい。
【0174】
また、図1図19を参照して説明した実施形態において、スケジュール作成装置100は、2つの演算部(第1演算部111及び第2演算部112)を備えたが、スケジュール作成装置100は演算部を1つ備えてもよい。この場合、1つの演算部により、第1演算部111が実行する処理と、第2演算部112が実行する処理とが実行される。
【実施例
【0175】
以下、実施例を用いて本発明を更に具体的に説明する。なお、本発明は実施例の範囲に何ら限定されない。
【0176】
図20は、本実施例で使用したパターンPTを示す図である。図21は、本実施例で作成されたタイムスケジュールを示す図である。図22は、本実施例で得られた学習曲線を示す図である。図22において、横軸は、学習回数(学習ステップを繰り返した回数)を示す。縦軸は、得られた報酬を示す。
【0177】
本実施例において強化学習の環境として与えたタイムテーブルTBに対応する基板処理装置WPは、搬送ロボットCRと、4つの処理部PU(処理部PU1~PU4)とを備える。また、搬送ロボットCRは、独立して動作可能な4つのハンド(CRハンド1~4)を有する。
【0178】
制約条件として、以下の表4に示す制約条件1~9を与えた。
【表4】
【0179】
パターンPTとして、図20に示すパターンA~Eを与えた。パターンAは、未処理の基板Wを搬送するハンドが、未処理の基板Wを把持する処理を示す。パターンBは、未処理の基板Wを搬送するハンドが、未処理の基板Wを搬送して処理部PUに搬入する処理を示す。パターンCは、処理部PU内に未処理の基板Wが搬入され、処理部PUが未処理の基板Wを処理し、処理部PUから処理後の基板Wが搬出される処理を示す。パターンDは、処理後の基板Wを搬送するハンドが、処理後の基板Wを把持する処理を示す。パターンEは、処理後の基板Wを搬送するハンドが、処理後の基板Wを搬送して処理部PUから処理後の基板Wを搬出する処理を示す。
【0180】
本実施例では、報酬として、実施形態1で説明した第1中間報酬~第3中間報酬、第1最終報酬、及び第2最終報酬を与えた。更に、本実施例では、第1中間報酬及び第2中間報酬に対し、実施形態1で説明した割引率を適用した。
【0181】
本実施例では、8枚の基板Wを処理するタイムスケジュールを作成した。図21に示すタイムテーブルTBは、本実施例において評価値が最も高くなったタイムスケジュールを示す。図21に示すように、基板Wを効率よく処理できるタイムスケジュールを作成できた。また、図22に示すように、学習ステップをおよそ5000回繰り返すことで、報酬が目標値で安定した。
【産業上の利用可能性】
【0182】
本発明は、基板処理装置のタイムスケジュールを作成する技術に適用できる。
【符号の説明】
【0183】
100 :スケジュール作成装置
111 :第1演算部
112 :第2演算部
200 :基板処理装置
200A :基板処理装置
200B :基板処理装置
201A :制御装置
201B :制御装置
202B :通信部
211 :制御部
212 :記憶部
300 :基板処理システム
APT :次配置可能パターン
CR :搬送ロボット
NPT :未配置パターン
PT :パターン
PU :処理部
PU1 :処理部
PU2 :処理部
PU3 :処理部
PU4 :処理部
T1 :第1時刻
T2 :第2時刻
TA :配置可能時刻
TB :タイムテーブル
W :基板
W1 :基板
W2 :基板
WP :基板処理装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22