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

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

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

特開2024-138715スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム
<>
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図1
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図2
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図3
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図4
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図5
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図6
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図7
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図8
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図9
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図10
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図11
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図12
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図13
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図14
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図15
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図16
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図17
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図18
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図19
  • 特開-スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138715
(43)【公開日】2024-10-09
(54)【発明の名称】スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241002BHJP
   G06Q 50/04 20120101ALI20241002BHJP
   G06N 3/092 20230101ALN20241002BHJP
【FI】
G06N20/00
G06Q50/04
G06N3/092
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023049347
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(74)【代理人】
【識別番号】100168583
【弁理士】
【氏名又は名称】前井 宏之
(72)【発明者】
【氏名】河合 淳
(72)【発明者】
【氏名】笠原 敬
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC03
5L050CC03
(57)【要約】
【課題】開発者の負担を軽減できるスケジュール作成プログラム生成方法を提供する。
【解決手段】スケジュール作成プログラム生成方法は、基板処理装置WPに含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムPL2を強化学習により生成する。当該方法は、強化学習により、配置工程(S11)と報酬決定工程(S12)とを含む経験ステップを繰り返して報酬の値を大きくする工程と、タイムスケジュールの時間長と報酬の値との関係を規定する報酬関数を変更する変更工程(S14)とを含む。配置工程(S11)は、基板Wの各々に予め与えられた複数の計画要素BLをタイムテーブルTBに順次配置する工程を示す。報酬決定工程(S12)は、報酬関数に基づいて報酬の値を決定する工程を示す。変更工程(S14)は、一部の区間TSにおける勾配が変更前と比べて大きくなるように報酬関数を変更する工程を含む。
【選択図】図8
【特許請求の範囲】
【請求項1】
基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを強化学習により生成するスケジュール作成プログラム生成方法であって、
前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有され、
当該スケジュール作成プログラム生成方法は、
前記強化学習により、配置工程と報酬決定工程とを含む経験ステップを繰り返して報酬の値を大きくする工程と、
前記タイムスケジュールの時間長と前記報酬の値との関係を規定する報酬関数を変更する変更工程と
を含み、
前記配置工程は、前記基板の各々に予め与えられた複数の計画要素を、前記タイムスケジュールを規定するためのタイムテーブルに順次配置して、前記タイムテーブルの状態を順次変化させる工程を示し、
前記報酬決定工程は、前記報酬関数と、全ての前記計画要素が配置された前記タイムテーブルの最終状態とに基づいて、前記報酬の値を決定する工程を示し、
前記タイムスケジュールは、前記タイムテーブルの最終状態に対応し、
前記変更工程は、前記報酬の最大値に対応する前記タイムスケジュールの時間長から、前記報酬の最小値に対応する前記タイムスケジュールの時間長までの時間範囲の一部の区間における勾配が変更前と比べて大きくなるように前記報酬関数を変更する工程を含む、スケジュール作成プログラム生成方法。
【請求項2】
前記変更工程は、前記時間範囲の一部の区間における勾配が、前記時間範囲の全区間を一次関数で規定する場合の勾配より大きくなる前記報酬関数へ変更する工程を含む、請求項1に記載のスケジュール作成プログラム生成方法。
【請求項3】
複数の前記変更工程を含み、
前記変更工程が行われる度に、前記時間範囲の一部の区間における勾配が現段階の勾配より大きくなる前記報酬関数に変更する、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法。
【請求項4】
前記変更工程は、前記一部の区間をシフトさせる工程を更に含む、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法。
【請求項5】
前記複数の構成要素は、
前記基板を処理する複数の基板処理部と、
前記基板を搬送する搬送部と
を含み、
前記複数の計画要素は、
前記搬送部によって前記基板処理部のいずれかに前記基板を搬入して、前記基板処理部のいずれかによって前記基板を処理する第1計画要素と、
前記基板処理部によって処理された後の前記基板を、前記搬送部によって前記基板処理部から搬出させる第2計画要素と
を含む、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法。
【請求項6】
前記第1計画要素の時間長は、前記第2計画要素より長い、請求項5に記載のスケジュール作成プログラム生成方法。
【請求項7】
前記複数の計画要素は、前記基板処理部の各々に対応する計画要素を含み、
前記配置工程において、前記基板処理部の各々に対応する計画要素のうちの一つが選択される、請求項5に記載のスケジュール作成プログラム生成方法。
【請求項8】
基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを強化学習により生成するスケジュール作成プログラム生成装置であって、
請求項1又は請求項2に記載のスケジュール作成プログラム生成方法を規定する生成プログラムを記憶する記憶部と、
前記生成プログラムを実行して前記スケジュール作成プログラムを生成する処理部と
を備える、スケジュール作成プログラム生成装置。
【請求項9】
基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成するスケジュール作成装置であって、
請求項1又は請求項2に記載のスケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記憶する記憶部と、
前記スケジュール作成プログラムを実行して前記タイムスケジュールを作成する処理部と
を備える、スケジュール作成装置。
【請求項10】
コンピュータ読み取り可能な記録媒体であって、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法を規定する生成プログラムを記録する、記録媒体。
【請求項11】
コンピュータ読み取り可能な記録媒体であって、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記録する、記録媒体。
【請求項12】
コンピュータによって実行可能であり、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法を規定する生成プログラム。
【請求項13】
コンピュータによって実行可能であり、請求項1又は請求項2に記載のスケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラム。
【請求項14】
複数の基板を処理する際に前記基板によって占有される複数の構成要素と、
請求項1又は請求項2に記載のスケジュール作成プログラム生成方法を規定する生成プログラムを記憶する記憶部と、
前記生成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを生成する処理部と
を備え、
前記処理部は、前記スケジュール作成プログラムを実行して前記タイムスケジュールを作成する、基板処理装置。
【請求項15】
複数の基板を処理する際に前記基板によって占有される複数の構成要素と、
請求項1又は請求項2に記載のスケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記憶する記憶部と、
前記スケジュール作成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成する処理部と
を備える、基板処理装置。
【請求項16】
基板処理装置と、
請求項8に記載のスケジュール作成プログラム生成装置と
を備え、
前記スケジュール作成プログラム生成装置は、前記スケジュール作成プログラムを前記基板処理装置へ送信する送信部を更に備え、
前記基板処理装置は、
複数の基板を処理する際に前記基板によって占有される複数の構成要素と、
前記スケジュール作成プログラム生成装置の前記送信部から送信された前記スケジュール作成プログラムを受信する受信部と、
前記スケジュール作成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成する処理部と
を備える、基板処理システム。
【請求項17】
基板処理装置と、
請求項9に記載のスケジュール作成装置と
を備え、
前記スケジュール作成装置は、前記タイムスケジュールを前記基板処理装置へ送信する送信部を更に備え、
前記基板処理装置は、
複数の基板を処理する際に前記基板によって占有される複数の構成要素と、
前記スケジュール作成装置の前記送信部から送信された前記タイムスケジュールを受信する受信部と
を備える、基板処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システムに関する。
【背景技術】
【0002】
基板処理装置のスケジュール作成方法が知られている(例えば、特許文献1参照。)。基板処理装置のスケジュール作成方法は、基板処理装置の各構成要素のタイムスケジュールを作成する方法である。基板処理装置のスケジュール作成方法によれば、基板処理装置が基板単位(1枚単位)又はロット単位(例えば、25枚単位)で基板を効率的に処理できるようにタイムスケジュールを作成することができる。特許文献1のスケジュール作成方法は、バッチ式の基板処理装置に適用される。具体的には、特許文献1のスケジュール作成方法は、基板処理装置の各構成要素のタイムスケジュールをロット単位で作成する。
【0003】
基板処理装置のスケジュール作成方法は、CPU(Central Processing Unit)及びカウンタ・タイマ等を含む制御部がコンピュータプログラムを実行することにより実施される。したがって、スケジュール作成方法の開発者は、プロセッサが実行する処理のフローを開発する。具体的には、開発者は、基板処理装置の装置構成を考慮してルール(制約)を決定し、決定したルールが反映されたタイムスケジュールを作成できるように、プロセッサが実行する処理のフローを開発する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-48320号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、基板処理装置の装置構成を考慮してルール(制約)を決定し、決定したルールが反映されたタイムスケジュールを作成できるように、プロセッサが実行する処理のフローを開発する場合、機種ごとに装置構成が異なるため、開発者は、機種ごとにフロー全体を開発する必要がある。したがって、開発者の負担を考慮すれば、更なる改良の余地がある。
【0006】
本発明は上記課題に鑑みてなされたものであり、その目的は、開発者の負担を軽減できるスケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一局面によれば、スケジュール作成プログラム生成方法は、基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを強化学習により生成する。前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有される。当該スケジュール作成プログラム生成方法は、前記強化学習により、配置工程と報酬決定工程とを含む経験ステップを繰り返して報酬の値を大きくする工程と、前記タイムスケジュールの時間長と前記報酬の値との関係を規定する報酬関数を変更する変更工程とを含む。前記配置工程は、前記基板の各々に予め与えられた複数の計画要素を、前記タイムスケジュールを規定するためのタイムテーブルに順次配置して、前記タイムテーブルの状態を順次変化させる工程を示す。前記報酬決定工程は、前記報酬関数と、全ての前記計画要素が配置された前記タイムテーブルの最終状態とに基づいて、前記報酬の値を決定する工程を示す。前記タイムスケジュールは、前記タイムテーブルの最終状態に対応する。前記変更工程は、前記報酬の最大値に対応する前記タイムスケジュールの時間長から、前記報酬の最小値に対応する前記タイムスケジュールの時間長までの時間範囲の一部の区間における勾配が変更前と比べて大きくなるように前記報酬関数を変更する工程を含む。
【0008】
ある実施形態において、前記変更工程は、前記時間範囲の一部の区間における勾配が、前記時間範囲の全区間を一次関数で規定する場合の勾配より大きくなる前記報酬関数へ変更する工程を含む。
【0009】
ある実施形態において、上記スケジュール作成プログラム生成方法は、複数の前記変更工程を含む。前記変更工程が行われる度に、前記時間範囲の一部の区間における勾配が現段階の勾配より大きくなる前記報酬関数に変更する。
【0010】
ある実施形態において、前記変更工程は、前記一部の区間をシフトさせる工程を更に含む。
【0011】
ある実施形態において、前記複数の構成要素は、複数の基板処理部と、搬送部とを含む。前記基板処理部はそれぞれ、前記基板を処理する。前記搬送部は、前記基板を搬送する。前記複数の計画要素は、第1計画要素と、第2計画要素とを含む。前記第1計画要素は、前記搬送部によって前記基板処理部のいずれかに前記基板を搬入して、前記基板処理部のいずれかによって前記基板を処理する計画を示す。前記第2計画要素は、前記基板処理部によって処理された後の前記基板を、前記搬送部によって前記基板処理部から搬出させる計画を示す。
【0012】
ある実施形態において、前記第1計画要素の時間長は、前記第2計画要素より長い。
【0013】
ある実施形態において、前記複数の計画要素は、前記基板処理部の各々に対応する計画要素を含む。前記配置工程において、前記基板処理部の各々に対応する計画要素のうちの一つが選択される。
【0014】
本発明の一局面によれば、スケジュール作成プログラム生成装置は、基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを強化学習により生成する。当該スケジュール作成プログラム生成装置は、記憶部と、処理部とを備える。前記記憶部は、上記スケジュール作成プログラム生成方法を規定する生成プログラムを記憶する。前記処理部は、前記生成プログラムを実行して前記スケジュール作成プログラムを生成する。
【0015】
本発明の一局面によれば、スケジュール作成装置は、基板処理装置に含まれる複数の構成要素のタイムスケジュールを作成する。当該スケジュール作成装置は、記憶部と、処理部とを備える。前記記憶部は、上記スケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記憶する。前記処理部は、前記スケジュール作成プログラムを実行して前記タイムスケジュールを作成する。
【0016】
本発明の一局面によれば、記録媒体は、コンピュータ読み取り可能な記録媒体である。当該記録媒体は、上記スケジュール作成プログラム生成方法を規定する生成プログラムを記録する。
【0017】
本発明の他の局面によれば、記録媒体は、コンピュータ読み取り可能な記録媒体である。当該記録媒体は、上記スケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記録する。
【0018】
本発明の一局面によれば、生成プログラムは、コンピュータによって実行可能である。当該生成プログラムは、上記スケジュール作成プログラム生成方法を規定する。
【0019】
本発明の一局面によれば、スケジュール作成プログラムは、コンピュータによって実行可能である。当該スケジュール作成プログラムは、上記スケジュール作成プログラム生成方法に基づいて生成される。
【0020】
本発明の一局面によれば、基板処理装置は、複数の構成要素と、記憶部と、処理部とを備える。前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有される。前記記憶部は、上記スケジュール作成プログラム生成方法を規定する生成プログラムを記憶する。前記処理部は、前記生成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムを生成する。前記処理部は、前記スケジュール作成プログラムを実行して前記タイムスケジュールを作成する。
【0021】
本発明の他の局面によれば、基板処理装置は、複数の構成要素と、記憶部と、処理部とを備える。前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有される。前記記憶部は、上記スケジュール作成プログラム生成方法に基づいて生成されたスケジュール作成プログラムを記憶する。前記処理部は、前記スケジュール作成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成する。
【0022】
本発明の一局面によれば、基板処理システムは、基板処理装置と、上記スケジュール作成プログラム生成装置とを備える。上記スケジュール作成プログラム生成装置は、前記スケジュール作成プログラムを前記基板処理装置へ送信する送信部を更に備える。前記基板処理装置は、複数の構成要素と、受信部と、処理部とを備える。前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有される。前記受信部は、前記スケジュール作成プログラム生成装置の前記送信部から送信された前記スケジュール作成プログラムを受信する。前記処理部は、前記スケジュール作成プログラムを実行して、前記複数の構成要素のタイムスケジュールを作成する。
【0023】
本発明の他の局面によれば、基板処理システムは、基板処理装置と、上記スケジュール作成装置とを備える。上記スケジュール作成装置は、前記タイムスケジュールを前記基板処理装置へ送信する送信部を更に備える。前記基板処理装置は、複数の構成要素と、受信部とを備える。前記複数の構成要素は、複数の基板を処理する際に前記基板によって占有される。前記受信部は、前記スケジュール作成装置の前記送信部から送信された前記タイムスケジュールを受信する。
【発明の効果】
【0024】
本発明に係るスケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システムによれば、開発者の負担を軽減することができる。
【図面の簡単な説明】
【0025】
図1】(a)及び(b)は、本発明の実施形態1に係るスケジュール作成プログラム生成装置を含むスケジュール作成プログラム生成システムを示す図である。
図2】本発明の実施形態1に係るスケジュール作成プログラムを適用する対象の基板処理装置の一例を示す図である。
図3】処理手順、処理時間、及び計画要素の一例を示す図である。
図4図3に示す第2計画要素の詳細を示す図である。
図5図2に示す基板処理装置に対応するタイムテーブルの一例を示す図である。
図6】タイムスケジュールを作成する処理の流れの一例を示す図である。
図7】強化学習システムを示すブロック図である。
図8】本発明の実施形態1に係るスケジュール作成プログラム生成方法を示すフローチャートである。
図9】タイムスケジュール作成処理を示すフローチャートである。
図10】アクションのうちの1つをランダムに選択して計画要素をタイムテーブルに配置する処理を示すフローチャートである。
図11】報酬を最も大きくするアクションを予測して計画要素をタイムテーブルに配置する処理を示すフローチャートである。
図12】(a)は、変更処理に含まれる第1変更処理を示すフローチャートである。(b)は、変更処理に含まれる第2変更処理を示すフローチャートである。
図13】第1変更処理の一例を示す図である。
図14】第1変更処理の他例を示す図である。
図15】第2変更処理の一例を示す図である。
図16】変更処理の他例を示す図である。
図17】本発明の実施形態1に係る基板処理装置を含む基板処理システムを示す図である。
図18】本発明の実施形態2に係る基板処理装置を含む基板処理システムを示す図である。
図19】本発明の実施形態3に係る基板処理システムを示す図である。
図20】本発明の実施形態4に係る基板処理システムを示す図である。
【発明を実施するための形態】
【0026】
以下、図面(図1図20)を参照して本発明のスケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システムに係る実施形態を説明する。但し、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。なお、説明が重複する箇所については、適宜説明を省略する場合がある。また、図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
【0027】
本発明の実施形態における「基板」には、半導体ウエハ、フォトマスク用ガラス基板、液晶表示用ガラス基板、プラズマ表示用ガラス基板、FED(Field Emission Display)用基板、光ディスク用基板、磁気ディスク用基板、及び光磁気ディスク用基板などの各種基板を適用可能である。以下では主として、円盤状の半導体ウエハの処理に用いられるスケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システムを例に本発明の実施形態を説明するが、上に例示した各種の基板の処理にも同様に適用可能である。また、基板の形状についても各種のものを適用可能である。
【0028】
[実施形態1]
以下、図1図17を参照して、本発明の実施形態1を説明する。図1(a)及び図1(b)は、本実施形態のスケジュール作成プログラム生成装置100を含むスケジュール作成プログラム生成システム100Aを示す図である。詳しくは、図1(a)は、スケジュール作成プログラムPL2を作成する前のスケジュール作成プログラム生成システム100Aを示す。図1(b)は、スケジュール作成プログラムPL2を作成した後のスケジュール作成プログラム生成システム100Aを示す。
【0029】
図1(a)に示すように、スケジュール作成プログラム生成システム100Aは、スケジュール作成プログラム生成装置100と、記録媒体110とを備える。
【0030】
記録媒体110は、コンピュータによって読み取り可能である。記録媒体110は、コンピュータに実行させるプログラム(コンピュータプログラム)を非一時的に記録する。記録媒体110は、生成プログラムPL1を格納している。生成プログラムPL1は、コンピュータによって実行可能なコンピュータプログラムである。
【0031】
記録媒体110は、例えば、SDメモリカード及びUSB(Universal Serial Bus)メモリのような半導体メモリを含む媒体であってもよいし、ハードディスクドライブのような磁気ディスクを含む媒体であってもよい。あるいは、記録媒体110は、CD(Compact Disk)、DVD(Digital Versatile Disk)、及びブルーレイディスクのような光ディスクであってもよい。あるいは、記録媒体110は、他のコンピュータシステムに搭載された主記憶装置又は補助記憶装置であってもよい。
【0032】
スケジュール作成プログラム生成装置100は、生成プログラムPL1に基づいて、基板処理装置WPに含まれる複数の構成要素のタイムスケジュールを作成するためのスケジュール作成プログラムPL2を生成する。より具体的には、生成プログラムPL1は、強化学習用のプログラムを含む。スケジュール作成プログラム生成装置100は、強化学習によりスケジュール作成プログラムPL2を生成する。スケジュール作成プログラム生成装置100は、例えば、汎用のコンピュータシステムであってもよいし、専用のコンピュータシステムであってもよい。
【0033】
図1(a)に示すように、スケジュール作成プログラム生成装置100は、入力部101と、記憶部102と、インターフェイス部103と、表示部104と、演算処理部105とを備える。
【0034】
インターフェイス部103は、記録媒体110との間で情報、データ、又は信号を遣り取りする。具体的には、インターフェイス部103は、記録媒体110から生成プログラムPL1を読み出して演算処理部105に入力する。この結果、スケジュール作成プログラム生成装置100に生成プログラムPL1がインストールされる。また、図1(b)に示すように、インターフェイス部103は、スケジュール作成プログラムPL2を記録媒体110に担持させる。
【0035】
例えば、インターフェイス部103は、記録媒体110と電気的に接続して、記録媒体110との間で情報、データ、又は信号の入出力を行ってもよい。例えば、インターフェイス部103は、スロット及びUSB端子を含み得る。スロットには、例えば、SDメモリカードのようなカード状の情報担持体が差し込まれてもよい。USB端子には、例えば、USBメモリが差し込まれてもよいし、一端がハードディスクドライブと電気的に接続されたUSBケーブルの他端が差し込まれてもよい。あるいは、インターフェイス部103は、光ディスクドライブを含んでもよい。光ディスクドライブは、CD及びDVD、ブルーレイディスクから情報(データ)を読み出す。また、光ディスクドライブは、CD及びDVD、ブルーレイディスクに情報(データ)を書き込む。
【0036】
また、インターフェイス部103は、他のコンピュータシステムから生成プログラムPL1を受信してもよい。例えば、インターフェイス部103は、他のコンピュータシステムとケーブルを介して通信可能に接続してもよいし、他のコンピュータシステムとインターネット網等の回線網を介して通信可能に接続してもよい。
【0037】
入力部101は、作業者が操作するユーザーインターフェース装置を含む。入力部101は、作業者の操作に応じた信号を演算処理部105に入力する。入力部101は、例えば、キーボード及びマウスを含む。入力部101は、表示部104の表示面に重畳されるタッチセンサを含んでもよい。表示部104の表示面にタッチセンサが重畳されることにより、グラフィカルユーザーインターフェースが構成されてもよい。
【0038】
作業者は、例えば、入力部101を操作して、生成プログラムPL1のインストールを指示することができる。作業者は、入力部101を操作して、強化学習の開始を指示することができる。作業者は、入力部101を操作して、強化学習を終了する条件を設定することができる。例えば、強化学習を終了する条件として、タイムスケジュールの作成(試行)を繰り返す回数に対する閾値が設定されてもよい。この場合、タイムスケジュールを作成した回数(試行の回数)が、設定された閾値に到達すると、強化学習が終了する。以下、強化学習を終了する条件として設定される閾値を、「第1閾値」と記載する場合がある。
【0039】
本実施形態では、強化学習の1回のステップにおいて、1つのタイムスケジュールが作成される。換言すると、タイムスケジュールが作成されることにより、強化学習の1つのエピソードが終了する。よって、タイムスケジュールの作成(試行)を繰り返す回数は、強化学習のステップを繰り返す回数に対応する。
【0040】
表示部104は、演算処理部105によって制御されて、各種の画面を表示する。具体的には、表示部104は、学習曲線を表示してもよい。学習曲線は、強化学習のステップ数と報酬との関係を示す。表示部104は、例えば、液晶表示装置又は有機EL(electroluminescence)表示装置のような表示装置を含む。
【0041】
記憶部102は、主記憶装置を有する。主記憶装置は、例えば、半導体メモリを含む。記憶部102は、補助記憶装置を更に有してもよい。補助記憶装置は、例えば、半導体メモリ及びハードディスクドライブの少なくも一方を含む。記憶部102はリムーバブルメディアを含んでもよい。記憶部102は、各種のコンピュータプログラム及び各種のデータを記憶する。具体的には、記憶部102は、生成プログラムPL1を記憶する。また、記憶部102は、強化学習を終了する条件を記憶する。例えば、記憶部102は、強化学習を終了する条件として、作業者が入力部101を操作して設定した第1閾値を記憶する。
【0042】
既に説明したように、生成プログラムPL1は、強化学習用のプログラムを含む。強化学習のアルゴリズムは、特に限定されるものではないが、例えば、Q学習、SARSA法、方策勾配法、Actor-Critic法、又はモンテカルロ法に準拠するアルゴリズムであり得る。
【0043】
強化学習のニューラルネットワークには、ディープラーニングを行うニューラルネットワークが含まれてもよい。具体的には、ニューラルネットワークは、ディープニューラルネットワーク(DNN:Deep Neural Network)、ディープQネットワーク(DQN:Deep Q-Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、又は、量子ニューラルネットワーク(QNN:Quantum Neural Network)を含み得る。例えば、ディープニューラルネットワークは、入力層、複数の中間層(隠れ層)、及び、出力層を含む。
【0044】
演算処理部105は、プロセッサを含む。演算処理部105は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、NPU(Neural Network Processing Unit)、又は、量子コンピュータを含み得る。あるいは、演算処理部105は、汎用演算機又は専用演算器を含み得る。例えば、演算処理部105は、FPGA(Field-Programmable Gate Array)、又は、ASIC(Application Specific Integrated Circuit)を含んでもよい。
【0045】
演算処理部105は、記憶部102に記憶されている生成プログラムPL1を実行して、スケジュール作成プログラムPL2を生成する。演算処理部105は、スケジュール作成プログラムPL2を記録媒体110に記録させる。
【0046】
具体的には、演算処理部105は、強化学習の各ステップにおいて、図5を参照して説明するタイムテーブルTBに、図3及び図4を参照して説明する複数の計画要素BLを配置して、基板処理装置WPに含まれる複数の構成要素のタイムスケジュールを作成する。つまり、演算処理部105は、強化学習により、タイムスケジュールを作成する試行を繰り返す。
【0047】
例えば、演算処理部105は、基板Wごとに4つの計画要素BLをタイムテーブルTBに配置する条件の下、25枚の基板Wを処理するタイムスケジュールを作成する試行を繰り返す場合、強化学習の各ステップにおいて、タイムテーブルTBに100個の計画要素BLを配置する。タイムテーブルTBを示す情報は、記憶部102に記憶される。タイムテーブルTBを示す情報は、生成プログラムPL1に含まれてもよいし、作業者が入力部101を操作して入力してもよい。
【0048】
詳しくは、生成プログラムPL1には、タイムスケジュールの時間長が短いほど高い報酬を与えるように規定された報酬関数が含まれる。演算処理部105は、報酬関数を参照して、タイムスケジュールを作成する度に報酬を取得する。演算処理部105は、強化学習のステップ(試行)を繰り返す過程で、報酬の値が最大化するようにニューラルネットワークのパラメータ(重み付け係数)を調整する。換言すると、演算処理部105は、タイムスケジュールの時間長が短くなるようにニューラルネットワークのパラメータを調整する。この結果、スケジュール作成プログラムPL2(学習済みモデル)が生成される。このように生成されたスケジュール作成プログラムPL2を用いてタイムスケジュールを作成することにより、所定枚数の基板Wの処理をより短い期間で完了させるタイムスケジュールを作成することができる。
【0049】
続いて、図2を参照して、スケジュール作成プログラムPL2を適用する対象の基板処理装置WPの一例を説明する。図2は、本実施形態のスケジュール作成プログラムPL2を適用する対象の基板処理装置WPの一例を示す図である。
【0050】
図2に示す基板処理装置WPは、枚葉式の装置であり、基板Wを一枚ずつ処理する。図2に示す基板処理装置WPは、4つのロードポートLPと、インデクサロボットIRと、受渡部PSと、搬送ロボットCRと、4つの基板処理部PU(第1基板処理部PU1~第4基板処理部PU4)とを含む。
【0051】
ロードポートLPにはそれぞれ基板収容容器CAがドッキングする。基板収容容器CAはそれぞれ複数の基板Wを積層状態で収容する。具体的には、複数の基板Wは、基板収容容器CA内で、水平姿勢で互いに間隔を開けて鉛直方向に積層される。ここで、水平姿勢とは、基板Wの厚み方向が鉛直方向に沿う状態を示す。基板収容容器CAは、例えば、FOUP(Front Opening Unified Pod)であってもよいし、SMIF(Standard Mechanical Inter Face)ポッドであってもよいし、OC(Open Cassette)であってもよい。
【0052】
インデクサロボットIRは、未処理の基板Wを基板収容容器CAから受渡部PSに搬送する。また、インデクサロボットIRは、処理後の基板Wを受渡部PSから基板収容容器CAに搬送する。ここで、未処理の基板Wは、基板処理部PUによって処理される前の基板Wを示す。処理後の基板Wは、基板処理部PUによって処理された後の基板Wを示す。インデクサロボットIRは、「搬送部」の一例である。
【0053】
インデクサロボットIRは、2つのハンド(ハンド8A、8B)を含む。ハンド8A、8Bはそれぞれ1枚の基板Wを把持する。詳しくは、ハンド8Aは、未処理の基板Wを把持する。ハンド8Bは、処理後の基板Wを把持する。なお、ハンド8A、8Bは上下に重なるように配置されてもよいが、図2では、明瞭化のために、ハンド8A、8Bを紙面に平行な方向(水平方向)にずらしている。
【0054】
受渡部PSは、基板Wを支持する複数の棚を有する。詳しくは、受渡部PSは、未処理の基板Wを支持する少なくとも1つの棚と、処理後の基板Wを支持する少なくとも1つの棚とを有する。本実施形態では、受渡部PSは、未処理の基板Wを支持する1つの棚と、処理後の基板Wを支持する1つの棚とを有する。以下、未処理の基板Wを支持する棚を「棚PS1」と記載する場合がある。また、処理後の基板Wを支持する棚を「棚PS2」と記載する場合がある。
【0055】
搬送ロボットCRは、未処理の基板Wを受渡部PSから基板処理部PUのいずれか1つに搬送する。また、搬送ロボットCRは、処理後の基板Wを基板処理部PUから受渡部PSに搬送する。搬送ロボットCRは、「搬送部」の一例である。具体的には、搬送ロボットCRは、2つのハンド(ハンド13A、13B)を含む。ハンド13A、13Bはそれぞれ1枚の基板Wを把持する。詳しくは、ハンド13Aは、未処理の基板Wを把持する。ハンド13Bは、処理後の基板Wを把持する。なお、ハンド13A、13Bは上下に重なるように配置されてもよいが、図2では、明瞭化のために、ハンド13A、13Bを紙面に平行な方向(水平方向)にずらしている。
【0056】
基板処理部PUは、基板Wを1枚ずつ処理する。基板Wは、4つの基板処理部PU(第1基板処理部PU1~第4基板処理部PU4)のいずれかによって処理される。基板処理部PUが実行する処理の内容は特に限定されず、例えば、基板処理部PUは、基板Wに対して、処理剤(処理液又は処理ガス、あるいは処理液及び処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、あるいは、物理洗浄処理(ブラシ洗浄又はスプレーノズル洗浄等)を施す。例えば、基板処理部PUは、基板Wに対して、薬液洗浄処理、ブラシ洗浄処理、ウェットエッチング処理、ドライエッチング処理、感光膜塗布処理、現像処理、アニール処理、及び描画処理のいずれかの基板処理を実行してもよい。
【0057】
続いて、図3及び図4を参照して、処理手順PD、処理時間PT、及び計画要素BLを説明する。図3は、処理手順PD、処理時間PT、及び計画要素BLの一例を示す図である。詳しくは、図3は、図2に示す基板処理装置WPに対応する処理手順PD、処理時間PT、及び計画要素BLを示す。処理手順PDを示す情報、処理時間PTを示す情報、及び計画要素BLを示す情報は、互いに関連付けられて記憶部102に記憶される。これらの情報の全部又は一部は、生成プログラムPL1に含まれてもよい。これらの情報の全部又は一部は、作業者が入力部101を操作して入力してもよい。
【0058】
処理手順PDは、基板処理装置WPによって実行される処理の手順を示す。より具体的には、処理手順PDは、基板処理装置WPに含まれる複数の構成要素が実行する処理の手順を示す。
【0059】
図3に示すように、図2に示す基板処理装置WPに対応する処理手順PDは、処理パターンA~処理パターンMを含む。1枚の基板Wに対し、処理パターンA~処理パターンMがこの順に実行される。処理手順PDは、1枚の基板Wに対して実行される処理の流れ(処理フロー)を示す。図5を参照して説明するタイムテーブルTBに、処理パターンA~処理パターンMがタイムテーブルTBの時間軸に沿ってこの順に配置される。
【0060】
処理パターンAは、インデクサロボットIRが基板収容容器CAから未処理の基板Wを搬出する処理を示す。処理パターンBは、インデクサロボットIRが受渡部PSまで未処理の基板Wを搬送して、未処理の基板Wを受渡部PSに搬入する処理を示す。処理パターンA及び処理パターンBが実行されている間、インデクサロボットIRのハンド8Aが1枚の基板Wによって占有される。
【0061】
処理パターンCは、受渡部PSに未処理の基板Wが搬入される処理を示す。処理パターンDは、受渡部PSから未処理の基板Wが搬出される処理を示す。処理パターンC及び処理パターンDが実行されている間、受渡部PSの棚PS1が1枚の基板Wによって占有される。
【0062】
処理パターンEは、搬送ロボットCRが受渡部PSから未処理の基板Wを搬出する処理を示す。処理パターンFは、搬送ロボットCRが未処理の基板Wを基板処理部PUのいずれか1つに搬送して、未処理の基板Wを基板処理部PUのいずれか1つに搬入する処理を示す。処理パターンE及び処理パターンFが実行されている間、搬送ロボットCRのハンド13Aが1枚の基板Wによって占有される。
【0063】
処理パターンGは、基板処理部PUのいずれかによって実行される基板処理を示す。処理パターンGが実行されている間、基板処理部PUのいずれかが1枚の基板Wによって占有される。
【0064】
処理パターンHは、搬送ロボットCRが基板処理部PUから処理後の基板Wを搬出する処理を示す。処理パターンIは、搬送ロボットCRが処理後の基板Wを受渡部PSまで搬送して、処理後の基板Wを受渡部PSに搬入する処理を示す。処理パターンH及び処理パターンIが実行されている間、搬送ロボットCRのハンド13Bが1枚の基板Wによって占有される。
【0065】
処理パターンJは、受渡部PSに処理後の基板Wが搬入される処理を示す。処理パターンKは、受渡部PSから処理後の基板Wが搬出される処理を示す。処理パターンJ及び処理パターンKが実行されている間、受渡部PSの棚PS2が1枚の基板Wによって占有される。
【0066】
処理パターンLは、インデクサロボットIRが受渡部PSから処理後の基板Wを搬出する処理を示す。処理パターンMは、インデクサロボットIRが処理後の基板Wを基板収容容器CAまで搬送して、処理後の基板Wを基板収容容器CAに搬入する処理を示す。処理パターンL及び処理パターンMが実行されている間、インデクサロボットIRのハンド8Bが1枚の基板Wによって占有される。
【0067】
以上、図3を参照して説明したように、1枚の基板Wは、基板処理装置WPに含まれる複数の構成要素を順次占有していく。このように、処理パターンA~処理パターンMは、1枚の基板Wによる占有情報を示す。図2に示す基板処理装置WPにおいては、インデクサロボットIRのハンド8A及びハンド8B、受渡部PSの棚PS1及び棚PS2、搬送ロボットCRのハンド13A及びハンド13B、及び基板処理部PUのいずれか1つが、1枚の基板Wによって順次占有される。インデクサロボットIRのハンド8A及びハンド8B、受渡部PSの棚PS1及び棚PS2、搬送ロボットCRのハンド13A及びハンド13B、及び4つの基板処理部PU(第1基板処理部PU1~第4基板処理部PU4)は、基板処理装置WPに含まれる複数の構成要素の一例である。
【0068】
続いて、処理時間PTを説明する。処理時間PTは、基板処理装置WPによって実行される各処理の時間長を示す。詳しくは、処理時間PTは、基板処理装置WPに含まれる各構成要素が実行する処理の時間長を示す。換言すると、処理時間PTは、基板処理装置WPに含まれる各構成要素が1枚の基板Wによって占有される時間長を示す。
【0069】
図3に示すように、図2に示す基板処理装置WPに対応する処理時間PTは、処理時間X1~処理時間X13を含む。処理時間X1~処理時間X13はそれぞれ、処理パターンA~処理パターンMの時間長を示す。処理時間X1~処理時間X13はそれぞれ、処理パターンA~処理パターンMに関連付けられて記憶部102に記憶される。処理時間X1~処理時間X13のうち、処理時間X1~処理時間X6及び処理時間X8~処理時間X13は、基板Wの搬送に要する時間長を示す。処理時間X7は、基板処理に要する時間長を示す。処理時間X1~処理時間X6及び処理時間X8~処理時間X13の時間長は、処理時間X7よりも短い。
【0070】
続いて、計画要素BLについて説明する。図3に示すように、処理手順PDは複数の計画要素BLに分割される。各計画要素BLには、処理手順PDに含まれる処理パターンのうちの少なくとも一つが含まれる。図3に示す例では、処理パターンA~処理パターンMが4つの計画要素BL(第1計画要素BL1~第4計画要素BL4)に分割される。計画要素BLはそれぞれ、基板Wが連続して占有する構成要素を示す。複数の計画要素BLは、処理手順PDに対して予め与えられる。換言すると、1枚の基板Wに対して複数の計画要素BLが予め与えられる。
【0071】
第1計画要素BL1は、処理パターンA~処理パターンCを含む。つまり、第1計画要素BL1は、インデクサロボットIRによって基板収容容器CAから受渡部PSの棚PS1まで未処理の基板Wを搬送する計画を示す。また、第1計画要素BL1は、1枚の基板WによりインデクサロボットIRのハンド8Aと受渡部PSの棚PS1とが連続して占有されることを示す。
【0072】
第2計画要素BL2は、処理パターンD~処理パターンGを含む。つまり、第2計画要素BL2は、搬送ロボットCRによって受渡部PSの棚PS1から基板処理部PUのいずれか1つまで未処理の基板Wを搬送して、基板処理部PUのいずれか1つによって未処理の基板Wを処理する計画を示す。また、第2計画要素BL2は、1枚の基板Wにより受渡部PSの棚PS1、搬送ロボットCRのハンド13A、及び基板処理部PUのうちの1つが連続して占有されることを示す。
【0073】
第3計画要素BL3は、処理パターンH~処理パターンJを含む。つまり、第3計画要素BL3は、搬送ロボットCRによって基板処理部PUから受渡部PSの棚PS2まで処理後の基板Wを搬送する計画を示す。換言すると、第3計画要素BL3は、1枚の基板Wにより搬送ロボットCRのハンド13Bと受渡部PSの棚PS2とが連続して占有されることを示す。
【0074】
第4計画要素BL4は、処理パターンK~処理パターンMを含む。つまり、第4計画要素BL4は、受渡部PSの棚PS2から基板収容容器CAまで処理後の基板Wを搬送する計画を示す。また、第4計画要素BL4は、1枚の基板Wにより受渡部PSの棚PS2とインデクサロボットIRのハンド8Bとが連続して占有されることを示す。
【0075】
図1に示す演算処理部105は、複数の計画要素BLを処理手順PDの順序に従ってタイムテーブルTBに配置する。より具体的には、演算処理部105は、処理パターンA~処理パターンMを、処理手順PDの順序に従って計画要素BLごとにタイムテーブルTBに配置する。処理パターンA~処理パターンMを計画要素BLごとにタイムテーブルTBに配置することにより、基板処理装置WPにおいて物理的に不可能な行為を禁止することができる。
【0076】
続いて、図4を参照して、処理手順PD及び計画要素BLを説明する。図4は、図3に示す第2計画要素BL2の詳細を示す図である。図2を参照して説明したように、1枚の基板Wは第1基板処理部PU1~第4基板処理部PU4のいずれかによって処理される。したがって、図4に示すように、第2計画要素BL2には、4つの第2計画要素BL2-1~BL2-4が含まれる。したがって、処理手順PD(1枚の基板W)に対して、7つの計画要素BLが予め与えられる。図1に示す演算処理部105は、タイムテーブルTBに第2計画要素BL2を配置する際に、4つの第2計画要素BL2-1~BL2-4のうちの1つを配置する。
【0077】
具体的には、第2計画要素BL2-1は、第1基板処理部PU1によって基板Wを処理することを示す。換言すると、第2計画要素BL2-1は、1枚の基板Wが第1基板処理部PU1を占有することを示す。同様に、第2計画要素BL2-2~第2計画要素BL2-4はそれぞれ、第2基板処理部PU2~第4基板処理部PU4によって基板Wを処理することを示す。
【0078】
続いて、制約条件を説明する。以下の表1は、図2に示す基板処理装置WPに対応する制約条件の一例を示す。制約条件は、タイムテーブルTBに計画要素BLを配置する際の条件を示す。制約条件は、基板処理装置WPの装置構成に依存する。例えば、制約条件は、基板処理装置WPにおいて物理的に不可能な行為を禁止する旨の条件を含む。
【表1】
【0079】
図1に示す演算処理部105は、制約条件を参照して、タイムテーブルTBに複数の計画要素BL(処理パターンA~処理パターンM)を配置する。制約条件は、記憶部102に記憶される。制約条件は、生成プログラムPL1に含まれてもよいし、作業者が入力部101を操作して入力してもよい。
【0080】
以上、図1図4及び表1を参照して説明したように、演算処理部105は、タイムテーブルTBに複数の計画要素BLを配置する際に、処理手順PDを示す情報と、処理時間PTを示す情報と、計画要素BLを示す情報と、制約条件とを参照する。更に、演算処理部105は、タイムテーブルTBに複数の計画要素BLを配置する際に、基板Wの枚数を示す情報を参照する。以下、基板Wの枚数を示す情報を、「枚数情報」と記載する場合がある。枚数情報は、生成プログラムPL1に含まれてもよいし、作業者が入力部101を操作して入力してもよい。
【0081】
演算処理部105は、枚数情報を参照して、基板Wの枚数に対応する数の計画要素BLをタイムテーブルTBに配置する。例えば、基板Wごとに4つの計画要素BLをタイムテーブルTBに配置する条件の下、枚数情報が25枚を示す場合、演算処理部105は、強化学習の各ステップにおいて、100個の計画要素を配置してタイムスケジュールを作成する。
【0082】
続いて、図1図5を参照して、タイムテーブルTBを説明する。図5は、図2に示す基板処理装置WPに対応するタイムテーブルTBの一例を示す図である。図5に示すように、タイムテーブルTBに複数の計画要素BLが配置される。計画要素BLはそれぞれ、タイムテーブルTBに配置されて、基板処理装置WPに含まれる複数の構成要素のうちの少なく1つを排他的に占有する。タイムテーブルTBに複数の計画要素BLが配置されることにより、基板処理装置WPの各構成要素のタイムスケジュールが規定される。換言すると、タイムテーブルTBに複数の計画要素BLが配置されることにより、基板処理装置WPの各構成要素の占有予定時間が規定される。
【0083】
具体的には、タイムテーブルTBの横軸は時刻を示す。タイムテーブルTBには、基板処理装置WPの構成要素ごとに、対応する処理パターンがタイムテーブルTBの時間軸に沿って配置される。図5に示すタイムテーブルTBには、図3及び図4を参照して第1計画要素BL1~第4計画要素BL4(処理パターンA~処理パターンM)が、表1に示す制約条件1~9に基づいて配置されている。タイムテーブルTBは、例えば、ガントチャートである。なお、タイムテーブルTBに配置される処理パターンA~処理パターンMは、数値情報であってもよいし、画像情報であってもよい。
【0084】
また、図3図5に示すように、第2計画要素BL2には処理パターンG(基板処理)が含まれる。したがって、第2計画要素BL2の時間長は、他の計画要素BL(第1計画要素BL1、第3計画要素BL3、及び第4計画要素BL4)よりも長い。第2計画要素BL2は、搬送ロボットCR(搬送部)によって基板処理部PUのいずれかに未処理の基板Wを搬入して、基板処理部PUのいずれかによって未処理の基板Wを処理する計画要素の一例である。第3計画要素BL3は、基板処理部PUによって処理された後の基板Wを、搬送部ロボット(搬送部)によって基板処理部PUから搬出させる計画要素の一例である。
【0085】
続いて、図1図6を参照して、タイムスケジュールを作成する処理を説明する。図6は、タイムスケジュールを作成する処理の流れの一例を示す図である。詳しくは、図6は、タイムテーブルTBに複数の計画要素BLを配置する処理を示す。以下、タイムテーブルTBに複数の計画要素BLを配置する処理を、「タイムスケジュール作成処理」と記載する場合がある。
【0086】
図6に示すように、演算処理部105は、現在のタイムテーブルTBの状態と、複数の計画要素BLとを参照して、タイムテーブルTBに未配置の計画要素BLを取得する(工程S1)。以下、未配置の計画要素BLを、「計画要素NBL」と記載する場合がある。
【0087】
例えば、タイムスケジュール作成処理の開始時においては、全ての計画要素BLが計画要素NBLである。例えば、基板Wごとに4つの計画要素BLをタイムテーブルTBに配置する条件の下、枚数情報が25枚を示す場合、タイムスケジュール作成処理の開始時に、演算処理部105は、100個の計画要素NBLを取得する。タイムスケジュール作成処理が進行するにつれて、計画要素NBLの数が減少していく。タイムスケジュール作成処理は、計画要素NBLが無くなるまで続けられる。
【0088】
演算処理部105は、計画要素NBLを取得すると、現在のタイムテーブルTBの状態と、計画要素NBLと、制約条件(制約条件1~9)と、処理手順PDとを参照して、計画要素NBLのうちから、次配置可能な計画要素BLを取得する。ここで、次配置可能な計画要素BLとは、タイムテーブルTBに次ぎに配置可能な計画要素BLを示す。以下、次配置可能な計画要素BLを、「計画要素ABL」と記載する場合がある。
【0089】
演算処理部105は、計画要素ABLを取得すると、現在のタイムテーブルTBの状態と、計画要素ABLと、制約条件(制約条件1~9)と、処理手順PDとを参照して、計画要素ABLのそれぞれの配置可能時刻を算出する(工程S2)。配置可能時刻は、タイムテーブルTBによって示される時刻に対応する。詳しくは、配置可能時刻は、計画要素ABLに含まれる処理を開始可能なタイムテーブルTB上の時刻を示す。
【0090】
演算処理部105は、配置可能時刻を算出すると、計画要素ABLごとにアクションACを生成する(工程S3)。アクションACは、タイムテーブルTBの配置可能時刻に計画要素ABLを配置する行動を示す。
【0091】
演算処理部105は、アクションACを生成すると、アクションACのうちの1つを選択し(工程S4)、選択したアクションACに基づいて、計画要素BL(計画要素ABL)をタイムテーブルTBに配置する(工程S5)。この結果、タイムテーブルTBが更新される。換言すると、タイムテーブルTBが次の状態となる。
【0092】
ここで、アクションACを選択する処理の第1例を説明する。例えば、演算処理部105は、強化学習の初期の段階において、アクションACのうちの1つをランダムに選択する。演算処理部105は、強化学習のステップ(試行)を繰り返した回数が第2閾値以上になると、アクションACのうちから、報酬を最も大きくするアクションACを予測して、選択する。具体的には、生成プログラムPL1は、行動選択ニューラルネットワーク121(図7参照)を含む。行動選択ニューラルネットワーク121は、予測器を構築するニューラルネットワークを含む。予測器は、アクションACごとに評価値(Q値)を算出する。評価値は、報酬の期待値を示す。演算処理部105(行動選択ニューラルネットワーク121)は、評価値(報酬の期待値)が最も大きいアクションACを選択する。
【0093】
なお、演算処理部105は、強化学習のステップ(試行)を繰り返した回数が第2閾値以上になった後に、予め定められた第1条件に基づいて、アクションACのうちの1つをランダムに選択してもよい。例えば、第1条件は、アクションACのうちの1つをランダムに選択する周期を示してもよい。この場合、演算処理部105は、周期的に、アクションACのうちの1つをランダムに選択する。
【0094】
あるいは、第1条件は、アクションACのうちの1つをランダムに選択するタイミングを、ステップ数(試行の回数)で示してもよい。以下、アクションACのうちの1つをランダムに選択するタイミングを規定するステップ数を、「ランダム選択ステップ数」と記載する場合がある。ランダム選択ステップ数は、複数のステップ数を示してもよい。この場合、演算処理部105は、強化学習のステップを繰り返した回数(試行の回数)がランダム選択ステップ数に含まれるステップ数に達する度に、アクションACのうちの1つをランダムに選択する。なお、1回のステップ(1回の試行)は、タイムスケジュール作成処理を開始してから、全ての計画要素BLがタイムテーブルTBに配置されて報酬を取得するまでの処理を示す。
【0095】
続いて、アクションACを選択する処理の第2例を説明する。例えば、演算処理部105は、乱数を取得し、取得した乱数の値が第3閾値以上であるか否かを判定する。演算処理部105は、乱数の値が第3閾値以上である場合、アクションACのうちから、報酬を最も大きくするアクションACを予測して、選択する。演算処理部105は、取得した乱数の値が第3閾値未満である場合、アクションACのうちの1つをランダムに選択する。演算処理部105は、ステップ数(試行の回数)の増加に合わせて、第3閾値を小さくする。
【0096】
タイムテーブルTBが更新されると、演算処理部105は、工程S1~工程S5の処理を再度実行する。演算処理部105は、計画要素NBLが無くなるまで工程S1~工程S5の処理を繰り返す。この結果、タイムスケジュール作成処理が終了する。
【0097】
演算処理部105は、タイムスケジュール作成処理が終了すると、タイムテーブルTBの最終状態と、報酬関数とに基づいて、報酬を決定する(工程S6)。既に説明したように、報酬関数は、タイムスケジュールの時間長が短いほど高い報酬を与えるように規定されている。
【0098】
続いて、図7を参照して、演算処理部105が生成プログラムPL1を実行することによって構築される強化学習システム120を説明する。図7は、強化学習システム120を示すブロック図である。
【0099】
図7に示すように、強化学習システム120は、エージェントAGの行動を選択する。エージェントAGの行動により、エージェントAGと環境EBとが相互作用する。具体的には、エージェントAGの行動は、図6を参照して説明したアクションACを含む。環境EBは、図5を参照して説明したタイムテーブルTBを含む。強化学習システム120は、図6を参照して説明したようにアクションACを選択する。エージェントAGは、選択されたアクションACに基づいて、タイムテーブルTBに計画要素BLを配置する。
【0100】
強化学習システム120は、行動選択ニューラルネットワーク121と、訓練エンジン122とを含む。訓練エンジン122は、リプレイメモリ123を含む。リプレイメモリ123は、記憶部102の記憶領域に含まれる。
【0101】
既に説明したように、行動選択ニューラルネットワーク121は、アクションACごとに評価値(Q値)を算出して、評価値が最も大きいアクションACを選択する。訓練エンジン122は、行動選択ニューラルネットワーク121を訓練して、行動選択ニューラルネットワーク121に含まれる複数のパラメータ(重み付け係数)を調整する。
【0102】
詳しくは、訓練エンジン122は、経験データをリプレイメモリ123に格納する。経験データは、エージェントAGが環境EBに相互作用した結果を示す。経験データは、教師あり学習のための学習用データ(訓練データ)であり、訓練エンジン122は、行動選択ニューラルネットワーク121に経験データを学習させて、行動選択ニューラルネットワーク121を訓練する。この結果、行動選択ニューラルネットワーク121に含まれる複数のパラメータ(重み付け係数)が調整されて、行動選択ニューラルネットワーク121の予測精度が向上する。
【0103】
具体的には、訓練エンジン122(演算処理部105)は、タイムテーブルTBに計画要素BLを配置する度に経験データを生成してリプレイメモリ123に格納する。経験データには、現在のタイムテーブルTBの状態と、現在の計画要素NBL(未配置の計画要素BL)と、現在の配置可能時刻と、選択されたアクションAC(選択された計画要素ABL)と、次のタイムテーブルTBの状態とが含まれる。タイムスケジュールの作成が完了した際の経験データには、報酬の値が更に含まれる。
【0104】
訓練エンジン122(演算処理部105)は、予め定められた第2条件に基づいて、行動選択ニューラルネットワーク121を訓練する。例えば、第2条件は、行動選択ニューラルネットワーク121を訓練する周期を示してもよい。この場合、訓練エンジン122(演算処理部105)は、周期的に、行動選択ニューラルネットワーク121を訓練する。
【0105】
あるいは、第2条件は、行動選択ニューラルネットワーク121を訓練するタイミングを、ステップ数で示してもよい。以下、行動選択ニューラルネットワーク121を訓練するタイミングを規定するステップ数を、「訓練ステップ数」と記載する場合がある。訓練ステップ数は、複数のステップ数を示す。この場合、訓練エンジン122(演算処理部105)は、強化学習のステップを繰り返した回数(試行の回数)が訓練ステップ数に含まれるステップ数に達する度に、行動選択ニューラルネットワーク121に経験データを学習させる。
【0106】
続いて、図1図16を参照して、本実施形態のスケジュール作成プログラム生成方法を説明する。図8は、本実施形態のスケジュール作成プログラム生成方法を示すフローチャートである。本実施形態のスケジュール作成プログラム生成方法は、図1図7を参照して説明したスケジュール作成プログラム生成装置100により実行される。具体的には、本実施形態のスケジュール作成プログラム生成方法は、図1図7を参照して説明した演算処理部105により実行される。したがって、図8は、演算処理部105により実行される処理の流れを示す。
【0107】
図8に示すように、本実施形態のスケジュール作成プログラム生成方法は、工程S11~工程S15を含む。例えば、スケジュール作成プログラム生成装置100に生成プログラムPL1がインストールされた状態で、作業者が入力部101を操作して強化学習の開始を指示したことに応じて、図8に示す処理が開始されてもよい。
【0108】
図8に示す処理が開始すると、演算処理部105は、タイムスケジュールを作成する(工程S11)。タイムスケジュールを作成する処理については、図9を参照して後述する。工程S11は、「配置工程」の一例である。
【0109】
演算処理部105は、タイムスケジュールを作成した後、タイムテーブルTBの最終状態と報酬関数とに基づいて、報酬の値を決定する(工程S12)。なお、タイムテーブルTBの最終状態は、全ての計画要素BLが配置されたタイムテーブルTBの状態を示す。タイムスケジュールは、タイムテーブルTBの最終状態に対応する。工程S12は、「報酬決定工程」の一例である。
【0110】
演算処理部105は、報酬の値を決定した後、報酬関数を変更するか否かを決定する(工程S13)。具体的には、演算処理部105は、予め定められた第3条件に基づいて、報酬関数を変更するか否かを決定する。例えば、第3条件は、報酬関数を変更する周期を示してもよい。この場合、演算処理部105は、周期的に、報酬関数を変更する。
【0111】
あるいは、第3条件は、報酬関数を変更するタイミングを、ステップ数で示してもよい。以下、報酬関数を変更するタイミングを規定するステップ数を、「変更ステップ数」と記載する場合がある。変更ステップ数は、少なくとも1つのステップ数を示す。この場合、演算処理部105は、強化学習のステップを繰り返した回数(試行の回数)が変更ステップ数に含まれるステップ数に達する度に、報酬関数を変更することを決定する。
【0112】
演算処理部105は、報酬関数を変更することを決定した場合(工程S13のYes)、変更処理を実行して、報酬関数を変更する(工程S14)。変更処理については、図12図16を参照して後述する。工程S14は、「変更工程」の一例である。
【0113】
演算処理部105は、報酬関数を変更した後、強化学習を終了するか否かを決定する(工程S15)。あるいは、演算処理部105は、報酬関数を変更しないことを決定した場合(工程S13のNo)、強化学習を終了するか否かを決定する(工程S15)。
【0114】
演算処理部105が強化学習を終了しないことを決定した場合(工程S15のNo)、図8に示す処理は、工程S11の処理に戻る。一方、演算処理部105が強化学習を終了することを決定した場合(工程S15のYes)、図8に示す処理は終了する。
【0115】
例えば、図1を参照して説明したように、強化学習を終了する条件として第1閾値が設定されてもよい。この場合、演算処理部105は、強化学習のステップを繰り返した回数(試行の回数)が第1閾値以上になると、強化学習を終了することを決定する。
【0116】
図6及び図7を参照して説明したように、演算処理部105は、タイムスケジュール作成処理を繰り返す過程で、行動選択ニューラルネットワーク121のパラメータ(重み付け係数)を調整する。したがって、強化学習のステップ(試行)が繰り返されることにより、報酬の値が大きくなる。本実施形態では、強化学習の1回のステップ(1回の試行)は、図8に示す工程S11~工程S15を含む。なお、工程S11~工程S15のうち、工程S11及び工程S12を含むステップは、「経験ステップ」の一例である。
【0117】
続いて、図9を参照して、図8に示すタイムスケジュール作成処理(工程S11)を説明する。図9は、タイムスケジュール作成処理を示すフローチャートである。
【0118】
図9に示すように、タイムスケジュール作成処理は、工程S21及び工程S22を含む。演算処理部105は、タイムスケジュール作成処理を開始すると、複数の計画要素BLのうちの一つをタイムテーブルTBに配置して、タイムテーブルTBの状態を変化させる(工程S21)。
【0119】
演算処理部105は、複数の計画要素BLのうちの一つをタイムテーブルTBに配置すると、全ての計画要素BLをタイムテーブルTBに配置したか否かを判定する(工程S22)。
【0120】
全ての計画要素BLをタイムテーブルTBに配置したと演算処理部105が判定した場合(工程S22のYes)、タイムスケジュール作成処理が終了して、演算処理部105は、報酬の値を決定する(図8の工程S12)。
【0121】
演算処理部105は、複数の計画要素BLの一部がタイムテーブルTBに配置されていないと判定した場合(工程S22のNo)、工程S21に戻り、次の計画要素BLを選択してタイムテーブルTBに配置する。このように、演算処理部105は、複数の計画要素BLをタイムテーブルTBに順次配置して、タイムテーブルTBの状態を順次変化させる。
【0122】
続いて、図10及び図11を参照して、計画要素BLをタイムテーブルTBに配置する処理(図9の工程S21)を説明する。図6及び図7を参照して説明したように、演算処理部105は、アクションACのうちの1つをランダムに選択することにより、次に配置可能な計画要素BL(計画要素ABL)のうちの一つをタイムテーブルTBに配置する。あるいは、演算処理部105は、アクションACのうちから、報酬を最も大きくするアクションACを予測して選択することにより、次に配置可能な計画要素BL(計画要素ABL)のうちの一つをタイムテーブルTBに配置する。
【0123】
図10は、アクションACのうちの1つをランダムに選択して計画要素BLをタイムテーブルTBに配置する処理を示すフローチャートである。図10に示すように、アクションACのうちの1つをランダムに選択する場合、計画要素BLをタイムテーブルTBに配置する処理(図9の工程S21)は、工程S31~工程S34を含む。
【0124】
演算処理部105は、計画要素BLをタイムテーブルTBに配置する処理を開始すると、未配置の計画要素BL(計画要素NBL)うちから、タイムテーブルTBに次ぎに配置可能な計画要素BL(計画要素ABL)を取得する(工程S31)。
【0125】
演算処理部105は、次配置可能な計画要素BL(計画要素ABL)を取得すると、計画要素ABLのそれぞれの配置可能時刻を取得する(工程S32)。演算処理部105は、配置可能時刻を取得すると、計画要素ABLのうちの一つをランダムに選択する(工程S33)。詳しくは、演算処理部105は、計画要素ABLごとにアクションACを生成して、アクションACのうちの一つをランダムに選択する。
【0126】
演算処理部105は、ランダムに選択した計画要素ABLをタイムテーブルTBに配置する(工程S34)。この結果、図10に示す処理が終了する。詳しくは、演算処理部105は、ランダムに選択したアクションACに基づいて、計画要素BL(計画要素ABL)をタイムテーブルTBに配置する。
【0127】
なお、計画要素ABLのうちの一つをランダムに選択する際に、第2計画要素BL2が選択される場合、第2計画要素BL2-1~BL2-4のうちの一つがランダムに選択される。換言すると、第1基板処理部PU1~第4基板処理部PU4のうちの一つが選択されて、選択した基板処理部PUに対応する第2計画要素BL2がタイムテーブルTBに配置される。
【0128】
図11は、報酬を最も大きくするアクションACを予測して計画要素BLをタイムテーブルTBに配置する処理を示すフローチャートである。図11に示すように、報酬を最も大きくするアクションACを予測する場合、計画要素BLをタイムテーブルTBに配置する処理(工程S21)は、工程S41~工程S44を含む。
【0129】
図11に示す工程S41、工程S42及び工程S44は、図10に示す工程S31、工程S32及び工程S34と同様の処理であるため、それらの説明は割愛する。
【0130】
図11に示すように、演算処理部105は、配置可能時刻を取得した後、評価値(報酬の期待値)が最も大きい計画要素BL(計画要素ABL)を選択する(工程S43)。詳しくは、演算処理部105は、計画要素ABLごとにアクションACを生成する。そして、演算処理部105は、行動選択ニューラルネットワーク121(図7参照)を用いて、アクションACのうちから、評価値が最も大きいアクションACを選択する。演算処理部105は、選択したアクションACに基づいて、計画要素BL(計画要素ABL)をタイムテーブルTBに配置する。
【0131】
なお、計画要素ABLのうちの一つを選択する際に、第2計画要素BL2が選択される場合、第2計画要素BL2-1~BL2-4のうちの一つが選択される。換言すると、第1基板処理部PU1~第4基板処理部PU4のうちの一つが選択されて、選択した基板処理部PUに対応する第2計画要素BL2がタイムテーブルTBに配置される。
【0132】
続いて、図12(a)を参照して、図8に示す変更処理(工程S14)を説明する。図12(a)は、変更処理に含まれる第1変更処理を示すフローチャートである。図12(a)に示すように、演算処理部105は、報酬関数を変更することを決定すると、現在の報酬関数に対して対象区間TSの勾配が大きくなる報酬関数に変更する(工程S51)。この結果、図12(a)に示す処理が終了する。
【0133】
本実施形態において、変更処理(工程S14)には、図12(b)に示す第2変更処理が更に含まれてもよい。図12(b)は、変更処理に含まれる第2変更処理を示すフローチャートである。図12(b)に示すように、演算処理部105は、報酬関数を変更することを決定すると、図12(a)の処理(第1変更処理)により勾配を大きくした区間(対象区間TS)をシフトさせる(工程S52)。この結果、図12(b)に示す処理が終了する。
【0134】
演算処理部105は、報酬関数を変更することが決定される度に、図12(a)に示す第1変更処理を実行してもよい。この結果、対象区間TSの勾配が徐々に大きくなる。あるいは、第1変更処理は、1回だけ行われてもよい。例えば、演算処理部105は、報酬関数を変更することが最初に決定された際にのみ、第1変更処理を実行してもよい。
【0135】
演算処理部105は、少なくとも1回、第1変更処理を実行した後に、図12(b)に示す第2変更処理を実行する。演算処理部105は、第1変更処理と第2変更処理とを交互に実行してもよい。あるいは、演算処理部105は、第1変更処理の最初の実行後、報酬関数を変更することが決定される度に、第1変更処理と第2変更処理とを同時に実行してもよい。あるいは、演算処理部105は、第1変更処理の最初の実行後、報酬関数を変更することが決定される度に、第2変更処理のみを実行してもよい。なお、第2変更処理は省略されてもよい。
【0136】
続いて、図13及び図14を参照して、第1変更処理を説明する。図13は、第1変更処理の一例を示す図である。詳しくは、図13は、初期の報酬関数2と、第1変更処理後の報酬関数3とを示す。図13において、横軸は最終払出時刻を示し、縦軸は報酬を示す。ここで、最終払出時刻は、基板処理装置WPにおいて最後の基板Wが基板収容容器CAに戻る時刻を示す。最終払出時刻は、タイムスケジュールの時間長に相当する。
【0137】
図13に示すように、報酬関数2、3は、タイムスケジュールの時間長が小さいほど報酬の値が高くなるように、タイムスケジュールの時間長と報酬の値との関係を規定する。また、報酬関数2、3は、報酬の最小値rw1と、報酬の最大値rw2と、報酬の最小値rw1に対応するタイムスケジュールの時間長(最終払出時刻t22)と、報酬の最大値rw2に対応するタイムスケジュールの時間長(最終払出時刻t21)とを規定する。
【0138】
図13に示すように、報酬関数3は、報酬関数2に対して対象区間TSの勾配が大きくなる関数を含む。例えば、報酬関数2は、線形の関数を含む。報酬関数3は、非線形の関数を含む。図13に示す例において、報酬関数2は、一次関数を含み、最終払出時刻t21から最終払出時刻t22まで、報酬の値を最大値rw2から最小値rw1まで単調に減少させる。報酬関数3は、対象区間TSにおける勾配が一次関数より大きくなるロジスティックス曲線の関数を含む。
【0139】
対象区間TSは、最終払出時刻t21から最終払出時刻t22までの時間範囲の一部の区間を示す。対象区間TSは、例えば、最終払出時刻t21から最終払出時刻t22の時間範囲のうち、報酬の値が飽和する区間に合わせて設定されてもよい。
【0140】
詳しくは、報酬関数2のように、タイムスケジュールの時間長と報酬の値との関係を一次関数で規定して強化学習を実行した場合、タイムスケジュールの時間長(報酬の値)が目標値に到達する前に、試行間での評価値の差が小さくなり、報酬の値が飽和することがある。これは、基板処理装置WPに、処理時間PTが大きく異なる構成要素が含まれることに原因があると考えられる。
【0141】
具体的には、基板処理部PUの処理時間PT(処理時間X7)と、搬送部(インデクサロボットIR及び搬送ロボットCR)の処理時間PTとが大きく異なる。したがって、図5に示すように、第2計画要素BL2の時間長は、他の計画要素BL(第1計画要素BL1、第3計画要素BL3、及び第4計画要素BL4)よりも長い。その故、タイムスケジュールの時間長と報酬の値との関係を一次関数で規定した場合、評価値の差異が小さい行動選択と、評価値の差異が大きい行動選択とが混在することになる。学習が進み、報酬の値が目標値に近付いた段階では、評価値の差異が小さい行動選択が繰り返されて、報酬の値が目標値に到達する前に飽和するものと考えられる。
【0142】
これに対し、本実施形態によれば、対象区間TSの報酬関数の勾配を大きくするため、試行間での評価体の差を対象区間TSにおいて拡大することができる。その結果、対象区間TSで試行を繰り返しても、行動選択ニューラルネットワーク121のパラメータ(重み付け係数)をより大きく(よりダイナミックに)変更させることができる。よって、報酬関数として一次関数を使用した場合に報酬の値が飽和する区間を対象区間TSに設定して、試行間での評価値の差が強調されるようにすることで、タイムスケジュールの時間長(報酬の値)が目標値に到達する前に報酬の値が飽和することを抑制できる。
【0143】
したがって、本実施形態によれば、強化学習の実行中に報酬関数を変更することで、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。
【0144】
図14は、第1変更処理の他例を示す図である。詳しくは、図14は、初期の報酬関数2と、複数回の第1変更処理後の報酬関数3a~報酬関数3fとを示す。図14において、横軸は最終払出時刻を示し、縦軸は報酬を示す。
【0145】
図14に示すように、報酬関数3a~報酬関数3fは、報酬関数2に対して対象区間TSの勾配が大きくなる関数を含む。詳しくは、報酬関数3a~報酬関数3fは、この順に対象区間TSの勾配がより大きい。このように、演算処理部105は、複数回の第1変更処理を実行して、対象区間TSの勾配を徐々に大きくしていってもよい。具体的には、演算処理部105は、第1変更処理を実行する度に、対象区間TSにおける勾配が現在の勾配より大きくなる報酬関数に変更してもよい。
【0146】
例えば、報酬関数3a~3fは、非線形の関数を含む。図14に示す例において、報酬関数3a~3fは、対象区間TSにおける勾配が一次関数より大きくなるロジスティックス曲線の関数を含む。より詳しくは、報酬関数3a~3fは、勾配可変ロジスティックス曲線の関数を含む。この場合、演算処理部105は、第1変更処理を実行する度に、勾配可変ロジスティックス曲線の関数に含まれる定数を変更して、対象区間TSの勾配を徐々に大きくする。
【0147】
本実施形態によれば、図14に示すように、対象区間TSの勾配を徐々に大きくすることで、試行間での評価値の差が徐々に強調されるようになる。その結果、行動選択ニューラルネットワーク121のパラメータを徐々に変更させることができる。したがって、強化学習の学習効率を向上させることができる。
【0148】
続いて、図15を参照して、第2変更処理を説明する。図15は、第2変更処理の一例を示す図である。詳しくは、図15は、初期の報酬関数2と、複数回の第2変更処理後の報酬関数4a~4cとを示す。図15において、横軸は最終払出時刻を示し、縦軸は報酬を示す。
【0149】
図15に示すように、報酬関数4a~報酬関数4cは、タイムスケジュールの時間長が小さいほど報酬の値が高くなるように、タイムスケジュールの時間長と報酬の値との関係を規定する。また、報酬関数4a~報酬関数4cは、報酬の最小値rw1と、報酬の最大値rw2と、報酬の最小値rw1に対応するタイムスケジュールの時間長(最終払出時刻t22)と、報酬の最大値rw2に対応するタイムスケジュールの時間長(最終払出時刻t21)とを規定する。
【0150】
図15に示すように、報酬関数4a~4cは、報酬関数2に対して対象区間TSの勾配が大きくなる関数を含む。報酬関数4a~4cは、勾配が大きくなる区間(対象区間TS)が異なる。詳しくは、報酬関数4a~4cの順に、対象区間TSの位置が最終払出時刻t21により近い位置になる。このように、演算処理部105は、複数回の第2変更処理を実行して、対象区間TSを最終払出時刻t22側から最終払出時刻t21側へシフトさせてもよい。
【0151】
例えば、報酬関数4a~4cは、非線形の関数を含む。図15に示す例において、報酬関数4a~4cは、対象区間TSにおける勾配が一次関数より大きくなるロジスティックス曲線の関数を含む。より詳しくは、報酬関数4a~4cは、X軸可変ロジスティックス曲線の関数を含む。この場合、演算処理部105は、第2変更処理を実行する度に、X軸可変ロジスティックス曲線の関数に含まれる定数を変更して、対象区間TSを最終払出時刻t22側から最終払出時刻t21側へシフトさせる。
【0152】
本実施形態によれば、報酬関数として一次関数を使用した場合に報酬の値が飽和する区間を予め求めることなく、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。
【0153】
なお、図15に示す例では、対象区間TSにおける勾配を一定にして、対象区間TSをシフトさせたが、対象区間TSをシフトさせつつ、図14を参照して説明したように、対象区間TSにおける勾配を徐々に大きくさせてもよい。
【0154】
また、図13図15に示す例において、変更処理後の報酬関数3、3a~3f、4a~4cは、非線形の関数であったが、変更処理後の報酬関数は、対象区間TSにおける勾配が報酬関数2の勾配より大きい限り、非線形の関数に限定されない。例えば、変更処理後の報酬関数は、対象区間TSにおける勾配が報酬関数2の勾配より大きい線形の関数を含んでもよい。
【0155】
図16は、変更処理の他例を示す図である。詳しくは、図16は、初期の報酬関数2と、変更処理後の報酬関数5とを示す。図16において、横軸は最終払出時刻を示し、縦軸は報酬を示す。
【0156】
図16に示すように、報酬関数5は、最終払出時刻t31から最終払出時刻t32までの時間範囲において、タイムスケジュールの時間長が小さいほど報酬の値が高くなるように、タイムスケジュールの時間長と報酬の値との関係を規定する。また、報酬関数5は、報酬の最小値rw1と、報酬の最大値rw2と、報酬の最小値rw1に対応するタイムスケジュールの時間長(最終払出時刻t32以上最終払出時刻t22以下の範囲)と、報酬の最大値rw2に対応するタイムスケジュールの時間長(最終払出時刻t21以上最終払出時刻t31以下の範囲)とを規定する。
【0157】
図16に示すように、報酬関数5は、報酬関数2に対して対象区間TSの勾配が大きくなる関数を含む。対象区間TSの少なくとも一部は、最終払出時刻t31から最終払出時刻t32までの時間範囲内に含まれる。詳しくは、報酬関数5は、報酬関数2(一次関数)より勾配が大きい一次関数を含む。報酬関数5に含まれる一次関数は、最終払出時刻t31から最終払出時刻t32までの時間範囲において、最終払出時刻に対する報酬の値を線形に変化させる。
【0158】
図16に示す報酬関数5によれば、報酬関数2に対して対象区間TSの勾配が大きくなるため、図13図15を参照して説明した報酬関数3、3a~3f、及び4a~4cと同様に、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。
【0159】
続いて、図17を参照して、本実施形態の基板処理装置200を説明する。図17は、本実施形態の基板処理装置200を含む基板処理システム200Aを示す図である。
【0160】
図17に示すように、基板処理システム200Aは、記録媒体110と、基板処理装置200とを含む。基板処理装置200は、インターフェイス部201と、複数のロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、複数の基板処理部PUと、記憶部202と、制御部203aとを備える。
【0161】
インターフェイス部201は、記録媒体110との間で情報、データ、又は信号を遣り取りする。具体的には、記録媒体110は、図1図16を参照して説明したスケジュール作成プログラムPL2を格納している。インターフェイス部201は、記録媒体110からスケジュール作成プログラムPL2を読み出して制御部203aに入力する。
【0162】
インターフェイス部201の構成は、図1を参照して説明したインターフェイス部103と同様であるため、その詳しい説明は割愛する。また、ロードポートLP、インデクサロボットIR、搬送ロボットCR及び基板処理部PUの構成は、図2を参照して説明したロードポートLP、インデクサロボットIR、搬送ロボットCR及び基板処理部PUと同様であるため、その説明は割愛する。
【0163】
記憶部202は、基板処理装置200の動作を制御するための各種情報を記憶する。例えば、記憶部202は、データ及びコンピュータプログラムを記憶する。データは、種々のレシピデータを含む。レシピデータは、例えば、プロセスレシピを含む。プロセスレシピは、基板処理の手順を規定するデータである。また、記憶部202は、記録媒体110から読み出されたスケジュール作成プログラムPL2を記憶する。記憶部202は、処理手順PDと、処理時間PTと、計画要素BLと、制約条件とを更に記憶する。
【0164】
記憶部202は、主記憶装置を有する。主記憶装置は、例えば、半導体メモリである。記憶部202は、補助記憶装置を更に有してもよい。補助記憶装置は、例えば、半導体メモリ及びハードディスクドライブの少なくも一方を含む。記憶部202はリムーバブルメディアを含んでもよい。
【0165】
制御部203aは、例えば、プロセッサを有する。制御部203aは、プロセッサとして、CPU又はMPUを有してもよい。あるいは、制御部203aは、汎用演算機又は専用演算器を有してもよい。制御部203aは、記憶部202に記憶されている各種情報に基づいて基板処理装置200の各部の動作を制御する。例えば、制御部203aは、インターフェイス部201と、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUと、記憶部202とを制御する。
【0166】
また、制御部203aは、複数の基板Wを処理する際に、スケジュール作成プログラムPL2を実行して、基板処理装置200に含まれる複数の構成要素(インデクサロボットIR、受渡部PS、搬送ロボットCR、及び基板処理部PU)を複数の基板Wが順次占有していくタイムスケジュールを作成する。そして、制御部203aは、作成したタイムスケジュールに基づいて、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUとを制御する。
【0167】
具体的には、スケジュール作成プログラムPL2は、図1図16を参照して説明したように、パラメータ(重み付け係数)が調整された行動選択ニューラルネットワーク121を含む。制御部203aは、スケジュール作成プログラムPL2と、処理手順PDと、処理時間PTと、計画要素BLと、制約条件とに基づいて、図6を参照して説明した工程S1~工程S5に沿ってタイムスケジュールを作成する。
【0168】
本実施形態によれば、図1図16を参照して説明したように、スケジュール作成プログラムPL2は、タイムスケジュールの時間長をより目標値に近づけることができる。したがって、基板処理装置200は、所定枚数の基板Wの処理をより短い期間で完了させるタイムスケジュールを作成することができる。
【0169】
以上、図1図17を参照して本発明の実施形態1を説明した。本実施形態によれば、プロセッサが実行する処理のフロー全体を開発する必要がない。具体的には、開発者は、処理手順PDと、処理時間PTと、計画要素BLと、制約条件とを開発すればよい。したがって、開発者の負担を軽減できる。
【0170】
更に、本実施形態によれば、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。
【0171】
また、本実施形態によれば、強化学習の初期の報酬関数に一次関数を使用することができる。したがって、強化学習の学習効率を向上させることができる。
【0172】
具体的には、強化学習の初期では、最終払出時刻が比較的遅いタイムスケジュールが作成される。そのため、強化学習の初期の報酬関数に、図13図16を参照して説明した報酬関数3、報酬関数3a~3f、報酬関数4a~4c、又は報酬関数5を使用した場合、強化学習の初期の段階における試行間の評価値の差が小さくなる。したがって、報酬の値が大きくなり難い。その結果、強化学習の学習効率が低下する。これに対し、強化学習の初期の報酬関数に一次関数を使用した場合、最終払出時刻が比較的遅いタイムスケジュールが作成されても、報酬関数3、報酬関数3a~3f、報酬関数4a~4c、又は報酬関数5と比較して、試行間の評価値の差を大きくすることができる。よって、強化学習の学習効率を向上させることができる。
【0173】
[実施形態2]
続いて図18を参照して本発明の実施形態2について説明する。但し、実施形態1と異なる事項を説明し、実施形態1と同じ事項についての説明は割愛する。実施形態2は、実施形態1と異なり、基板処理装置200がスケジュール作成プログラムPL2を生成する。
【0174】
図18は、本実施形態の基板処理装置200を含む基板処理システム200Aを示す図である。図18に示すように、基板処理システム200Aは、記録媒体110と、基板処理装置200とを含む。基板処理装置200は、インターフェイス部201と、複数のロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、複数の基板処理部PUと、記憶部202と、制御部203bとを備える。
【0175】
記録媒体110は、図1図16を参照して説明した生成プログラムPL1を格納している。基板処理装置200のインターフェイス部201は、記録媒体110から生成プログラムPL1を読み出して制御部203bに入力する。
【0176】
記憶部202は、記録媒体110から読み出された生成プログラムPL1を記憶する。また、記憶部202は、図17を参照して説明したように、処理手順PDと、処理時間PTと、計画要素BLと、制約条件とを記憶する。
【0177】
制御部203bは、プロセッサを有する。制御部203bは、プロセッサとして、CPU、MPU、GPU、NPU、又は、量子コンピュータを有してもよい。あるいは、制御部203bは、汎用演算機又は専用演算器を有してもよい。制御部203bは、記憶部202に記憶されている各種情報に基づいて基板処理装置200の各部の動作を制御する。例えば、制御部203bは、インターフェイス部201と、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUと、記憶部202とを制御する。
【0178】
また、制御部203bは、図1図16を参照して説明した演算処理部105と同様に、生成プログラムPL1を実行して、スケジュール作成プログラムPL2を生成する。スケジュール作成プログラムPL2は、記憶部202に記憶される。制御部203bは、複数の基板Wを処理する際に、図17を参照して説明した制御部203aと同様に、スケジュール作成プログラムPL2を実行してタイムスケジュールを作成する。そして、制御部203bは、作成したタイムスケジュールに基づいて、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUとを制御する。
【0179】
以上、図18を参照して本発明の実施形態2を説明した。実施形態2によれば、実施形態1と同様に、開発者の負担を軽減できる。更に、実施形態2によれば、実施形態1と同様に、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。したがって、基板処理装置200は、所定枚数の基板Wの処理をより短い期間で完了させるタイムスケジュールを作成することができる。
【0180】
[実施形態3]
続いて図19を参照して本発明の実施形態3について説明する。但し、実施形態1、2と異なる事項を説明し、実施形態1、2と同じ事項についての説明は割愛する。実施形態3は、実施形態1、2と異なり、基板処理システム200Bがスケジュール作成装置300を備える。
【0181】
図19は、本実施形態の基板処理システム200Bを示す図である。図19に示すように、基板処理システム200Bは、スケジュール作成装置300と、基板処理装置200とを含む。
【0182】
スケジュール作成装置300は、スケジュール作成プログラムPL2に基づいて、タイムスケジュールを作成する。具体的には、スケジュール作成装置300は、入力部301と、記憶部302と、通信部303と、演算処理部304とを備える。スケジュール作成装置300は、例えば、サーバである。
【0183】
入力部301は、作業者が操作するユーザーインターフェース装置を含む。入力部301は、作業者の操作に応じた信号を演算処理部304に入力する。入力部301の構成は、図1を参照して説明した入力部101と同様であるため、その説明は割愛する。作業者は、例えば、入力部301を操作して、タイムスケジュールの作成の開始を指示することができる。
【0184】
記憶部302は、主記憶装置を有する。主記憶装置は、例えば、半導体メモリを含む。記憶部302は、補助記憶装置を更に有してもよい。補助記憶装置は、例えば、半導体メモリ及びハードディスクドライブの少なくも一方を含む。記憶部302はリムーバブルメディアを含んでもよい。記憶部302は、各種のコンピュータプログラム及び各種のデータを記憶する。具体的には、記憶部302は、スケジュール作成プログラムPL2を記憶する。図1図16を参照して説明したように、スケジュール作成プログラムPL2は、生成プログラムPL1に基づいて生成される。
【0185】
演算処理部304は、プロセッサを含む。演算処理部304は、プロセッサとして、CPU又はMPUを含んでもよい。あるいは、演算処理部304は、汎用演算機又は専用演算器を含んでもよい。演算処理部304は、図17を参照して説明した制御部203aと同様に、記憶部302に記憶されているスケジュール作成プログラムPL2を実行して、基板処理装置200に含まれる複数の構成要素(インデクサロボットIR、受渡部PS、搬送ロボットCR、及び基板処理部PU)を複数の基板Wが順次占有していくタイムスケジュールを作成する。
【0186】
通信部303は、ネットワークに接続されて、基板処理装置200との間で通信を実行する。ネットワークは、例えば、インターネット、LAN(Local Area Network)、公衆電話網、及び、近距離無線ネットワークを含む。通信部303は、通信機を含む。通信部303は、例えば、ネットワークインターフェースコントローラーである。通信部303は、演算処理部304によって制御されて、演算処理部304が作成したタイムスケジュールを基板処理装置200へ送信する。通信部303は、「送信部」の一例である。
【0187】
基板処理装置200は、複数のロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、複数の基板処理部PUと、記憶部202と、制御部203cと、通信部204とを備える。
【0188】
通信部204は、ネットワークに接続されて、スケジュール作成装置300の通信部303との間で通信を実行する。通信部204は、通信機を含む。通信部204は、例えば、ネットワークインターフェースコントローラーである。通信部204は、スケジュール作成装置300の通信部303から送信されたタイムスケジュールを受信する。通信部204は、「受信部」の一例である。
【0189】
制御部203cは、例えば、プロセッサを有する。制御部203cは、プロセッサとして、CPU又はMPUを有してもよい。あるいは、制御部203cは、汎用演算機又は専用演算器を有してもよい。制御部203cは、記憶部202に記憶されている各種情報に基づいて基板処理装置200の各部の動作を制御する。例えば、制御部203cは、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUと、記憶部202と、通信部204とを制御する。
【0190】
具体的には、制御部203cは、複数の基板Wを処理する際に、スケジュール作成装置300に対してタイムスケジュールの作成を指示する。この結果、通信部204がスケジュール作成装置300からタイムスケジュールを受信する。制御部203cは、通信部204が受信したタイムスケジュールに基づいて、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUとを制御する。
【0191】
詳しくは、制御部203cは、タイムスケジュールの作成を指示する命令を、通信部204からスケジュール作成装置300へ送信させる。この結果、通信部204がスケジュール作成装置300からタイムスケジュールを受信する。制御部203cは、タイムスケジュールの作成を指示する際に、処理手順PDを示す情報と、処理時間PTを示す情報と、計画要素BLを示す情報と、制約条件とを通信部204からスケジュール作成装置300へ送信させてもよい。
【0192】
以上、図19を参照して本発明の実施形態3を説明した。実施形態3によれば、実施形態1、2と同様に、開発者の負担を軽減できる。更に、実施形態3によれば、実施形態1、2と同様に、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。したがって、基板処理装置200は、所定枚数の基板Wの処理をより短い期間で完了させるタイムスケジュールを作成することができる。
【0193】
[実施形態4]
続いて図20を参照して本発明の実施形態4について説明する。但し、実施形態1~3と異なる事項を説明し、実施形態1~3と同じ事項についての説明は割愛する。実施形態4は、実施形態1~3と異なり、基板処理システム200Cがスケジュール作成プログラム生成装置100を備える。
【0194】
図20は、本実施形態の基板処理システム200Cを示す図である。図20に示すように、基板処理システム200Cは、スケジュール作成プログラム生成装置100と、基板処理装置200とを含む。スケジュール作成プログラム生成装置100は、例えば、サーバである。
【0195】
スケジュール作成プログラム生成装置100は、入力部101と、記憶部102と、演算処理部105と、通信部106とを備える。演算処理部105は、図1図16を参照して説明したように、記憶部102に記憶されている生成プログラムPL1を実行して、スケジュール作成プログラムPL2を生成する。
【0196】
通信部106は、ネットワークに接続されて、基板処理装置200との間で通信を実行する。通信部106は、演算処理部105によって制御されて、演算処理部105が作成したスケジュール作成プログラムPL2を基板処理装置200へ送信する。通信部106は、「送信部」の一例である。なお、通信部106の構成は、図19を参照して説明した通信部303と同様であるため、その説明は割愛する。
【0197】
基板処理装置200は、複数のロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、複数の基板処理部PUと、記憶部202と、制御部203aと、通信部204とを備える。
【0198】
通信部204は、ネットワークに接続されて、スケジュール作成プログラム生成装置100の通信部106との間で通信を実行する。通信部204は、スケジュール作成プログラム生成装置100の通信部106から送信されたスケジュール作成プログラムPL2を受信する。通信部204によって受信されたスケジュール作成プログラムPL2は、記憶部202に記憶される。
【0199】
制御部203aは、複数の基板Wを処理する際に、スケジュール作成プログラムPL2を実行してタイムスケジュールを作成する。そして、制御部203aは、作成したタイムスケジュールに基づいて、ロードポートLPと、インデクサロボットIRと、搬送ロボットCRと、基板処理部PUとを制御する。
【0200】
以上、図20を参照して本発明の実施形態4を説明した。実施形態4によれば、実施形態1~3と同様に、開発者の負担を軽減できる。更に、実施形態4によれば、実施形態1~3と同様に、タイムスケジュールの時間長をより目標値に近づけることができるスケジュール作成プログラムPL2を生成できる。したがって、基板処理装置200は、所定枚数の基板Wの処理をより短い期間で完了させるタイムスケジュールを作成することができる。
【0201】
以上、図面(図1図20)を参照して本発明の実施形態について説明した。ただし、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施できる。また、上記の実施形態に開示される複数の構成要素は適宜改変可能である。例えば、ある実施形態に示される全構成要素のうちのある構成要素を別の実施形態の構成要素に追加してもよく、又は、ある実施形態に示される全構成要素のうちのいくつかの構成要素を実施形態から削除してもよい。
【0202】
図面は、発明の理解を容易にするために、それぞれの構成要素を主体に模式的に示しており、図示された各構成要素の厚さ、長さ、個数、間隔等は、図面作成の都合上から実際とは異なる場合もある。また、上記の実施形態で示す各構成要素の構成は一例であって、特に限定されるものではなく、本発明の効果から実質的に逸脱しない範囲で種々の変更が可能であることは言うまでもない。
【0203】
例えば、図1図20を参照して説明した実施形態において、基板処理装置WP及び基板処理装置200は枚葉式の装置であったが、基板処理装置WP及び基板処理装置200はバッチ式の装置であってもよい。
【0204】
また、基板処理装置200は、基板Wを処理する装置である限り、特に限定されない。例えば、基板処理装置200は、薬液洗浄装置、ブラシ洗浄装置、ウェットエッチング装置、ドライエッチング装置、塗布装置、現像装置、露光装置、コータデベロッパー、ベーク装置、又は成膜装置であってもよい。
【0205】
また、図1図20を参照して説明した実施形態において、変更処理後の報酬関数として、曲線状のグラフを表す関数(報酬関数3、3a~3f、及び4a~4c)、及び直線状のグラフを表す関数(報酬関数5)を例示したが、変更処理後の報酬関数は、対象区間TSにおける勾配が報酬関数2の勾配より大きい限り、特に限定されない。例えば、変更処理後の報酬関数は、ステップ状のグラフを示す階段関数であってもよい。
【産業上の利用可能性】
【0206】
本発明は、基板を処理する装置に有用である。
【符号の説明】
【0207】
2、3、3a~3f、4a~4c、5 :報酬関数
8A、8B :ハンド
13A、13B :ハンド
100 :スケジュール作成プログラム生成装置
100A :スケジュール作成プログラム生成システム
102 :記憶部
105 :演算処理部
106 :通信部
110 :記録媒体
120 :強化学習システム
200 :基板処理装置
200B :基板処理システム
200C :基板処理システム
202 :記憶部
203a :制御部
203b :制御部
203c :制御部
204 :通信部
300 :スケジュール作成装置
302 :記憶部
303 :通信部
304 :演算処理部
BL、NBL、ABL :計画要素
BL1 :第1計画要素
BL2、BL2-1~BL2-4 :第2計画要素
BL3 :第3計画要素
BL4 :第4計画要素
PL1 :生成プログラム
PL2 :スケジュール作成プログラム
PS1 :棚
PS2 :棚
PU :基板処理部
PU1 :第1基板処理部
PU2 :第2基板処理部
PU4 :第4基板処理部
TB :タイムテーブル
TS :対象区間
W :基板
WP :基板処理装置
rw1 :最小値
rw2 :最大値
t21 :最終払出時刻
t22 :最終払出時刻
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20