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

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

▶ アスペン テクノロジー インコーポレイテッドの特許一覧

特許7162075バッチプロセスのモデル化、監視及び制御におけるバッチデータの自動アライメントのためのコンピュータシステム、方法およびコンピュータプログラムプロダクト
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-19
(45)【発行日】2022-10-27
(54)【発明の名称】バッチプロセスのモデル化、監視及び制御におけるバッチデータの自動アライメントのためのコンピュータシステム、方法およびコンピュータプログラムプロダクト
(51)【国際特許分類】
   G05B 23/02 20060101AFI20221020BHJP
【FI】
G05B23/02 G
G05B23/02 Z
【請求項の数】 19
(21)【出願番号】P 2020560744
(86)(22)【出願日】2019-03-20
(65)【公表番号】
(43)【公表日】2021-08-30
(86)【国際出願番号】 US2019023160
(87)【国際公開番号】W WO2019212653
(87)【国際公開日】2019-11-07
【審査請求日】2020-12-24
(31)【優先権主張番号】15/967,099
(32)【優先日】2018-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500204511
【氏名又は名称】アスペンテック・コーポレーション
【氏名又は名称原語表記】AspenTech Corporation
(74)【代理人】
【識別番号】100087941
【弁理士】
【氏名又は名称】杉本 修司
(74)【代理人】
【識別番号】100112829
【弁理士】
【氏名又は名称】堤 健郎
(74)【代理人】
【識別番号】100142608
【弁理士】
【氏名又は名称】小林 由佳
(74)【代理人】
【識別番号】100154771
【弁理士】
【氏名又は名称】中田 健一
(74)【代理人】
【識別番号】100155963
【弁理士】
【氏名又は名称】金子 大輔
(74)【代理人】
【識別番号】100150566
【弁理士】
【氏名又は名称】谷口 洋樹
(74)【代理人】
【識別番号】100213470
【弁理士】
【氏名又は名称】中尾 真二
(74)【代理人】
【識別番号】100220489
【弁理士】
【氏名又は名称】笹沼 崇
(72)【発明者】
【氏名】カスティロ・カスティロ・ペドロ・アレジャンドロ
(72)【発明者】
【氏名】ツァオ・ホン
(72)【発明者】
【氏名】ブルワー・マーク-ジョン
(72)【発明者】
【氏名】ラオ・アショック
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特表2013-526751(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
工業的バッチプロセスのモデル化、監視及び制御用にバッチデータのアライメントを自動的に実行する、コンピュータに実装される方法であって、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードする過程と、
ロードした前記バッチデータを、バッチアライメント用にスケーリングする過程と、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外する過程と、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択する過程と、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)する過程と、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択する過程と、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定する過程と、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行する過程と、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節する過程と、
前記バッチアライメントを、オフラインモードで実行する過程と、
前記バッチアライメントを、オンラインモードで実行する過程であって、前記オフラインモードで実行する過程とは別個に実行される過程、と、
を備える、方法。
【請求項2】
請求項1に記載の方法において、前記外れバッチデータをスクリーニング及び除外する前記過程が、
a)選択した前記バッチ変数の測定値を、スクリーニング対象の前記バッチデータのうちの他のバッチに関わる挙動と比較して異常な挙動を示しているか否かについて、さらにスクリーニングする副過程、
b)スクリーニング対象の前記バッチデータのうち、前記異常な挙動に関連したデータを修正する副過程、
c)データ修正後のスクリーニング対象の前記バッチデータから、所与の期間に亘る変動プロファイルが前記他のバッチと比較して異なっているバッチを含め、少なくとも1つの有効でないバッチを除外する副過程、
d)選択した前記バッチ変数を、ベースサンプリングレートでサンプリングし直す副過程、および
e)選択した前記所与のバッチをエクスポートする副過程、
のうちの1つ以上を含む、方法。
【請求項3】
請求項1に記載の方法において、前記参照バッチを選択する前記過程が、
a)スクリーニング済みの前記バッチデータから複数の参照バッチをさらに選択し、さらに選択した当該複数の参照バッチについて、複数同士の平均値と比較しての複数の各バッチの統計学的な量的尺度を計算する副過程、
b)さらに選択した前記複数の参照バッチのうちの1つ以上を、複数の各バッチの経時的進行を表す時間軸と合わせて、変数プロファイルと共に所与の表示でまとめてユーザに表示する副過程、
c)スクリーニング済みの前記バッチデータのうち、前記バッチアライメント用のバッチ部分集合を、前記所与の表示およびユーザ自身のドメイン知識に基づいてユーザが選択するのを可能にする副過程、ならびに
d)選択した前記バッチ変数のうち、前記バッチアライメントに参加させない1つ以上のバッチ変数をユーザが放棄するのを可能にする副過程、
のうちの1つ以上を含む、方法。
【請求項4】
請求項1に記載の方法において、前記少なくとも1つのバッチ変数を選択する前記過程が、
a)前記少なくとも1つのバッチ変数のうち、フラットな軌跡又は互いに一貫性が低い軌跡を有する1つ以上のバッチ変数を放棄する副過程、
b)前記少なくとも1つのバッチ変数からバッチ部分集合を選択する副過程、
c)前記少なくとも1つのバッチ変数のうちの相関する変数同士をグループ化する副過程、
d)前記少なくとも1つのバッチ変数のうちの各バッチ変数に関する所与のフェーズでの、前記少なくとも1つのバッチ変数の軌跡形状を特定する副過程、
e)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方について、平滑性指数を計算する副過程、
f)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、曲線性指数を計算する副過程、
g)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、一貫性指数を計算する副過程、
h)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方に関するアライメントスコアを求める副過程、
i)放棄した前記バッチ変数、選択した前記バッチ部分集合、グループ化した前記相関する変数、特定した前記軌跡形状、計算した前記平滑性指数、計算した前記曲線性指数、計算した前記一貫性指数、および求めた前記アライメントスコアのうちの1つ以上を、ユーザに表示する副過程、ならびに
j)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、任意のものをさらに選択するよう1つ以上の指示をユーザに対して行う副過程、
のうちの1つ以上を含む、方法。
【請求項5】
請求項1に記載の方法において、前記少なくとも1つの重み付けを推定する前記過程が、
a)選択した前記バッチ変数のうちの少なくとも1つのデフォルト変数の重み付け係数を、当該少なくとも1つのデフォルト変数に関する軌跡形状に従って予備計算する副過程、
b)選択した前記バッチ変数のうちの1つ以上のバッチ変数のランク及び標準偏差に基づいて、前記少なくとも1つの重み付けのうちの1つ以上を調節する副過程、
c)前記少なくとも1つの重み付けに、対応する一貫性指数を乗算する副過程、ならびに
d)前記少なくとも1つの重み付けのさらなる調節を反復的に行う副過程、
のうちの1つ以上を含む、方法。
【請求項6】
請求項1に記載の方法において、前記バッチアライメントを前記オンラインモードで実行する前記過程が、さらに、
a)前記対象の工業的バッチプロセスの最新バッチの、アライメント用のフェーズを決定する副過程、
b)前記最新のバッチフェーズに関する、推定した前記少なくとも1つの変数重み付けを選択する副過程、
c)動的時間伸縮(DTW)に関係させる、推定した前記少なくとも1つの変数重み付けを、前記対象の工業的バッチプロセスの直前の連続するアライメント点の情報に基づいて調節する副過程、
d)前記動的時間伸縮(DTW)に基づいて、前記対象の工業的バッチプロセスの最新のバッチ成熟度を推定する副過程、
e)前記動的時間伸縮(DTW)による前記最新のバッチ成熟度の推定値に基づいて、推定した前記少なくとも1つの変数重み付けを調節する副過程、
f)前記最新のバッチ成熟度の推定値に基づいて、前記動的時間伸縮(DTW)によるバッチ成熟度の上下界のうちの少なくとも一方を調節する副過程、
g)前記対象の工業的バッチプロセスに関するスライディング窓の始点を変更する副過程、
h)予測値を計算し、選択した前記バッチ変数の軌跡形状の変化を検出する副過程、
i)前記動的時間伸縮(DTW)の解の下界と前記スライディング窓の始点との近接性に基づいて、当該スライディング窓のサイズを拡張する副過程、
j)少なくとも1つのアライメント時刻を特定する副過程、
k)特定した前記アライメント時刻に基づいて、前記スライディング窓の前記サイズを拡張させるか否かを確認する副過程、
l)前記最新のアライメント窓のサイズに基づいて、バッチ成熟度の上下界のうちの少なくとも一方をさらに調節する副過程、
m)前記最新バッチの前記アライメントを実行する副過程、ならびに
n)前記最新バッチについて副過程(a)から(m)までを現在のバッチの時間にわたって繰り返す副過程、
のうちの1つ以上を含む、方法。
【請求項7】
請求項6に記載の方法において、さらに、
a)前記バッチアライメントを、累積距離を用いた終点未定問題として定義する過程と、
b)定義した前記バッチアライメント、前記最新バッチのデータ点の数、および前記参照バッチのデータ点の数に基づいて、グリッドを生成する過程と、
c)生成した前記グリッドを単調的にトラバースすることにより、当該生成したグリッドに関するワーピングパスを求める過程と、
のうちの1つ以上を備える、方法。
【請求項8】
請求項6に記載の方法において、前記スライディング窓のアライメントが、黄金分割探索(GSS)の改変版による動的時間補間(DTI)に基づいたものであり、当該方法が、さらに、
a)前記スライディング窓のアライメントを、線形補間値を含む目的関数に基づいて定義する過程、
を備える、方法。
【請求項9】
請求項4に記載の方法において、前記相関する変数同士をグループ化する前記副過程が、さらに、
a)スクリーニング済みの前記バッチデータの展開に基づいて、主成分解析(PCA)モデルを構築すること、および
b)前記主成分解析(PCA)モデルの少なくとも1つのスコアにK-meansクラスタリングを適用すること、
のうちの1つ以上を有する、方法。
【請求項10】
工業的バッチプロセスのモデル化、監視及び制御用にバッチデータのアライメントを自動的に実行する、コンピュータに実装されるシステムであって、
プロセッサと、
コンピュータコード命令が記憶されたメモリであって、当該コンピュータコード命令が前記プロセッサにより実行されることでモデラエンジンが当該コンピュータシステムに実装されるように、前記プロセッサに動作可能に接続されている、メモリと、
を備え、前記モデラエンジンが、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードし、
ロードした前記バッチデータを、バッチアライメント用にスケーリングし、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外し、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択し、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)し、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択し、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定し、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行し、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節し、
前記バッチアライメントを、オフラインモードで実行し、
前記バッチアライメントを、オンラインモードで、前記オフラインモードでの実行とは別個に実行する、
ように構成されている、システム。
【請求項11】
請求項10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)選択した前記バッチ変数の測定値を、スクリーニング対象の前記バッチデータのうちの他のバッチに関わる挙動と比較して異常な挙動を示しているか否かについて、さらにスクリーニングすること、
b)スクリーニング対象の前記バッチデータのうち、前記異常な挙動に関連したデータを修正すること、
c)データ修正後のスクリーニング対象の前記バッチデータから、所与の期間に亘る変動プロファイルが前記他のバッチと比較して異なっているバッチを含め、少なくとも1つの有効でないバッチを除外すること、
d)選択した前記バッチ変数を、ベースサンプリングレートでサンプリングし直すこと、および
e)選択した前記所与のバッチをエクスポートすること、
のうちの1つ以上を含め、前記外れバッチデータをスクリーニング及び除外するように構成されている、システム。
【請求項12】
請求項10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)スクリーニング済みの前記バッチデータから複数の参照バッチをさらに選択し、さらに選択した当該複数の参照バッチについて、複数同士の平均値と比較しての複数の各バッチの統計学的な量的尺度を計算すること、
b)さらに選択した前記複数の参照バッチのうちの1つ以上を、複数の各バッチの経時的進行を表す時間軸と合わせて、変数プロファイルと共に所与の表示でまとめてユーザに表示すること、
c)スクリーニング済みの前記バッチデータのうち、前記バッチアライメント用のバッチ部分集合を、前記所与の表示およびユーザ自身のドメイン知識に基づいてユーザが選択するのを可能にすること、ならびに
d)選択した前記バッチ変数のうち、前記バッチアライメントに参加させない1つ以上のバッチ変数をユーザが放棄するのを可能にすること、
のうちの1つ以上を含め、前記参照バッチを選択するように構成されている、システム。
【請求項13】
請求項10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記少なくとも1つのバッチ変数のうち、フラットな軌跡又は互いに一貫性が低い軌跡を有する1つ以上のバッチ変数を放棄すること、
b)前記少なくとも1つのバッチ変数からバッチ部分集合を選択すること、
c)前記少なくとも1つのバッチ変数のうちの相関する変数同士をグループ化すること、
d)前記少なくとも1つのバッチ変数のうちの各バッチ変数に関する所与のフェーズでの、前記少なくとも1つのバッチ変数の軌跡形状を特定すること、
e)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方について、平滑性指数を計算すること、
f)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、曲線性指数を計算すること、
g)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、一貫性指数を計算すること、
h)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方に関するアライメントスコアを求めること、
i)放棄した前記バッチ変数、選択した前記バッチ部分集合、グループ化した前記相関する変数、特定した前記軌跡形状、計算した前記平滑性指数、計算した前記曲線性指数、計算した前記一貫性指数、および求めた前記アライメントスコアのうちの1つ以上を、ユーザに表示すること、ならびに
j)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、任意のものをさらに選択するよう1つ以上の指示をユーザに対して行うこと、
のうちの1つ以上を含め、前記少なくとも1つのバッチ変数を選択するように構成されている、システム。
【請求項14】
請求項10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)選択した前記バッチ変数のうちの少なくとも1つのデフォルト変数の重み付け係数を、当該少なくとも1つのデフォルト変数に関する軌跡形状に従って予備計算すること、
b)選択した前記バッチ変数のうちの1つ以上のバッチ変数のランク及び標準偏差に基づいて、前記少なくとも1つの重み付けのうちの1つ以上を調節すること、
c)前記少なくとも1つの重み付けに、対応する一貫性指数を乗算すること、ならびに
d)前記少なくとも1つの重み付けのさらなる調節を反復的に行うこと、
のうちの1つ以上を含め、前記少なくとも1つの重み付けを推定するように構成されている、システム。
【請求項15】
請求項10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記対象の工業的バッチプロセスの最新バッチの、アライメント用のフェーズを決定すること、
b)前記最新のバッチフェーズに関する、推定した前記少なくとも1つの変数重み付けを選択すること、
c)動的時間伸縮(DTW)に関係させる、推定した前記少なくとも1つの変数重み付けを、前記対象の工業的バッチプロセスの直前の連続するアライメント点の情報に基づいて調節すること、
d)前記動的時間伸縮(DTW)に基づいて、前記対象の工業的バッチプロセスの最新のバッチ成熟度を推定すること、
e)前記動的時間伸縮(DTW)による前記最新のバッチ成熟度の推定値に基づいて、推定した前記少なくとも1つの変数重み付けを調節すること、
f)前記最新のバッチ成熟度の推定値に基づいて、前記動的時間伸縮(DTW)によるバッチ成熟度の上下界のうちの少なくとも一方を調節すること、
g)前記対象の工業的バッチプロセスに関するスライディング窓の始点を変更すること、
h)予測値を計算し、選択した前記バッチ変数の軌跡形状の変化を検出すること、
i)前記動的時間伸縮(DTW)の解の下界と前記スライディング窓の始点との近接性に基づいて、当該スライディング窓のサイズを拡張すること、
j)少なくとも1つのアライメント時刻を特定すること、
k)特定した前記アライメント時刻に基づいて、前記スライディング窓の前記サイズを拡張させるか否かを確認すること、
l)前記最新のアライメント窓のサイズに基づいて、バッチ成熟度の上下界のうちの少なくとも一方をさらに調節すること、
m)前記最新バッチの前記アライメントを実行すること、ならびに
n)前記最新バッチについて(a)から(m)までを現在のバッチの時間にわたって繰り返すこと、
のうちの1つ以上を含め、前記バッチアライメントを前記オンラインモードで実行するように構成されている、システム。
【請求項16】
請求項15に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記バッチアライメントを、累積距離を用いた終点未定問題として定義すること、
b)定義した前記バッチアライメント、前記最新バッチのデータ点の数、および前記参照バッチのデータ点の数に基づいて、グリッドを生成すること、ならびに
c)生成した前記グリッドを単調的にトラバースすることにより、当該生成したグリッドに関するワーピングパスを求めること、
のうちの1つ以上を実行するように構成されている、システム。
【請求項17】
請求項15に記載のシステムにおいて、前記スライディング窓のアライメントが、黄金分割探索(GSS)の改変版による動的時間補間(DTI)に基づいたものであり、前記モデラエンジンが、さらに、
a)前記スライディング窓のアライメントを、線形補間値を含む目的関数に基づいて定義する、
ように構成されている、システム。
【請求項18】
請求項13に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)スクリーニング済みの前記バッチデータの展開に基づいて、主成分解析(PCA)モデルを構築すること、および
b)前記主成分解析(PCA)モデルの少なくとも1つのスコアにK-meansクラスタリングを適用すること、
のうちの1つ以上を含め、前記相関する変数同士をグループ化するように構成されている、システム。
【請求項19】
コード命令が記憶された非過渡的なコンピュータ読取り可能記憶媒体、
を備える、コンピュータプログラムプロダクトであって、
前記記憶媒体は、プロセッサにより前記コンピュータコード命令が工業用バッチプロセスのモデル化、監視及び制御のために実行されると、当該コンピュータコード命令によって前記プロセッサが、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードする手順、
ロードした前記バッチデータを、バッチアライメント用にスケーリングする手順、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外する手順、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択する手順、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)する手順、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択する手順、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定する手順、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行する手順、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節する手順
前記バッチアライメントを、オフラインモードで実行する手順、ならびに
前記バッチアライメントを、オンラインモードで実行する手順であって、前記オフラインモードで実行する手順とは別個に実行する、手順、
を実行することになるように、前記プロセッサに動作可能に接続されている、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【関連出願】
【0001】
本願は、2018年4月30日付出願の米国特許出願第15/967,099号の継続出願である。上記出願の全教示内容は、参照をもって本明細書に取り入れたものとする。
【背景技術】
【0002】
プロセス産業では、過去30年間で高度プロセス制御(例えば、多変数予測制御(すなわち、MPC))や実時間最適化(RT-OPT)が進歩し、実際に適用されてきた。何千ものMPCシステムが精製所や化学プラントや石油化学処理ユニットやその他の製造業者で稼働しており、彼らの利益を最大化しながらそれらのプロセスの安全な操業を維持している。しかし、上記の成功のほとんどは、連続方式の製造プロセスに集中している。逆に、プロセス産業でしばしば見受けられる別の種類の重要な生産プロセスであるバッチプロセスでは、最新技術がかなり遅れている。バッチプロセスの多くは、従来の比例-積分-微分(PID)制御で操業しており、場合によっては手動の制御で操業している。
【0003】
バッチプロセスは、数ある中でも医薬、生化学、食品やバイオなどの幾つかの産業で重要な役割を果たしている。よって、バッチ方式の生産プロセスで高度なモデル化システムや監視システムや制御システムを開発及び配備することは、従来のエネルギー産業や石油化学産業だけに留まらず、数多くの製造業者、特には特殊薬品産業や医薬産業の製造業者が所望するところであり且つ彼らにとって極めて有益である。
【0004】
バッチプロセスは、開始時点、終了時点、および当該時点間での変数の何らかの変化を含むプロセスである。バッチプロセスの典型例は、特殊薬品、医薬品、混合及び攪拌、ポリマープロセシング、半導体製造、食品の加工などの製造産業でしばしば見受けられる。バッチ方式の生産プロセスは、連続プロセスとは違って、当該連続プロセスで広く利用されているMPC、RT-OPT技術などといった既存のアプローチの適用を不適なものにする特殊な性質を数多く有している。バッチプロセスでは、それに代えて、特殊なモデル化技術や制御技術の一式が要求される。多くのバッチ方式の生産プロセスに伴う、生化学発酵過程、重合過程などの物理的メカニズムや化学的メカニズムや生物学的メカニズムが未だ解明されていないことを理由に、第一原理モデルベースのバッチモデル化技術や制御技術は未だに発展途上である。医薬産業の大半の生化学的バッチプロセスや特殊薬品産業の数多くの物理的バッチプロセスや化学的バッチプロセスについては、正確な第一原理モデルを構築することが未だに難しい。
【0005】
これに対し、バッチの履歴データを基に構築された多変量統計モデルを用いるデータドリブンなアプローチが魅力を増しており、かつ、実用性も示唆している。数多くの学術的事例研究や論文が公表されているが、これらは、バッチプロセスを監視及び制御するのに、主成分解析(PCA)や潜在的構造投影(PLA)の多変量統計モデルを構築及び利用することも含め、非常によく見受けられる既存のアプローチを用いたものである(非特許文献1を参照のこと)。しかしながら、これらの学術的研究の注力は未だに数学的アルゴリズムの開発及び改善の段階であり、模擬問題や小規模の試験的問題が重点となっている。工業的な実用には、体系的な解決手段が未だに欠如している。本開示は、工業上のこのような体系的な解決手段へと向かう重要な前進となる。
【0006】
より詳細に述べると、バッチのデータドリブンなモデル化における基本的な課題の一つは、各バッチの完了までの経時的長さが一貫し得ないため、バッチのデータドリブンなモデル化、監視及び制御戦略を実施するにも、「バッチデータのアライメント」が重要かつ必須の工程になるという点である。バッチデータのアライメント問題についての学術的研究や事例研究は報告されている(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)ものの、これらの既存のアプローチで提案されているアプローチは、動的時間伸縮(DTW)アルゴリズムに基づいたものであった。DTWアプローチではアライメント結果が望ましいものにならない場合があり得ることが知られており(非特許文献6)、DTWアプローチは、工業的な実用にまで十分に成熟しているとは言えない。
【0007】
より重要なことに、既存のアプローチには、工業用途でのオフラインとオンラインの双方でのデータアライメントにおける数多くの実用上の課題に対処することのできる体系的な手法が欠如している。
【先行技術文献】
【非特許文献】
【0008】
【文献】Paul Nomikos, John F. MacGregor, “Monitoring Batch Processes Using Multiway Principal Component Analysis, AIChE Journal,” 40(8), 1361-1375 (August 1994)
【文献】Gonzalez-Martinez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011)
【文献】Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014)
【文献】Gonzalez Martinez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014)
【文献】Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003)
【文献】Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)
【発明の概要】
【発明が解決しようとする課題】
【0009】
本開示では、モデル化を行うためのオフラインでのバッチデータのアライメントとプロセス監視及び制御を行うためのオンラインでのバッチデータのアライメントの双方に適したバッチデータアライメント及び自動ワークフローの数多くの工程に詳細に取り組む、包括的な方法(及びシステム)について説明する。本発明の態様では、リアルタイムアプリケーション用モデル化のためのアプローチを提供する。
【課題を解決するための手段】
【0010】
バッチの履歴データを基に始まる、オフラインとオンラインでのバッチデータのアライメントを自動的に実行する、新たなコンピュータ方法(及びシステム)について開示する。当該システムは、次の主なタスクを実行することが可能である:(1)利用可能なバッチ履歴データのロード;(2)バッチ履歴データのスケーリング、スクリーニング、ならびに外れバッチ(outlier batch)の特定及び排除;(3)各種尺度に基づく、アライメント用の最適な参照バッチの選択;(4)ユーザに対する、バッチフェーズの設定及び計算の支援;(5)アライメント手順に参加させるキー変数の選択;(6)アライメントを最適なものにする変数重み付け係数の推定;(7)オフラインモード、オンラインモード、またはオフラインモードとオンラインモードの双方でのバッチアライメントの実行。
【0011】
本開示のシステムは、上記の工程(7)にて、オフラインアプリケーションとオンラインアプリケーションの双方でバッチアライメントを実行し得る。オフラインの場合には、バッチデータがプラントヒストリアンから入手可能であり得て、かつ、その主な用途は、バッチ原料成分に関する製品品質分析や、レシピ比較、操業手順最適化、操業問題診断などといった、過去のバッチ操業データについてのバッチモデル化や解析である。
【0012】
オンラインの場合には、現在実行中のバッチが、選ばれた参照バッチに対してバッチアライメントを実施される。その用途は、目下のバッチプロセスの進行の監視や最終製品の品質の予測などであり得る。オンラインの場合には、バッチが未だ実行中であり部分的なバッチデータしか利用できないため、スライディング時間窓を使ってバッチアライメントを繰返し実施することになる。
【0013】
前記システムは、既存のアプローチの標準的な動的時間伸縮(DTW)アプローチ(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)よりも向上した解を提供する。本開示のシステムは、オフラインとオンラインの双方でのアライメントにスライディング時間窓によるいわゆる動的時間補間(DTI)アルゴリズムを用いてバッチアライメント問題の解を求めるものであり、工業用途の既存のアプローチでのDTW解よりも好適かつ望ましい、滑らかな結果を生じさせる。本開示のアプローチは、DTWアルゴリズムとは違って、バッチアライメント問題を解の算出すべき連続的最適化問題として定義及び定式化するものであり、その結果は時間的に連続したものとなると共に常に滑らかなものになる。
【0014】
詳細には、リアルタイム(オンライン)の場合、バッチ最中の時点なので部分的な(過去の)バッチデータしか利用することができない。解を求めるべき問題は、条件が経時的に時間変化する繰返し最小化である。アライメントを実施すべき現在のバッチが進行中のプロセスであるのに対し参照バッチは完了済みのバッチなので、前記システムは、現在のバッチがどのフェーズにあるのか、および当該現在のバッチの成熟度がどれほどなのかを求めなければならない。また、各バッチフェーズで、プロセス変数の変動(プロファイル)は異なったものになり得る。よって、バッチアライメント問題では、プロセス変数の重み付けがそれに合わせて変えられ得る。これらの要因により、オンラインでのバッチアライメント問題はより複雑なものとなり得て、解の算出時間も長くなる。本開示のシステムでは、オンラインアライメントの総計算時間を短くするために、スライディング窓を導入しているほか、DTWオンライン最小化の改変版、および黄金分割探索(GSS)法によるDTIを用いる。
【0015】
より詳細には、一部の実施形態における前記システムは、次の具体的な工程を実行してバッチ進行中の任意の時点でのアライメントを最適なものにし得る:(1)最新の(現在の)バッチフェーズの確定;(2)対応する一連の変数重み付けの選択;(3)バッチのそれまでの時点で存在する情報に基づく、変数重み付けの調節;(4)DTWアルゴリズムの適用による、バッチ成熟度の推定;(5)推定した成熟度に基づく、変数重み付けのさらなる調節;(6)バッチ成熟度の上下界の調節;(7)スライディング窓の始点の決定;(8)予測ステップの算出;(9)必要に応じて行う、スライディング窓のサイズの拡張およびバッチ成熟度の上下界の再調節;(10)キーアライメント時刻の特定;(11)最終アライメントにおけるキーアライメント時刻同士の、DTWアルゴリズムの適用による相対位置の確定;(12)GSSアルゴリズムを使ったDTIの適用による、最新アライメントの微調整及び最終決定;(13)オンラインアプリケーションエンジン(例えば、PCAモデル、PLSモデル等)に対する最新アライメント結果の出力、および次のサンプリング/計算サイクルまでの待機。
【0016】
本発明の例示的な実施形態は、工業的バッチプロセスをモデル化、監視及び制御する、コンピュータに実装される方法、コンピュータシステム及びコンピュータプログラムプロフダクトに向けられている。当該コンピュータシステムは、プロセッサと、コンピュータコード命令が記憶されたメモリと、を備える。当該メモリは、前記コンピュータコード命令が前記プロセッサにより実行されることでモデラエンジンが前記コンピュータシステムに実装されるように、前記プロセッサに動作可能に接続されている。前記コンピュータプログラムプロダクトは、コード命令が記憶された非過渡的なコンピュータ読取り可能記憶媒体、を備える。当該記憶媒体は、前記コンピュータコード命令がプロセッサにより実行されることで工業的バッチプロセスが当該プロセッサによりモデル化、監視及び制御されるように、当該プロセッサに動作可能に接続されている。
【0017】
一部の実施形態において、前記コンピュータ方法、(解析エンジンによる)システム、およびプログラムプロダクトは、プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードする。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、ロードした前記バッチデータを、バッチアライメント用にスケーリングする。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記バッチアライメントに関する少なくとも1つの調整パラメータを調節する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記バッチアライメントを、オフラインモード又はオンラインモードで実行する。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記バッチアライメントを、オフラインモード及びオンラインモードのうちの少なくとも一方で実行する。
【0018】
例示的な実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記外れバッチデータをさらにスクリーニング及び除外し得る。よって、前記コンピュータ方法、システム、およびプログラムプロダクトは、さらに、選択した前記バッチ変数の測定値を、スクリーニング対象の前記バッチデータのうちの他のバッチに関わる挙動と比較して異常な挙動を示しているか否かについて、スクリーニングし得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング対象の前記バッチデータのうち、前記異常な挙動に関連したデータを修正し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、データ修正後のスクリーニング対象の前記バッチデータから、所与の期間に亘る変動プロファイルが前記他のバッチと比較して異なっているバッチを含め、少なくとも1つの有効でないバッチを除外し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、選択した前記バッチ変数を、ベースサンプリングレートでサンプリングし直し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、選択した前記所与のバッチをエクスポートし得る。
【0019】
例示的な実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記参照バッチをさらに選択し得る。よって、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータから複数の参照バッチをさらに選択し、さらに選択した当該複数の参照バッチについて、複数同士の平均値と比較しての複数の各バッチの統計学的な量的尺度を計算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、さらに選択した前記複数の参照バッチのうちの1つ以上を、複数の各バッチの経時的進行を表す時間軸と合わせて、変数プロファイルと共に所与の表示でまとめてユーザに表示し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータのうち、前記バッチアライメント用のバッチ部分集合を、前記所与の表示およびユーザ自身のドメイン知識に基づいてユーザが選択するのを可能にし得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、選択した前記バッチ変数のうち、前記バッチアライメントに参加させない1つ以上のバッチ変数をユーザが放棄するのを可能にし得る。
【0020】
前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数を選択し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数のうち、フラットな軌跡又は互いに一貫性が低い軌跡を有する1つ以上のバッチ変数を放棄し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数からバッチ部分集合を選択し得る。一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、相関する変数同士をグループ化し得る。よって、前記コンピュータ方法、システム、およびプログラムプロダクトは、スクリーニング済みの前記バッチデータの展開に基づいて、主成分解析(PCA)モデルを構築し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記主成分解析(PCA)モデルの少なくとも1つのロード情報にK-meansクラスタリングを適用し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数のうちの各バッチ変数に関する所与のフェーズでの、前記少なくとも1つのバッチ変数の軌跡形状を特定し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方について、平滑性指数を計算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、曲線性指数を計算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、一貫性指数を計算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方に関するアライメントスコアを求め得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、放棄した前記バッチ変数、選択した前記バッチ部分集合、グループ化した前記相関する変数、特定した前記軌跡形状、計算した前記平滑性指数、計算した前記曲線性指数、計算した前記一貫性指数、および求めた前記アライメントスコアのうちの1つ以上を、ユーザに表示し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、任意のものをさらに選択するよう1つ以上の指示をユーザに対して行い得る。
【0021】
一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つの変数重み付け(重み付け係数)をさらに推定し得る。よって、前記コンピュータ方法、システム、およびプログラムプロダクトは、選択した前記バッチ変数のうちの少なくとも1つのデフォルト変数の重み付け係数を、当該少なくとも1つのデフォルト変数に関する軌跡形状に従って予備計算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、選択した前記バッチ変数のうちの1つ以上のバッチ変数のランク及び標準偏差に基づいて、前記少なくとも1つの重み付けのうちの1つ以上を調節し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つの重み付けに、対応する一貫性指数を乗算し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記少なくとも1つの重み付けのさらなる調節を反復的に行い得る。
【0022】
前記コンピュータ方法、システム、およびプログラムプロダクトは、前記バッチアライメントを前記オンラインモードで実行し得る。よって、前記コンピュータ方法、システム、およびプログラムプロダクトは、前記対象の工業的バッチプロセスの最新バッチの、アライメント用のフェーズを決定し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記最新のバッチフェーズに関する、推定した前記少なくとも1つの変数重み付けを選択し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、動的時間伸縮(DTW)に関係させる、推定した前記少なくとも1つの変数重み付けを、前記対象の工業的バッチプロセスの直前の連続するアライメント点の情報に基づいて調節し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記動的時間伸縮(DTW)に基づいて、前記対象の工業的バッチプロセスの最新のバッチ成熟度を推定し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記動的時間伸縮(DTW)による前記最新のバッチ成熟度の推定値に基づいて、推定した前記少なくとも1つの変数重み付けを調節し得る。
【0023】
前記コンピュータ方法、システム、およびプログラムプロダクトは、前記最新のバッチ成熟度の推定値に基づいて、前記動的時間伸縮(DTW)によるバッチ成熟度の上下界のうちの少なくとも一方を調節し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記対象の工業的バッチプロセスに関するスライディング窓の始点を変更し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、予測値を計算し、選択した前記バッチ変数の軌跡形状の変化を検出し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記動的時間伸縮(DTW)の解の下界と前記スライディング窓の始点との近接性に基づいて、当該スライディング窓のサイズを拡張し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、少なくとも1つのアライメント時刻(例えば、キーアライメント時刻)を特定し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、特定した前記アライメント時刻(例えば、キーアライメント時刻)に基づいて、前記スライディング窓の前記サイズを拡張させるか否かを確認し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記最新のアライメント窓のサイズに基づいて、バッチ成熟度の上下界のうちの少なくとも一方をさらに調節し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記最新バッチの前記アライメントを実行し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、前記最新バッチの前記アライメントの実行によって前記変数重み付けを調節する上記の工程を繰返し行い得る。
【0024】
一部の実施形態において、前記コンピュータ方法、システム、およびプログラムプロダクトは、バッチアライメントを、累積距離を用いた終点未定問題として定義し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、定義した前記バッチアライメント、前記最新バッチのデータ点の数、および前記参照バッチのデータ点の数に基づいて、グリッドを生成し得る。前記コンピュータ方法、システム、およびプログラムプロダクトは、生成した前記グリッドを単調的にトラバースすることにより、当該生成したグリッドに関するワーピングパスを求め得る。
【0025】
前記コンピュータ方法、システム、およびプログラムプロダクトの一部の実施形態において、前記スライディング窓のアライメントは、動的時間補間(DTI)に基づいたものとされ得る。
【0026】
前記コンピュータ方法、システム、およびプログラムプロダクトの一部の実施形態において、前記スライディング窓のアライメントは、黄金分割探索(GSS)の改変版による動的時間補間(DTI)に基づいたものとされ得る。
【0027】
前記コンピュータ方法、システム、およびプログラムプロダクトは、前記スライディング窓のアライメントを、線形補間値を含む目的関数に基づいて定義し得る。
【0028】
前述の内容は、添付の図面に示す例示的な実施形態についての以下のより詳細な説明から明らかになる。異なる図をとおして、同一の参照符号は同一の構成/構成要素を指すものとする。図面は必ずしも縮尺どおりではなく、むしろ、実施形態を図示することに重点が置かれている。
【図面の簡単な説明】
【0029】
図1A】バッチアライメントを実行する例示的な方法のフロー図である。
図1B】参照バッチを選択する例示的な方法のフロー図である。
図1C】バッチアライメントに用いるキー変数を選択する例示的な方法のフロー図である。
図1D】バッチ成熟度を推定するのに用いられる、DTWアルゴリズムの探索グリッドを示す図である。
図1E】DTWアライメント結果に基づいて生成される、バッチ成熟度を推定するための探索区間を示すスケッチである。
図1F】探索区間の上界及び下界を示すスケッチである。
図1G-I】オンラインでのバッチアライメントの例示的な方法のフロー図である。
図1G-II】オンラインでのバッチアライメントの例示的な方法のフロー図である。
図1H】一部の実施形態における、平滑性指数を示すグラフである。
図1I】一部の実施形態における、曲線性指数-対-曲線性ペナルティを示すグラフである。
図1J】一部の実施形態における、一貫性指数-対-フェーズを示すグラフである。
図2A】化学生成物を製造する、例示的な工業的バッチ反応装置及び乾燥装置の概略図である。
図2B】バッチ実行中の例示的なバッチ反応装置を示す図である。
図2C】完了後の例示的なバッチについての、6種類の変数の測定値を記録したグラフである。
図2D】過去のバッチ実行にて記録された、典型的なバッチプロセスの履歴バッチデータセットを、3元構造に整理した概略図である。
図3A】アライメント前とアライメント後の、バッチ変数の測定値の一例を示す図である。
図3B】システムがオフラインとオンラインで変数のバッチアライメントを実行する一例を示す図である。
図4】ユーザがキー変数を選択するための、計算結果のユーザインターフェース(UI)ディスプレイを示す図である。
図5】本発明の実施形態が実現され得る例示的なコンピュータネットワーク環境の概略図である。
図6】本発明の実施形態における、バッチプロセスのデータ収集及び監視用の例示的なネットワーク環境を示すブロック図である。
図7】本発明の1つ以上の実施形態における、予測推測モデルを作成及び配備するためのコンピュータ(又はデジタル処理)システムのブロック図である。
図8】本発明の1つ以上の実施形態における、予測推測モデルを作成及び配備するためのコンピュータの例示的な内部構造のブロック図である。
【発明を実施するための形態】
【0030】
以下では、例示的な実施形態について説明する。
【0031】
プロセス産業では、バッチプロセスが、数ある中でも医薬業界、生化学業界、食品業界、バイオ業界などの幾つかの業界で重要な役割を果たしている。この種類のプロセス用に解析及び監視の手法を開発することは、経済的視点からみて重要な課題である。近年、業界のトレンドとして、ますます多くの製造業者が低利大量の連続方式の大規模生産から特殊化学品や医薬製品の高利少量のバッチ方式の生産へと焦点を切り替えている。
【0032】
しかし、連続方式の生産プロセスと比べて、バッチプロセス用のモデル化、監視及び制御の技術は実用がかなり遅れている。大半のバッチプロセスは、従来のPID制御や手動の制御で操業されている。学術的研究では、主成分解析(PCA)や潜在的構造投影(PLS)を用いた多変量統計アプローチに基づく高度なバッチモデル化、監視及び制御が提案かつ事例研究されている(非特許文献1及び非特許文献2)。既存のアプローチでは、一部であるが、DTWアルゴリズムに基づく幾つかのバッチアライメントアルゴリズムがオンライン用途に提案されてきた。非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと。しかし、DTWベースのアプローチには、工業的用途にとって理想的でない、滑らかでないアライメントやキーポイントの欠落などといった、望ましくない特性が幾つかある。
【0033】
工業的用途への実用では、バッチアライメントが、バッチのモデル化、監視及び制御を成功させるうえでの必要不可欠な工程となる。しかし、工業的な実用向けに市販されているソフトウェア製品の視点からみた既存のアプローチの中には、極めて単純なアプローチを使ってバッチアライメントを行っているものもあり、正確かつ体系的な手法や解決手段が欠如している。本発明の一部の実施形態は、実用上の数多くの重大な課題に対処するためのそのような革新的な解決手段を、オフラインとオンラインのバッチアライメントのための完全かつ自動的かつ体系的な解決手段と合わせてユーザへ提供する。
【0034】
多変量バッチモデル化及び制御で解を算出するうえでの基本的な課題は、各バッチの完了までの経時的長さが一貫し得ないため、各バッチを参照バッチと比較するのが難しいという点である。そのため、「バッチデータのアライメント」が重要かつ必須の工程となる。既存のアプローチと比較すると(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)、本願の出願人の開示の態様は、既存のアプローチに対して下記の利点を奏する:
● 既存のアプローチには、工業的応用時にオンラインでバッチアライメントを行うための体系的な手法が欠けている。本開示では、オフラインとオンラインの双方でバッチのモデル化、監視及び制御用にバッチデータのアライメントを自動ワークフローで実行する方法(及びシステム)100について説明する。
● 既存のアプローチには、履歴バッチデータのロード、ならびに外れバッチ及びフラットな軌跡の変数のスクリーニング及び除外がシステム自動化されていると共に、有効なバッチを特定してキーバッチ変数をランク付けするという能力を備えた手法が欠けている。
● 既存のアプローチでは、一部であるが(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)、いわゆる動的時間伸縮(DTW)アルゴリズムを使ってバッチデータのアライメントが行われてきた。しかし、DTWでは、アライメント後のデータに大きな歪みが生じ得たり(例えば、元々の生データに存在しない段差状のステップのような挙動がもたらされ得たり)、離散時間的性質が原因となって軌跡データ上の異常が見逃されたりし得る(非特許文献6)。本開示では、それに取って代わるアルゴリズムとしていわゆる動的時間補間(DTI)を設定し、DTWアルゴリズムと併用することによってこの問題点に対処する。
● オンラインでのバッチ監視及び制御用途のためにアライメントをオンラインで行う際、測定対象のバッチ軌跡は未完了である。そのため、まず最新のバッチ成熟度を求めてから、それに応じてアライメントを実行する必要がある。既存のアプローチでは、バッチ成熟度を求めるのに非厳密な終点(終点未定)のDTWが使われてきたが、これは大きな歪みをもたらし得る(非特許文献2、非特許文献3及び非特許文献4)。本開示のシステムでは、黄金分割探索(GSS)の改変版によるDTIを用いてこの問題点に対処している。
● 本開示は、工業的な実用の要望に応えてオンラインでのアライメントを解決する、革新的なアルゴリズムを提示する。当該アルゴリズムは、移動アライメント窓を導入及び採用し解を算出すべき最適化問題の大きさを有意に削減することで、各サンプリング区間でのオンラインのパフォーマンスを円滑なものにする。この新しいアルゴリズムでは、DTWを用いて狭小なバッチ成熟度上下界を算出し、GSS法の探索空間を縮小する。GSSを用いたDTIとDTWとを組み合わせることにより、オンラインでのバッチアライメントのための満足のいく解決手段が得られる。
【0035】
まとめると、本開示の方法(及びシステム)の態様では、バッチモデルの作成用にオフラインで且つオンライン監視及び制御用にオンラインでバッチアライメントを実行するための独自かつ体系的な解決手段が、バッチプロセスのオペレータに提供される。
【0036】
以下では、簡潔な説明のための(但し、本発明を限定するものではない)図面及び具体的な実施形態について言及する。
【0037】
履歴バッチデータに基づいてオフラインとオンラインでバッチデータのアライメントを行う、新しいコンピュータ方法(及びシステム)について開示する。当該方法(及びシステム)は、データヒストリアンサーバから履歴バッチデータをロードし、バッチデータを自動的にスクリーニングし、外れバッチおよびフラットな軌跡を有するバッチ変数を特定及び放棄し、ユーザが参照バッチ候補を選択するのを支援し、曲線性、一貫性及び平滑性についての計算及び解析に基づいてバッチキー変数をランク付けし、バッチアライメントを実行する。オフラインとオンラインのいずれの場合にもスライディング窓が用いられることで、複雑かつ時間のかかるアライメント最適化問題(DTI)が円滑に進められる。実行中のバッチの各時点にて、詳細な解がもたらされる。工業的用途における数多くの実用上の課題に対処する技術的戦略について開示する。
【0038】
本発明の態様は、バッチのモデル化及び解析用にバッチデータアライメントをオフラインで実行したり、少なくとも1つのバッチプロセスの監視及び品質制御の要望に応えてバッチデータアライメントをオンラインで実行したりするコンピュータ方法(及びシステム)に関する。当該システムは、少なくとも1つのバッチ変数の測定値をロードしたり受け取ったりすることが可能である。前記システムは、バッチデータの自動クレンジングや参照バッチの選択やバッチフェーズの特定やオンラインとオフラインの双方でのバッチアライメントを実行することを含め(但し、これらに限定されない)、バッチのモデル化や解析を実行することが可能である。前記システムは、オンラインでのバッチ監視及び制御用途のために、最新のバッチ成熟度を自動的に求めて変数重み付けやその他のパラメータをこれに応じて調整する。前記システムは、スライディング窓を用いてオンラインのバッチアライメントを実行することで解の探索を高速化し、バッチの監視及び制御用の適切かつ正確な解をリアルタイムでユーザに提供し得る。
【0039】
一部の実施形態において、本発明は、工業的バッチプロセスのモデル化、監視及び制御用にバッチデータのアライメントを自動的に実行する、コンピュータ方法(及びシステム)を提供する。当該方法(及びシステム)は、プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチ操業データをロードすることを備え得る。前記方法(及びシステム)は、ロードしたバッチデータを、バッチアライメント用にスケーリングすることを備え得る。前記方法(及びシステム)は、ロードした元々の生バッチデータから、外れ(遠く離れた)バッチデータをスクリーニング及び除外することを備え得る。前記方法(及びシステム)は、前記バッチアライメントの基礎としての参照バッチを選択することを備え得る。前記方法(及びシステム)は、アライメント用のバッチフェーズを設定及び追加/変更することを備え得る。前記方法(及びシステム)は、バッチ変数のプロファイル及び曲線性に基づいてキー変数を選択することを備え得る。前記方法(及びシステム)は、バッチアライメントでのバッチ変数の重み付けを推定することを備え得る。前記方法(及びシステム)は、前記参照バッチへのアライメントを実行すべきバッチを選択することを備え得る。前記方法(及びシステム)は、バッチアライメントを最適に行うための調整パラメータを調節することを備え得る。前記方法(及びシステム)は、オフラインモード又はオンラインモードでバッチアライメントを実行することを備え得る。
【0040】
前記方法(及びシステム)の一部の実施形態では、バッチデータのアライメントに適さない外れバッチデータをスクリーニング及び除外することが、
a)バッチ変数の測定値を、他のバッチと比較して有意に「異常」な挙動(大きなギャップ(データの欠落)、外れ測定値、センサ異常などを含む(但し、これらに限定されない))を示しているか否かについてスクリーニングすること、
b)データ修正アルゴリズムを適用してデータの修正を試みること、
c)データ修正後の有効でないバッチ(例えば、バッチ期間に亘る変動プロファイルが他のバッチと比較して有意に異なっているバッチ等)を除外すること、
d)選択したバッチ変数を、バッチプロセスでのベースサンプリングレート(例えば、1分間当たり1測定サンプル)でサンプリングし直すこと、および
e)選択及び前処理したバッチデータセットを、オフラインとオンラインでのバッチアライメントにおけるさらなる解析のためにエクスポートすること、
のうちの1つ以上を含む。
【0041】
前記方法(及びシステム)の一部の実施形態において、参照バッチを選択することが、
a)選択したバッチ同士の平均値に対しての、各バッチの統計学的な量的尺度を計算すること、
b)選択したバッチを、バッチ進行の時間軸に沿って、各変数のプロファイル付きの各表示でユーザにまとめて表示すること、
c)バッチアライメント用のバッチ部分集合(10~30個)を、それらの表示と自身のドメイン知識との組合せに基づいて選択するようユーザに促すこと、および
d)バッチアライメントに参加させない1つ以上のバッチ変数(典型的には、バッチアライメントに有用な情報を提供しないフラットな軌跡を有する一部の変数)をユーザが放棄するのを可能にすること、
のうちの1つ以上を含む。
【0042】
前記方法(及びシステム)の一部の実施形態において、キー変数を選択することが、
a)フラットな軌跡又は極めて一貫性が低い軌跡を有する変数を放棄すること、
b)バッチ部分集合を選択すること、
c)高い相関性を有する変数同士をグループ化すること、
d)各フェーズについて、変数の軌跡形状を特定すること、
e)各変数及び各フェーズについて、平滑性指数を計算すること、
f)各変数及び各バッチフェーズについて、曲線性指数を計算すること、
g)各変数及び各バッチフェーズについて、一貫性指数を計算すること、
h)各変数及び各バッチフェーズについて、アライメントスコアを求めること、
i)上記の変数特性を、ユーザが入力を行えるようにユーザへ提示すること、ならびに
j)各バッチフェーズのキー変数をユーザが選択するのを指示を使って支援すること、
のうちの1つ以上を含む。
【0043】
前記方法(及びシステム)の一部の実施形態において、バッチ変数の重み付けを推定することが、
a)デフォルト変数の重み付け係数を、当該デフォルト変数の軌跡形状に従って予備計算すること、
b)変数のランク及び標準偏差に基づいて、重み付けを調節すること、
c)重み付けに、対応する一貫性指数を乗算すること、ならびに
d)正常であることが分かっているバッチを幾つか動作させることにより、変数重み付けを「試行錯誤」で(例えば、反復的に)さらに調節すること、
のうちの1つ以上を含む。
【0044】
前記方法(及びシステム)の一部の実施形態において、バッチアライメントをリアルタイム(オンライン)で実行することが、さらに、
a)実行中のバッチのうちの、アライメントすべき最新のバッチフェーズを決定すること、
b)前記最新のバッチフェーズの、対応する変数重み付けを選択すること、
c)DTW用の変数重み付けを、直前の連続するアライメント点の情報に基づいて調節すること、
d)DTWを用いて、最新のバッチ成熟度を推定すること、
e)DTIの変数重み付けを、DTWによる成熟度の推定結果に基づいて調節すること、
f)DTWによるバッチ成熟度の上下界を、成熟度の推定結果に基づいて調節すること、
g)スライディング窓の始点を変更すること、
h)予測ステップを計算して、変数の軌跡に急峻な変化があるか否かを検出すること、
i)DTWの下界が最新のスライディング窓の始点に近過ぎることを条件とし、スライディング窓のサイズを拡張すること、
j)キーアライメント時刻を特定すること、
k)キーアライメント時刻を条件に用いて、スライディング窓のサイズを拡張させるか否かを確認すること、
l)最新のアライメント窓のサイズに照らしてバッチの成熟度の上下界を検討し、最終確認を行うこと、
m)GSSを呼び出してDTIによる最適なバッチ成熟度推定を行い、最新の点でのバッチアライメントを完了すること、ならびに
n)最新バッチの各実行時点で(a)から(m)までを繰り返すこと、
のうちの1つ以上を含む。
【0045】
前記方法(及びシステム)の一部の実施形態において、バッチの成熟度の推定を、DTWを用いた終点未定問題として定式化することが、さらに、
a)バッチの成熟度の推定を、累積距離Di,jを用いた終点未定問題として定義すること、
【0046】
【数1】
【0047】
(式中、
【0048】
【数2】
【0049】
とする。)
b)サイズ:I×Jのグリッド(Iは最新バッチの点の数であり、Jは参照バッチ全体の点の数である)を、点同士の各対(i,j)に関連した累積距離で埋めること、および
c)グリッドの最適なワーピングパスを、グリッド内の最小値を辿るように点から点へと単調的にバックトラッキングすることによって探し出すこと、
のうちの1つ以上を含む。
【0050】
前記方法(及びシステム)の一部の実施形態において、スライディング窓ベースのアライメント問題を、DTIを用いて定式化することが、さらに、
a)スライディング窓ベースのアライメント問題を、
【0051】
【数3】
【0052】
の最小化として定義すること、
(式中、yIntk,jは式(6)を用いて算出される線形補間値である。)
【0053】
【数4】
【0054】
のうちの1つ以上を含む。
【0055】
前記方法(及びシステム)の一部の実施形態において、高い相関性を有する変数同士をグループ化することが、さらに、
a)バッチデータの観測方向の展開を用いて、PCAモデルを構築すること、および
b)PCAスコアにK-meansクラスタリングを適用すること、
のうちの1つ以上を含む。
【0056】
一部の実施形態において、バッチアライメントを実行する前記方法(及びシステム)は、
1)当該システムが、データベースサーバから、利用可能な履歴バッチデータをロードすること:
a)典型的には、各バッチが多数のプロセス変数を含んでおり、それぞれの変数は、オンラインセンサを用いて測定されて且つ各変数の種類(例えば、質量流量、温度、圧力等)に応じた特定のサンプリングレートで記録される;
b)バッチのプロセス変数のデータは、連続型の測定値に限定されず、バッチ反応装置の撹拌機のオンオフや冷却水の供給などといった一部の二値的信号もしばしば見受けられる;
2)当該システムが、外れバッチを特定及び除外するスケーリング可能データ走査部、およびバッチデータが別のサンプリングレートでサンプリングされたものである場合に当該バッチデータをサンプリングし直す(同期させる)バッチデータ前処理部を提供すること:
a)バッチ変数の測定値は、他のバッチと比較して有意に「異常」な挙動(大きなギャップ(データの欠落)、外れ測定値、センサ異常などを含む(但し、これらに限定されない))を示しているか否かについてスクリーニングされる;
b)上記のような問題点を有する各変数については、特定の条件のデータ修正アルゴリズムをデータに適用して修正が行われる;
c)データ修正後の有効でないバッチ(例えば、バッチ期間に亘る変動プロファイルが他のバッチと比較して有意に異なっているバッチ等)が除外される;
d)選択したバッチ変数が、前記バッチプロセスでのベースサンプリングレート(例えば、1分間当たり1測定サンプル)でサンプリングし直される;
e)選択及び前処理したバッチデータセットが、オフラインとオンラインでのバッチアライメントにおけるさらなる解析のためにエクスポートされる;
3)平均的なプロファイルを有する最も代表的なバッチを選択し、参照バッチの選択を行うこと:
a)当該システムが、予め自動選択されたバッチの中から選択したバッチ同士を、バッチ進行の時間軸に沿って、各変数のプロファイル付きの各表示でまとめて任意で表示する;
b)ユーザが、バッチアライメント用のバッチ部分集合(10~30個)を、それらの表示と自身のドメイン知識との組合せに基づいて選択し得る;
c)当該システムが、さらに、バッチアライメントに参加させない1つ以上のバッチ変数(典型的には、バッチアライメントに有用な情報を提供しないフラットな軌跡を有する一部の変数)をユーザが放棄するための選択肢を提供する;
4)キーバッチ変数を決定すること:
a)各変数の軌跡に区分線形近似(PLA)アルゴリズムを適用して平均軌跡形状を定量的に特定する;
b)各バッチフェーズでの各バッチ変数の曲線性指数を算出する;
c)各バッチフェーズでの各バッチ変数の一貫性指数を計算する;
d)各バッチフェーズでの各バッチ変数の平滑性指数を計算する;
e)各バッチフェーズでの各バッチ変数のシグネチャを調べるために定められたアライメントスコア(AS)を、平均軌跡形状、曲線性指数、一貫性指数及び平滑性指数に基づいて調べる;
f)ユーザが、ASを参考にして各バッチフェーズのキー変数を選択し得る;
g)場合によっては、ユーザが、特定されたキーバッチ変数の中から、最も重要なインジケータ、および重要なフェーズマーカー(すなわち、フェーズ中のキーイベント)を有する変数を選択する;
5)バッチアライメント用に定式化された最小化数学問題における対応する変数の相対的重要性を反映した、変数重み付けを選択すること:
a)ユーザが選択しなかった変数の重み付けはゼロとする;
b)ユーザが選択した変数については、軌跡形状(すなわち、変数値の変化の有意性)に基づいて変数をランク付けする;
c)軌跡形状に基づいて上記のように生成されたランクに従って、基礎的重み付けを振り当てる;
d)各バッチフェーズでの変数の広がりを特定し、基礎的重み付けに広がり尺度を乗算する;
e)4番目の工程の中で、最も高いランクの最も大きい値を探し出す;
f)最も高いランクに含まれる変数の重み付け=5番目の工程の最大値÷対応する広がり尺度とする;
g)前記最大値を所定の係数で減縮し、次のランクに含まれる変数の重み付け=当該最大値÷対応する広がり尺度とする。残りの全てのランクについて、この工程を繰り返す;
h)最後に、最新の重み付けに一貫性指数を乗算する;
6)その他の調整パラメータを選択すること:
a)当該システムが、バッチアライメントのあいだDTWペナルティとGSS許容範囲の閾値とをデフォルト値に維持することを推奨する;
b)アライメント窓のサイズ、およびバッチ成熟度区間のサイズのDTWパラメータは、特定のデータセットに大きく依存するものの、当該システムは、ユーザにデフォルトパラメータの一式を提供する;
c)DTW目的関数及びDTI目的関数を構成する各項のパラメータも、特定のデータセットに依存する。当該システムは、(すなわち、アライメント結果が不十分と見なされない限り)デフォルト値の使用をユーザに推奨する;
のうちの1つ以上を備える。
【0057】
工程(1)~(6)が履歴バッチデータに対して実行され得て、参照バッチ、参照バッチのフェーズ、キー変数、および各フェーズでの当該キー変数の重み付けパラメータの情報が確定し得る。工程(1)~(6)から得られたこれらの結果に基づいて、各バッチの(オフライン又はオンラインでの)アライメントの実行が工程(7)で開始され得る:
【0058】
前記システムは、最新時点を終点とするスライディング窓を用いる。目下のバッチプロセスの進行に伴って、オンラインでのアライメント処理が各サンプリング区間で繰り返され得る。各サンプリング区間では、下記の工程が実行される:
【0059】
(7.1)オンラインでのアライメントの実施対象となる実行中バッチを指定する;
(7.2)当該バッチが動作している最新のバッチフェーズを求める;
(7.3)予め決められている、調節係数付きの対応する変数重み付けを選択する;
(7.4)最新のバッチ成熟度を、参照バッチとのDTWで定義された最適化問題の解を求めることによって推定する;
(7.5)工程(7.4)で推定された成熟度に基づいて、DTIの変数重み付けをさらに調節する;
(7.6)更新後のDTW解に基づいて、バッチ成熟度の上下界を調節する;
(7.7)スライディング窓の始点を更新する必要があるか否かを確認する;
(7.8)キー時刻点の見逃しがないことを確認するための予測ステップを算出する;
(7.9)必要に応じてスライディング窓のサイズを拡張する;
(7.10)キーアライメント時刻を特定する;
(7.11)GSS法及びDTIを用いて最新のアライメントを最適化することにより、最新のアライメントの微調整及び最終確認を行う;
(7.12)次のサンプリングサイクルへ移動及び待機する。
【0060】
[主な作業工程および詳細な方法]
図1Aは、本開示の例示的な方法を示すワークフロー図である。当該方法(及びシステム)の一部の実施形態において、図1Aの主なステップは、オフラインとオンラインの双方でのバッチアライメントのために下記のようなステップを実行する。
【0061】
[プラントヒストリアンからのバッチデータのロード]
方法100は、ステップ102から開始する。方法100は、ステップ102にて、プラントヒストリアン又はアセットデータベースから、対象のバッチプロセスのプロセス変数のバッチ履歴操業データ(測定値)をロードする。他の実施形態では、方法100(ステップ102)が、対象の生産プロセス変数の操業データを、他のプラントデータサーバ、プラント管理システムなどの他のデータ源や、プラントにおける任意の他のリソースからロード(インポート)し得る。さらなる他の実施形態では、前記操業データが、スプレッドシートファイル、テキストファイル、バイナリファイルなどを含む所与のファイル形式でロードされ得る。
【0062】
ロードされる前記操業データには、前記対象の生産バッチプロセスについての複数のバッチプロセス変数(プロセス変数タグ)の連続型の測定値が含まれている。というのも、前記プラントヒストリアン又はプラントアセットデータベースには、典型的に、生産プロセスについての多数のバッチからの多数のプロセス変数の測定値が経時的に記憶されているからである。方法100(ステップ102)は、前記対象のバッチプロセスのプロセス変数についてロードした元々のバッチ操業データを含む、生バッチデータセットを生成する。当該生バッチデータセットは、バッチ操業データに関するタイムスタンプに基づいた時系列セットとして形式化されたものである。
【0063】
図1H図1Jは、一部の実施形態における、追加の各種グラフである。図1Hは、一部の実施形態における、平滑性指数のグラフである。図1Iは、一部の実施形態における、曲線性指数-対-曲線性ペナルティのグラフである。図1Jは、一部の実施形態における、一貫性指数-対-フェーズのグラフである。
【0064】
図2Aは、化学生成物を製造する、例示的な工業的バッチ反応装置及び乾燥装置の概略図である。図2Aには、バッチプロセスの一例が、各バッチ実行で収集及び記録されるバッチ変数の測定対象と共に示されている。図2A及び図2Bに示すように、バッチ反応装置又は乾燥装置のプロセスは、乾燥タンク260、撹拌機262および収集タンク264を備え得る。
【0065】
図2Bには、バッチ実行中の例示的なバッチ反応装置が示されている。図2Bには、所与のバッチ実行270時の変数の測定値272,274,276が描かれており、当該バッチは途中までしか進んでいない様子が示されている。
【0066】
図2Cは、完了後の例示的なバッチについての、6種類の変数の測定値を記録したグラフである。図2Cには、バッチ全体をとおして記録した、バッチ変数の完全な測定結果280が描かれている。
【0067】
図2Dは、過去のバッチ実行にて記録された、典型的なバッチプロセスの履歴バッチデータセットを、3元構造に整理した概略図である。図2Dには、バッチ290のデータを含む複数のバッチの履歴データ構造、および所与のバッチ292の履歴が描かれている。実施形態は、プラントバッチデータヒストリアンから生バッチ変数測定値をロードすることから開始し得る。
【0068】
[バッチデータのスケーリング]
図1Aを再び参照する。図1Aのステップ104に示すように、方法100は、バッチアライメントおよび必要な解析やモデル化のために、バッチ変数の測定値をスケーリングし得る。例示的な実施形態では、図2Dに示す3元バッチデータが、「観測方向」に2次元行列へと展開させられる(すなわち、展開後の行列の各列は変数/タグに相当し、当該データ行列の下部に各バッチの時系列が付け加えられる)。次に、各列が平均中心化されて単位分散へスケーリングされる。値の欠如があれば、「ゼロ次ホールド」戦略を使って最新の既知の値で埋める。バッチ変数(列)の標準偏差値が極めて低い(例えば、1E-4未満の)場合には、単位値=1.0が代わりに使用される(すなわち、これらはフラットな軌跡である)。
【0069】
[参照バッチの選択]
例示的な実施形態では、方法(及びシステム)100が、図1Aのステップ106に示すように参照バッチを選択し得る(106)。つまり、実施形態は、ユーザが前記システムとインタラクションするのを可能にして、ユーザ自身のドメイン知識に基づいて当該ユーザが入力又は選択したものを利用する。方法(及びシステム)100は、UI背後でのバッチデータ解析に基づいて、バッチ候補のリストを提供する。
【0070】
参照バッチのバッチ候補のリストは、平均的なバッチに近いバッチを探索することによって構築される。平均的なバッチの構築には、予備的なデータアライメントが必要になる。これは、簡易検索用のDTWを用いて行われる(DTWに関する後述の詳細を参照のこと)。また、前記方法は、フェーズ期間の中央値を参照することでフェーズ同士の長さの違いに対処する。
【0071】
図1B図1Aのステップ106)は、参照バッチを選択する例示的な方法のフロー図である。図1Bには、一部の実施形態における、少なくとも1つの参照バッチ候補を決定するステップが示されている。
【0072】
方法(及びシステム)100は、ステップ122にて、参照バッチ候補として特定すべきバッチの数(N)およびバッチ部分集合SBを指定するための、ユーザの入力を受け付ける。
【0073】
ステップ124は、各バッチフェーズ期間同士の中央値
【0074】
【数5】
【0075】
を求める。次に、方法(及びシステム)100は、フェーズ期間同士の中央値を参照しての相対差分二乗(square relative difference)xri,ph
【0076】
【数6】
【0077】
を算出する。
(式中、xi,phはバッチiにおけるフェーズphの期間である。)次に、方法(及びシステム)100は、xp
【0078】
【数7】
【0079】
を算出する(126)。
(式中、xpは、一つのバッチについての、各フェーズ長さ同士の中央値を参照しての相対差分二乗の合計である。)
xpが最小値となる最初の参照バッチ候補が、参照バッチと判定される(128)。このバッチは、参照バッチの集合(RF)に追加される。
1)方法(及びシステム)100は、ステップ130にて、少なくとも1つの変数の変数重み付けを1に初期設定する。
2)方法(及びシステム)100は、ステップ132にて、ステップ122で選択した前記バッチ部分集合SBをDTWによってアライメントし、平均的なバッチを構築する:
【0080】
【数8】
【0081】
3)方法(及びシステム)100は、ステップ134にて、選択された前記バッチ部分集合SBの中で、各変数及びバッチについての差分二乗平均:
【0082】
【数9】
【0083】
を算出する。
(式中、添字jは変数/タグのことであり、kは観測のことである。パラメータKは、参照バッチにおける総観測回数(各プロセス変数のサンプル数)である。)
4)方法(及びシステム)100は、ステップ136にて、前記差分二乗平均の、各バッチについての平均値:
【0084】
【数10】
【0085】
を算出する。
【0086】
(式中、Jは変数/タグの総数である。)
5)一部の実施形態では、方法(及びシステム)100が、好ましくは最初のアライメント後に、前記差分二乗平均の、各変数についての平均値:
【0087】
【数11】
【0088】
を算出し、変数重み付けを更新する(138)。方法(及びシステム)100は、新しい変数重み付けを基に、アライメントを繰返し行う(150)(すなわち、ステップ140へ戻る)。
6)ステップ144:2回目以降のアライメントの後に、係数bc
【0089】
【数12】
【0090】
を算出する。
7)ステップ146にて、参照として選択済みのバッチについては、それらのbcの値を大きな数値に設定する:
【0091】
【数13】
【0092】
8)bcが最小値となるバッチを次の参照として選出し(148)、これを集合RFに追加する。
9)データを再びアライメントし、bcを再び算出する(すなわち、ステップ140~148を繰り返す)。集合RFの要素数がNになるまで繰り返す(150)。
【0093】
[バッチフェーズの追加/変更]
図1Aのステップ104を再び参照する。バッチ方式の処理では、1回のバッチ中に、原料供給期間、加熱、反応/成長の保持、静置、生成物取出しなどの複数のフェーズ(期間)がしばしば見受けられる。バッチデータにバッチフェーズの情報が与えられていない場合や、与えられたものがアライメント手順に合わない場合には、新たなバッチフェーズを設定又は追加することでアライメント結果を向上させることが可能である。この向上は、これらの詳細なフェーズについての変数重み付けを求めることでもたらされる。
【0094】
参照バッチが選択された後、このようなバッチに対してバッチフェーズの境界が配置され得る。前記方法(及びシステム)は、当該バッチフェーズの終点(参照バッチにおける観測回数/時刻)およびこのようなバッチ境界にどの変数を関連付けるのかをユーザが指定するのを可能にする。次に、選択されたフェーズ境界に関係するイベントの変数軌跡同士が、DTWを用いてアライメントされる(すなわち、各アライメント問題につき1つの変数の重み付けを1にする)。このアライメントにより、生バッチのうちの、参照内のフェーズ境界とアライメントされた点が、当該生バッチにおける、フェーズの終点として選出される。
【0095】
[キー変数の選択](図1Aのステップ110)
一部の実施形態では、方法(及びシステム)100の図1Aのステップ110の時点で、バッチデータセットに複数の変数が含まれ得る。しかしながら、アライメント手法の観点からみて重要な情報を、全ての変数が含んでいなければならないわけではない。各変数の軌跡から、4種類又はそれ以上の性質が解析され得る:
● 軌跡形状
● 曲線性
● 平滑性
● 一貫性
【0096】
キー変数候補は、定められた軌跡形状を有するほか、その軌跡がフラットではないと共にバッチ間で極めて一貫性が高く且つ平滑である。
【0097】
図1Cは、バッチアライメントに用いるキー変数を選択する例示的な方法のフロー図である。図1C図1Aのステップ110)には、一部の実施形態における、ユーザがキー変数として選択可能な変数候補を決定するためのステップが描かれている。
[フラットな軌跡を有する変数の放棄](図1Cのステップ156)
10)正常バッチの80%超で変数軌跡の標準偏差が0.08未満のものは、フラットな軌跡と見なされる。
11)フラットな軌跡を有する変数を放棄する。
【0098】
[バッチ部分集合の選択](図1Cのステップ158)
キー変数及びキー変数の重み付けを決定するための解析は、データセット内の全てのバッチを検討対象として行う必要はない。好ましくは、その部分集合は、10~30個の代表的な正常バッチを含むものである。ここで用いられるバッチ部分集合は、参照バッチの選択手順で用いられたものと同一であってもよい。当該バッチ部分集合は、総合的外れ値として特定済みのバッチを含まないのが推奨される。本明細書では、当該バッチ部分集合をSBと表記する。
[高い相関性を有する変数同士のグループ化](図1Cのステップ160)
12)最初の変数の総数に基づいて、グループ/クラスタの数を設定する(グループの数は変数の総数よりも少ない)。
13)選択されたバッチ部分集合を検討対象として、バッチデータX(バッチ×変数×タイムスタンプ)を
【0099】
【数14】
【0100】
((バッチ&タイムスタンプ)×変数)として展開する(観測方向の展開)。
14)PCAモデルを構築する。
15)ロード情報に、各主成分の前述した対応する分散を乗算させる。結果として生じる行列を、重み付けロード情報と称する。
16)極めて一貫性が低いか又はフラットな軌跡を有する変数の重み付けロード情報を、10000に設定する。
17)重み付けロード情報に対してK-meansクラスタリングアルゴリズムを適用する(ここでは、どのようなクラスタリングアルゴリズムが用いられてもよい)。
18)不適な変数(すなわち、5番目の工程の変数)が含まれたグループを特定する。
19)変数を1つしか含まないグループ(及び5つ以上の変数を含むグループ)がある場合には、グループの数を2つ減らして6番目の工程へ戻る。
[軌跡形状の特定](図1Cのステップ162)
20)選択された部分集合内の各バッチ、各変数及び各フェーズについて、許容可能な誤差上限を0.15とした区分線形近似(PLA)アルゴリズムを適用する(Keogh, E., Chu, S., Hart, D., & Pazzani, M. “Segmenting Time Series: A Survey and Novel Approach,” In M. Last, A. Kandel & H. Bunke (Eds.), Data mining in time series databases (pp. 1-15), Singapore: World Scientific Publishing (2004))。
21)横方向セグメント、縦方向セグメント及び斜め方向セグメントの数、セグメントタイプの切替り回数、傾きの正負符号の変化回数などについての情報を収集する。
22)この情報に基づき且つ一連の条件に従って、変数の軌跡形状が、4つの主な分類:「曲線」、「ステップ」、「一貫性なし」及び「フラット」のうちの一つとして自動的に特定される。軌跡の副区分も、同じく特定される(これらは、軌跡を一貫性なしとして特定する際に用いられる)。軌跡の現在考えられ得る区分の選択肢は、下記のとおりである(主区分-副区分):
a)ステップ-ステップ
b)ステップ-ランプ(ramp)
c)曲線-単調
d)曲線-ランプ
e)曲線-単峰
f)曲線-双峰
g)曲線-振動
h)曲線-ステップ
i)一貫性なし-一貫性なし
j)フラット-フラット
● 横方向セグメントの定義:傾きの絶対値が0.001以下
● 縦方向セグメントの定義:傾きの絶対値が0.25以上
● 斜め方向セグメントの定義:横方向セグメントでも縦方向セグメントでないセグメント
【0101】
なお、前記セグメントを決まった定数(0.001及び0.25)で定義することが可能なのは、バッチデータが単位分散へスケーリングされているはずだからである。
[平滑性指数の算出](図1Cのステップ164)
23)各バッチ及び各変数jについて、軌跡全体をゼロ位相移動平均フィルタを用いてフィルタリング処理する。
a)「フラット」又は「ステップ」の軌跡についてはフィルタリング処理しない。
24)元々の軌跡とフィルタリング処理後の軌跡との差分を算出する。
【0102】
【数15】
【0103】
25)この差分(dfi,j,k)の絶対値が0.5を上回る場合には、当該差分を0に設定する。これを行う理由は、大きな差分がフィルタの影響によるものである可能性があるからである。
26)差分を二乗する。
【0104】
【数16】
【0105】
27)各バッチ、各フェーズ及び各変数について、差分の二乗同士を合計してからフェーズの長さで除算する。
【0106】
【数17】
【0107】
28)各フェーズ及び各変数について、直前の5番目の工程の数値同士の平均値(φph):
【0108】
【数18】
【0109】
を算出する。
29)フェーズphにおける変数jの平滑性指数sij,ph
【0110】
【数19】
【0111】
を算出する。
なお、sij,ph∈[0,1]とする。
【0112】
[曲線性指数の算出](図1Cのステップ166)
図1Hは、一部の実施形態における、平滑性指数sij,ph-対-変数φj,phのグラフである。
30)各変数j及び各フェーズphについて、曲線性規模cmj,ph
【0113】
【数20】
【0114】
を算出する。
【0115】
(式中、SBは検討対象となるバッチ部分集合であり、添字iはバッチのことを指し、kはタイムスタンプのことを指し、yは軌跡のスケーリング済み数値であり、Li,phはバッチiにおけるフェーズphの長さであり、Ki,phはバッチiにおけるフェーズph内のタイムスタンプの集合である。)
【0116】
31)各変数j及び各フェーズphについて、曲線性ペナルティcvpj,ph
【0117】
【数21】
【0118】
を算出する。
【0119】
(式中、cmj,ph,thirdはバッチフェーズの各1/3の曲線性規模であり、Li,ph,thirdはバッチiにおけるフェーズphの各1/3の長さであり、Ki,ph,thirdは、バッチiにおけるフェーズphの各1/3内のタイムスタンプの集合である。)
なお、cvpj,ph∈[0.1]とする。
【0120】
図1Iは、一部の実施形態における、曲線性指数cvij,ph-対-曲線性ペナルティcvpj,phのグラフである。
32)各変数j及び各フェーズphについて、曲線指数cvij,ph
【0121】
【数22】
【0122】
を算出する。
33)軌跡がステップのパターンを示しており(すなわち、軌跡の主区分が「ステップ」と定められて)且つその3つのcmj,ph,thirdのうちの2つの値が0.45~0.55である場合には、その曲線性指数を0.05に設定する。これを行う理由は、対応する軌跡が2つのステップ状変化を含んでいる可能性が極めて高く、それはフェーズマーカーの可能性があり得るからである。
なお、cvij,ph∈[0,1]とする。
[一貫性指数の算出](図1Cのステップ168)
34)参照バッチを選択する。
35)各バッチ(検討対象のバッチ部分集合の各バッチであり、参照を含まない)、各変数j及び各フェーズphについて、参照バッチにおける参照軌跡に対する累積距離をDTWで算出する。
a)1回につき1つの変数をアライメントする。
b)累積距離は、DTWで計算される目的関数の値である。
36)各変数及び各フェーズについて、累積距離の平均値(Dj,ph)(すなわち、2番目の工程のDTW解同士の平均値)を算出する。
37)一貫性指数csij,ph
【0123】
【数23】
【0124】
を算出する。
なお、csij,ph∈[0,1]とする。
【0125】
図1Jは、一部の実施形態における、一貫性指数csij,ph-対-フェーズDj,phのグラフである。
【0126】
[アライメントスコアの算出](図1Cのステップ170)
2種類のアライメントスコアが存在し、これらは各変数及び各フェーズについて曲線性指数と一貫性指数と平滑性指数とを乗算することによって算出される:
【0127】
【数24】
【0128】
なお、score_1j,ph,score_2j,ph∈[0,1]とする。
【0129】
第1のアライメントスコアscore_1j,phが1に近ければ近いほど、変数jがフェーズphのインジケータ変数として機能し得る可能性が高くなる(すなわち、曲線性指数cvij,phが1に近い)。
【0130】
第1のアライメントスコアscore_2j,phが1に近ければ近いほど、変数jがフェーズph内のキーイベントを有する変数として機能し得る可能性が高くなる(すなわち、曲線性指数cvij,phが0に近い)。
【0131】
[キー変数の選択](図1Cのステップ172及びステップ174)
実施形態は、ユーザがアライメントスコアに基づいて(ステップ172)各バッチフェーズのキー変数を選択する(ステップ174)のを可能にする。
〇 ユーザは、スコア間に有意な違いが存在しない場合、対応するバッチ軌跡を閲覧することが可能とされ得る。
〇 一般方針
● 高いアライメントスコア
● それぞれ異なるグループに由来する
● それぞれ異なる特定の軌跡形状を有する
【0132】
実施形態は、さらに、重み付けの推定へと続行し得る(ステップ176)。ユーザは、前記キー変数から、フェーズマーカーを有するものを選択する。変数属性についての情報が、後述のようにしてユーザへと表示され得る。
【0133】
図4を参照する。方法(及びシステム)100は、変数ID、軌跡の区分ならびに第1及び第2のアライメントスコアを含み得ると共に、フェーズの各1/3での部分的曲線性(各ボックス対の下側にある3つの白色ボックスのそれぞれの黒色部分)を表示し得る。各ボックス対の最も左側のボックス内の要素は、第1のアライメントスコアの値を反映している。各ボックス対の最も右側のボックス内の要素は、第2のアライメントスコアの値を反映している。要素402は、1に近いアライメントスコアを表している。1に近くないそれ以外のアライメントスコアは、それぞれ要素404,406,408で表される。また、各グループ毎の変数も表示される。x軸は、グループIDを表している。極めて高い相関性を有する変数同士が、互いに上下に重ねられている。
38)ユーザが、各バッチフェーズのキー変数を選択する。
a)ユーザは、アライメントスコアおよび実際の軌跡形状に基づいて決断を下し得る。そのため、前記システムは、ユーザに変数の軌跡を閲覧したいか否かを尋ねる。
b)ユーザは、各グループから0~3個の変数を選出し得る。
39)ユーザは、工程b)で選出したキー変数から、フェーズマーカーを有する変数や、フェーズマーカーを有さないが残りの変数よりも重要な変数(すなわち、どの変数が参照に対して一貫して極めて近いのか)を選択する。
【0134】
方法(及びシステム)100は、これら2つの各工程において、推奨キー変数をユーザに提示する(但し、最終決定を下すのはユーザである)。このような変数は、次の工程に従って選択されたものである:
40)軌跡のアライメントスコアで最大のもの(MaxScore)を求める(第1及び第2のスコアの双方を検討対象とする)。
41)max{alignmentScore1(第1のアライメントスコア),alignmentScore2(第2のアライメントスコア)}<0.6MaxScoreの変数を除外する。
42)「ステップ」軌跡のなかで一貫性指数が最大のもの(MaxCSI_Steps)、「曲線」軌跡のなかで一貫性指数が最大のもの(MaxCSI_Curve),および「一貫性なし」軌跡のなかで一貫性指数が最大のもの(MaxCSI_Inconsistent)を求める。
43)csi<0.9MaxCSI_Stepsの「ステップ」軌跡を有する変数を除外する。
44)csi<0.6MaxCSI_Curveの「曲線」軌跡を有する変数を除外する。
45)csi<0.6MaxCSI_Inconsistentの「一貫性なし」軌跡を有する変数を除外する。
46)残りの変数を検討して、各グループごとに最大2つの「曲線」軌跡、最大2つの「ステップ」軌跡、および最大1つの「一貫性なし」軌跡を選出する。一貫性指数をタイブレーカ―に用いる。
47)一つのフェーズについての推奨キー変数の数が13以上になる場合、7番目の工程を再び行うが、各グループから最大1つの「曲線」軌跡、最大1つの「ステップ」軌跡、および最大1つの「一貫性なし」軌跡を選出するものとする。
48)3番目の工程で一貫性指数が最大となる変数を、より重要な変数として推奨する。
【0135】
[変数重み付けの振当て](図1Aのステップ112)
図1Aを再び参照する。ユーザが選択しなかった変数には、変数重み付け係数=0が自動的に与えられて、必要に応じて問題から完全に除外され得る。
● 軌跡形状及びユーザの選択に基づいて、各フェーズにおける各キー変数の変数重み付けが、下記のデフォルト値を基に決定される:
【0136】
【表1】
【0137】
● 次に、基礎的な変数重み付けは、同じランクの変数同士が各軌跡の予測偏差値に応じた同じ大きさのペナルティを有するように調節される。
● そして、前記重み付けに、対応する一貫性指数が乗算される。
【0138】
[変数重み付けの調節](図1Aのステップ116)
実施形態は、場合によって、下記を実行することによって変数重み付けをさらに調節し得る。
● オンラインでのバッチアライメント手法を幾つかの正常バッチ(異常バッチは避ける)に対して実行する。
● 各キー変数の誤差を求める。
● 誤差が最も大きいキー変数の重み付けの数値を増やす。
● 誤差を小さくすることが不能になるまで繰り返す。
【0139】
[動的時間伸縮(DTW)アルゴリズム]
前述したように、DTWアルゴリズムには完全解を求めるうえで望ましくない特性が幾つか存在するが、本開示の方法は、バッチ成熟度の予備的な簡易推定用にDTWを用いる。DTWは、離散時間的なアルゴリズムなので高速に実行される。バッチアライメントは、離散時間的な最小化問題として定式化されて動的計画法に基づいて解が算出され得る(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)。DTWアライメント手法は、2つの工程からなる:
49)サイズ:I×Jのグリッド(Iは最新バッチの点の数であり、Jは参照バッチ全体の点の数である)を、点同士の各対(i,j)に関連した累積距離Di,jで埋める(式中、iは最新バッチの点(i=1,…,I)を表し、jは参照バッチの点(j=1,…,J)を表す)。
50)グリッドの最適なワーピングパスを、グリッド内のDi,jの最小値を辿るように点(I,J)から点(1,1)まで単調的にバックトラッキングすることによって探し出す。
【0140】
累積距離Di,jは、式(1)を用いて算出される:
【0141】
【数25】
【0142】
パラメータv,v,vは、グリッド内での縦方向の移動、斜め方向の移動、横方向の移動にそれぞれ伴うコストを表している。di,jは、点iと点jとの間の局所的距離の尺度を表している。これは、式(2)を用いて算出される:
【0143】
【数26】
【0144】
添字kは、アライメント問題で検討されるk番目の変数を表し(k=1,…,K)、wは、このような変数に振り当てられる重み付けである。なお、w≧0∀kとし、
【0145】
【数27】
【0146】
とする。wの値が増えるほど、最新バッチの変数kのアライメント後の軌跡は、参照バッチにおけるこのような変数の軌跡に対してより密接に追従し得る。yRefk,jは参照バッチにおける変数kのj番目の点であり、yRawk,iは生バッチ(すなわち、最新バッチ)における変数kのi番目の点である。ΔyRefk,j及びΔyRawk,iは有限差分を用いた第一微分の近似である。
【0147】
【数28】
パラメータα(但し、0≦α≦1)は、実際値の差分と1次微分の近似の差分との間でどれほどの重み付けを行うのかを表している。
[本実施形態で用いるバージョンのDTW]
1.バッチデータのアライメント用のDTW
これは、(本欄の冒頭で述べた)終点が決まっているバージョンのDTWである。点(I,J)から点(1,1)までの最適なワーピングパスを探し出す必要がある。
2.バッチ成熟度の推定用のDTW(図1Aのステップ118:さらには、図1Dのステップ178,180)
【0148】
これは、終点未定バージョンのDTWである。これは、DTWアライメント手法の1番目の工程のなかで、バッチの成熟度を求める必要があることを意味している(非特許文献2、非特許文献3及び非特許文献4)。グリッド:I×Jの最後の行には、累積距離の尺度DI,jが含まれている。図1Dに示した概念に従うと、最新バッチのバッチ成熟度推定値(BME)は点j=argmin{DI,j}になる。
点(I,1)、点(I,2)及び点(I,3)の局所的距離は、参照バッチのうちの、アライメント手法の必要最小限のサイズである4点未満の部分を選択しないようにするため、高い値に設定される:
【0149】
【数29】
【0150】
3.バッチ成熟度を探索するための区間(図1Aのステップ116;さらには、図1Dの要素182を参照のこと)
図1D図1Aのステップ114)には、バッチ成熟度を推定するのに用いられる、DTWアルゴリズムの探索グリッドが示されている。
【0151】
DTWは離散時間的な方法なので(すなわち、参照バッチ及び生バッチのサンプリング時刻が決まっている)、DTWではアライメント後の軌跡に歪みが生じる可能性があることが知られている。よって、本提案の方法では、DTWを、バッチ成熟度の単点推定値又は正確なバッチ成熟度を探索するための区間を提供するよう用い得る。最小累積距離D=min{DI,j}と表す。Dが生じる点を、DTWによるバッチ成熟度推定値BMEとして表す。正確なバッチ成熟度を探索するための区間は、DI,jがDI,j≦γD(式中、j∈JINT、かつ、1≦γ≦1.03である。)を満たすJINT=[BM,BM]として定義される。γは、区間JINTのサイズに関係するパラメータであり、γの値が大きければ大きいほど、区間JINTが広くなる(図1Eを参照のこと)。図1E図1Aのステップ116)は、DTWアライメント結果に基づいて生成される、バッチ成熟度を推定するための探索区間のスケッチである。
【0152】
図1Aを再び参照する。図1Aに示すバッチデータのアライメント時(図1Aのステップ118)には、パラメータγが区間JINTの最大サイズの操作に有用でない可能性がある。バッチ内の異常に起因する不確実性が大き過ぎる場合には、DTWが提供するバッチ成熟度の上界と下界がより遠くなり得る。バッチ成熟度の推定法は、下界のほうに傾けられ得る。というのも、短い参照バッチへアライメントした際に、偏差のペナルティが小さくなるからである。不確実性が減少すると、バッチの成熟度が大きく移動する。(DTW解の不確実性が大き過ぎる場合の)不要な計算を避けるために、区間JINTのサイズを、データ点の数として与えられる特定の値κ以内に維持することが必要である。
【0153】
図1F図1Aのステップ116)は、
a)γDに関する下界が上げられて、
b)γDに関する上界が下げられた、
区間JINT=[BM,BM]を示すスケッチである。
【0154】
バッチの進行を維持するために、BM-BM>κの場合には、BM=BM-κとする(図1Fの要素186を参照のこと)。なお、上界は維持されるが、下界は変更される。これは、アライメント後のバッチが遅れ過ぎることがないようにするために行われるものである。ただし、バッチ成熟度の推定値(すなわち、DTWの最適解)は、この区間内に維持されなければならない。よって、BM-BME>κの場合には、BM=BME+[0.75κ]とする(図1Fの要素188を参照のこと)。
【0155】
4.例示的な実施形態のDTWに用いられるパラメータ値
DTWでは、次のパラメータ値が使用される:
α=1
=1
=1.2
=1.2
γ∈[1,1.03]
κ=30個のデータ点
【0156】
[DTI-動的時間補間アルゴリズム]
本開示の方法は、DTWアルゴリズムが起こし得る課題に対処するために、形式を変えて定義し直したバッチアライメント問題の解を算出する計算エンジンとして、DTIアルゴリズムを用いる。動的時間補間(DTI)は、生データの時刻とは違った時刻で最新バッチをサンプリングすることを線形補間関数を使って可能にする、最適化ベースの手法である。DTIベースのバッチアライメントは、DTWによるアライメント後のバッチの軌跡における歪みの問題点に対処することができる。その数学的最適化の定式は、下記に示すように定義される:
【0157】
【数30】
【0158】
(式中、yIntk,jは式(6)を用いて算出される線形補間値である。)
【0159】
【数31】
【0160】
(式中、interp()は補間関数であり、yRawは、最新バッチの変数をベクトルtRawに記憶された対応する時刻(すなわち、元々の生の又はサンプリング時刻)で測定した際の、元々の値を含むベクトルである。)最新バッチの持続時間は:
RawBatchDuration=tRaw(I)-tRaw(1)
である。
【0161】
変数Δtは、DTIの定式で暗黙のうちに定まる:
Δt=tj+1-t ∀j=1,…,J-1 (7)
【0162】
変数Δ(Δt)は:
Δ(Δt)=Δtj+1-Δt ∀j=1,…,J-2 (8)
として定義される。
【0163】
変数ΔyRefk,j及びΔyIntk,jは、式(3)、式(4)と同じアプローチで算出される。
変数重み付けについても、DTWと同じ制約が適用される:
【0164】
【数32】
【0165】
それ以外のパラメータは:
【0166】
【数33】
【0167】
として定義される。
【0168】
変数Δtの最適値は、式(9)を用いてアライメント時刻に変換されてベクトルtAlignに記憶される。
【0169】
【数34】
【0170】
DTIの解は、選択される変数重み付け(w)に依存する。
【0171】
例示的な実施形態に用いられるバージョンのDTI
最新バッチ全体の軌跡をアライメントするのではなく、最新部分が検討対象とされる。これは、アライメント時間窓と称される。これを行う理由は:
51)最新時間から離れたデータ点をアライメントし直すのを避ける(これにより、モニタリング統計値の変動を抑える);
52)DTI問題のサイズを縮小する(これにより、解の算出を高速化する);
ためである。
【0172】
アライメント窓のサイズは、ωと表記する。なお、ωは、生バッチのデータ点の数で与えられる。特定の条件下では、アライメント窓のサイズが、ユーザにより指定されるサイズよりも大きくなり得る。
【0173】
移動アライメント窓およびDTWのバッチ成熟度の上下界に合わせて、参照バッチを減縮させる必要がある。よって、添字jは1からJではなくρからPとなる。参照バッチの始点はρとなり、参照バッチの終点はPとなる。
【0174】
アライメント窓に対する調節込みのDTIの定式
DTIの定式は、オンラインでのバッチアライメント手法と基本的に同一である(但し、添字については、最新アライメント窓に関して構築された問題であることを示すために変更を加えた)。ただし、キーアライメント時刻を導入する追加の制約が存在する。numberKeyAlignmentTimesは、最新の窓内のキーアライメント時刻の数を表す。keyTimeはn番目のキーアライメント時刻を表し、keyTime ωは最新の窓ωに対する調節込みのn番目のキーアライメント時刻を表す(すなわち、keyTime ω=keyTime-startTimeω)。窓の開始時間は、startTimeω=tAlign(ρ)として定義される(すなわち、生バッチの点のうちの、参照バッチの点ρへアライメントされた時刻である)。Nは、合計keyTime ωを得るのに必要な変数Δtの加算回数である。キーアライメント時刻のさらなる情報については、「動的時間補間(DTI)」欄のうちの「キーアライメント時刻」を参照のこと。
【0175】
【数35】
【0176】
なお、yIntk,jは、式(10)を用いて算出される。
【0177】
【数36】
【0178】
(式中、ベクトルyRaw ω及びtRaw ωは、最新のアライメント窓に対する調節込みの値に相当する)。それ以外のパラメータは:RawBatchDurationω=tRaw(τ)-tAlign(ρ)(式中、τは生バッチの最新点である)、さらには、
【0179】
【数37】
【0180】
として定義される。本実施態様では、tRaw ωが常にゼロから始まる。
【0181】
ベクトルtAlignには、最新バッチ全体についての最適なアライメント時刻が含まれている。最新のアライメント窓に関する要素は更新される。
【0182】
ベクトルyAlignには、最新バッチ全体についての最適なアライメント後の軌跡が含まれている。最新のアライメント窓に関する要素は更新される。
【0183】
[黄金分割探索(GSS)]
本開示の方法は、アライメントの最適解を探索するのに、DTIアルゴリズムにGSSを組み合わせたものを用いる。一般的な黄金分割探索アルゴリズムは、単峰型単変量関数の最適解を探し出すのに開発されたものである(Kiefer, J., “Sequential Minimax Search for a Maximum,” Proceedings of the American Mathematical Society, 4(3), 502-506 (1953))。当該アルゴリズムは、最適解が存在することが分かっている区間を順次狭める。最小化問題のGSS工程は、以下のとおりである:
53)許容範囲εを選択する。
54)黄金比:
【0184】
【数38】
【0185】
を算出する。
55)区間の初期値は[a,b]である。
56)点a及び点bでの関数を調べる→fa=f(a)、fb=f(b)
57)最適解の初期値をf=min{fa,fb}とする。
58)cc=cd=0と設定する。
59)|a-b|>εであるとき、
a)cc=0である場合には、c=b-(b-a)/GRを算出し、fc=f(c)とする。
b)cd=0である場合には、d=a+(b-a)/GRを算出し、fd=f(d)とする。
c)fc<fdである場合には、b=d、fb=fd、d=c、fd=fc、cc=0、cd=1と設定する。そうでない場合には、a=c、fa=fc、c=d、fc=fd、cc=1、cd=0と設定する。
d)f=min{f,fc,fd}とする。
【0186】
[バッチ成熟度推定用のGSS]
バッチ成熟度の推定用のGSSには、改変を加える必要がある。参照バッチのサイズ(すなわち、バッチ成熟度)の関数としての累積距離は、単峰でない場合がある。GSSは、このような非凸性を考慮する必要がある。他の手法(例えば、ニュートン法)を差し置いてGSSを選んだ理由は、当該GSSが採用する解算出アプローチ(最適解が存在する区間を狭めるというアプローチ)により、非凸性を検出して各々の部分的区間を別々に探索することが簡単だからである。さらに、これは、離散的問題である。その目的は、参照バッチのうちの、最新の生バッチにとって最良のアライメント(すなわち、最小のDTI目的関数値)をもたらす点を探し出すことである。このような理由により、これは離散的問題となっている。この場合においても、関数f(P)は、最新の生バッチ(θからτ)を点ρから点Pで与えられる参照バッチへと、DTIを用いてアライメントすることを意味している。なお、GSSを呼び出す前に、点θ、点τ及び点ρは分かっているものであり得る。実施形態によっては、Pが分かっていない場合がある。すると、Pは整数とされる必要がある。
【0187】
GSSアルゴリズムの改変版の工程は、以下のとおりである:
60)許容範囲εを選択する。
61)黄金比:
【0188】
【数39】
【0189】
を算出する。
62)a=BM、b=BMとする(BM及びBMは、参照バッチのうちのDTW解で与えられる点である)。
63)区間の初期値は[a,b]であり、区間サイズの初期値iis=|a-b|とする。
64)点a及び点bでの関数を調べる→fa=f(a)、fb=f(b)
65)最適解の初期値をf=min{fa,fb}及びx=argmin{fa,fb}とする。
66)区間の初期値l=[a,b,fa,fb]とする。
67)区間lを、探索対象の残りの区間のリスト(L)に追加する。
68)リストL内の要素の数が1以上であるとき、
a)リストLから最初の区間(すなわち、l)を取り出す。
b)a=l(1)、b=l(2)、fa=l(3)、fb=l(4)の対応する値を取得する。
c)cc=cd=0と設定する。
d)|a-b|>εであるとき、
i.cc=0である場合には、
【0190】
【数40】
【0191】
を算出し、fc=f(c)とする。
ii.cd=0である場合には、
【0192】
【数41】
【0193】
を算出し、fd=f(d)とする。
iii.fc<fdである場合には、
1.fd>fb、さらに、|d-b|>εであれば、[d,b,fd,fb]をリストLに追加する。
2.b=d、fb=fd、d=c、fd=fc、cc=0、cd=1と設定する。
iv.そうでない場合には、
1.fc>fa、さらに、|c-a|>εであれば、[a,c,fa,fc]をリストLに追加する。
2.a=c、fa=fc、c=d、fc=fd、cc=1、cd=0と設定する。
v.f=min{f,fc,fd}、x=argmin{f,fc,fd}とする。
e)最初の区間lをリストL内の次の区間で置き換える。
69)バッチ成熟度の推定値BME=xとなる。
【0194】
[リアルタイムのバッチデータアライメント](ステップ202から始まる図1G-Iのステップ204)
図1G-Iおよび-図1G-II(図1Aのステップ118)は、オンラインでのバッチアライメントの例示的な方法のフロー図である。図1G-Iおよび-図1G-IIには、実行中のバッチプロセスに対してリアルタイムでバッチアライメントを実行する例示的な実施形態のワークフロー及び詳細が描かれており、新しいバッチデータ点の取出し(204)後、以下の工程を伴う:
【0195】
<工程1:最新のバッチフェーズの確定>(図1G-Iのステップ206)
スライディング(アライメント)窓がどのフェーズにあるのかを確定するために、当該アライメント窓内の一点が調べられる。このような点は、参照バッチの時間グリッドに存在しているとする。点(ρ+x)は、スライディング窓が新たなフェーズに突入したことを指す。点(ρ+x)が最新フェーズの境界と交差した場合、当該スライディング窓は次のフェーズ内にあると見なされる。
【0196】
次の条件が満たされることで、最新のバッチフェーズCurrentPhaseが探し出される(式(11)は、ph=1から始めて昇順で確認される):
ρ+x<endPhaseph(但し、∀ph)である場合、
CurrentPhase=ph (11)
【0197】
(式中、添字phはフェーズのことを指し、パラメータendPhasephは、参照バッチのうちの、フェーズphが終了する点である。)
【0198】
<工程2:対応する変数重み付けの選択>(図1G-Iのステップ208)
最新フェーズの変数重み付けを取り出す:
【0199】
【数42】
【0200】
なお、Wj,ph>0であれば、wj,DTW2の値はゼロでない。この理由は、特定のフェーズにおいて一貫性が低過ぎる又は重要なワーピング情報がないとして既に放棄された変数が、2番目のDTW問題において考慮されないからである。
【0201】
<工程3:これまでの情報に基づく、DTWの変数重み付けの調節>(図1G-Iのステップ210)
変数重み付けに、調節係数adjWj,phが乗算される。これらの係数は、本アルゴリズムの開始時に1に初期設定されるが、アルゴリズムの実行中に変更され得る:
j,DTW1=wj,DTW1adjWj,ph ∀j
j,DTW2=wj,DTW2adjWj,ph ∀j
【0202】
次に、変数重み付け同士を、それらの合計が1になるように正規化する。
<工程4:DTWを用いた、バッチ成熟度推定>(さらに言えば、図1G-Iのステップ212(図1G-IIのステップ236,238,240,242をまとめたもの))
バッチ成熟度の推定は、2つの異なるセットの変数重み付けで終点未定のDTW問題の解を算出することによって実行される。また、これらのDTW問題は、最新のフェーズ及び直前のフェーズを検討対象として解が求められる。
<工程4.1:1番目のDTW問題>
● 自動化された方法による変数重み付けwj,DTW1またはユーザにより指定されたwj,DTW1を用いる。
● これは、バッチ内のキーイベントに素早く反応する。
● 空振りを減らすというのが考えである。
<工程4.2:2番目のDTW問題>
● 一貫性指数に基づく変数重み付けwj,DTW2を用いる。一貫性指数が利用できない場合には、キー変数の変数重み付けwj,DTW2が1に定められる(キー変数でない変数の変数重み付けwj,DTW2は0とする)。
● これは、バッチ内のキーイベントにゆっくりと反応する。
● しかしながら、キー変数に対して付与される重要性が、キー変数間でほぼ同じになる。
● キーイベントが発生しないか又は発生が通常よりも遅い場合に、1番目のDTW問題の解でバッチが人為的に遅くなってしまうのを防ぐというのが考えである。
〇 このような場合、1番目のDTW問題では、そのようなキーイベントを可能な限り待つことになるのでバッチが遅くなってしまう。
【0203】
<工程4.3:2種類のDTW解の評価>
それぞれのDTW問題から、以下の結果が得られる。
【0204】
ユーザが指定したDTWγパラメータの下界及び上界:
[BM ,BM ],[BM ,BM
【0205】
DTWγパラメータの下界及び上界は1.03とする:
[BM L,γ=1.03,BM U,γ=1.03],[BM L,γ=1.03,BM U,γ=1.03
【0206】
BM L,γ=1.03>(BM U,γ=1.03+2%(reference size))の場合、2番目のDTW問題のほうが1番目のDTW問題よりも著しく遥かに先を進んでいると考えられる。これが起こった場合には、差分を(百分率で)算出する:
BMdiff=100(BM L,γ=1.03-BM U,γ=1.03)/reference size
【0207】
<工程4.4:1番目のDTW問題でバッチを遅らせている変数の特定>
2番目のDTWが1番目のDTWよりも著しく先を進んでいると考えられる場合(工程4.3を参照のこと)、次の工程に従う:
70)フェーズ内の、ランクが1以上の各変数jについて、DTWバッチ成熟度推定問題の解を求める。一部の実施形態では、これらの変数を別々にアライメントさせるので、使用する変数重み付けをそれぞれの場合で1とする。
71)DTWの最適解、さらに、γ=1.03のときの下界及び上界(avgBM ,avgBM ,avgBME)を取り出す。
72)下界の平均値、上界の平均値、およびバッチ成熟度推定値の平均値(avgBM,avgBM,avgBME)を算出する。
73)avgBMとavgBMとavgBMEとの平均値を算出する(avgBMPと表記する)。
74)各変数について、avgBM とavgBM とavgBMEとの平均値を算出する(avgBMPと表記する)。
75)avgBMP<avgBMP-5%reference sizeである場合、変数jが遅れていると特定する。
76)変数jが遅れている場合、当該変数は、変数重み付けを減らす候補として指定される。
77)7番目の工程の変数について、ランクが最も低く且つadjWj,ph>0.00001である変数を特定する。この変数を選んでadjWj,ph=adjWj,ph+1=0.00001に設定する。次の工程へと続行する。
78)adjWj,phが変更された場合には、2番目のほうのDTWの成熟度上下界を使用すると共に、変数重み付けが調節されたことを知らせるためにフラグを更新する。
【0208】
<工程5:新たな情報に基づく、DTIの変数重み付けの調節>(図1G-Iのステップ214)
調節係数が(工程4.4の結果しだいで)別のものになっている可能性があるため、DTI問題の変数重み付けが再び調節される。
=wadjWj,ph ∀j
【0209】
次に、変数重み付け同士を、それらの合計が1になるように正規化する。
【0210】
<工程6:DTWによるバッチ成熟度の上下界の調節>(図1G-Iのステップ216)
この調節は、下記の場合に行われる。
1.バッチ成熟度の上昇が20%を超える場合、
a.新たな上下界の平均値を、最新のバッチ成熟度推定値の20%先に配置する。
b.フラグincreaseSizeWindowDTWを1に設定する。
2.成熟度の下界BMがフェーズの下界BMPHLよりも遅れている場合(但し、フェーズの下界が成熟度の上界BMよりも低いことを条件とする)、
a.新たな下界BMをBMPHL+3とする。
【0211】
<工程7:スライディング窓の始点の決定>(図1G-Iのステップ218)
τ≦ωである場合、θ=ρ=1とする。これは、スライディング窓がユーザ指定のサイズωに達していない、アルゴリズムの初期に起こることである。
【0212】
τ>ωである場合、窓の始点は、アライメント後の、τ-ωよりも前の点となる。
【0213】
<工程8:予測ステップ(直前のバッチ成熟度推定値を下界として維持するよう試みる)>(図1G-Iのステップ220)
直前の2つの点の傾きを用いた単純な線形補外による予測値が観測値の10%以内である場合、(アライメントの視点からみて)重要な情報が新たに加わることはない。この場合には、直前のバッチ成熟度推定値を成熟度の下界とすることが可能である。
【0214】
式(13)を用いて、バッチ内の最新点における変数の予測値を算出する。式(14)は、この予測値の重み付き相対誤差を算出する。
【0215】
【数43】
【0216】
WeightedRelativePredictionErrorτ<0.1の場合、BMτ <BMτ-1≦BMτ であることを条件に、直前のバッチ成熟度(BMτ-1)を最新のDTW下界BMτ にオーバーライドさせてよい(式中、BMτ は最新のDTW上界である)。なお、BMτ 、BMτ 及びBMτ-1は、参照バッチのデータ点で表される。
【0217】
<工程9:スライディング窓のサイズが拡張され得るか否かの決定>(図1G-Iのステップ222)
以下の場合には、通常、バッチの直前部分をアライメントし直す必要がある:
● DTWの下界が、アライメント窓の始まりに極めて近い。
● DTWの下界が、アライメント窓の始まりよりも前である。
● バッチ成熟度の推定値が劇的に増加する可能性が存在する(工程6で算出されたフラグincreaseSizeWindowDTWが1である)。
【0218】
アライメント窓は、最大で30点にまで拡張される。
【0219】
<工程10:キーアライメント時刻の特定>(図1G-Iのステップ224)
最新バッチのうちの、アライメント窓内にある点に関して、3以上のランクを有する変数の後退差分を算出する。3以上のランクの変数に注目する理由は、ランクの低い変数であると重み付けが遥かに低いために急峻な偏差に関するペナルティが大きくなり得ないからである。なお、ここではアライメント手法における最新の重み付けではなく(最新の重み付けは工程3や工程5で更新され得るため)、ランクを利用している点に留意されたい。
【0220】
最後に、最新の窓内におけるキーアライメント時刻の数を計数する。これが、パラメータnumberKeyAlignmentTimesとなる。
【0221】
<工程11:スライディング窓のサイズが拡張され得るか否かの決定>(図1G-Iのステップ226)
キーアライメント時刻の数が参照バッチの最小可能サイズよりも多い場合、すなわち:
ρ+numberKeyAlignmentTimes>BM
である場合、窓のサイズが拡張され得る。
【0222】
この場合:
ρ=ρ-6
とする。
【0223】
ただし、スライディング窓の始まりは、直前のフェーズへ逆行しないように、直前のフェーズ境界よりも前に配置することができない。
【0224】
<工程12:最新のアライメント窓サイズの観点からみたバッチ成熟度上下界の解釈、および最終確認>(図1G-Iのステップ228)
なお、上下界BM,BMは、参照バッチのうちの、軌跡全体を考慮したうえでの点を指す。これらの値は、保存された後、参照バッチの最新サイズの観点から解釈される:
BM=BM-ρ+1
BM=BM-ρ+1
<工程13:GSS法の呼出し>(ステップ230によるGSS法の呼出し;GSS法の呼出し/適用;図1G-IIのステップ246,248,250,252,254,256をまとめたもの)
方法(及びシステム)100は、GSS法を呼び出しDTIの最適解を記憶した(230)後、バッチプロセスが未だ実行中であるか否かを判定し得る(231)。バッチプロセスが未だ実行中である場合、方法(及びシステム)100は、図1G-Iに示すように新たなバッチデータ点を取り出して(204)反復を行い得る。ただし、バッチプロセスが未だ実行中ではない場合、方法(及びシステム)100は図1G-Iに示すように終了し得る(233)。
【0225】
「バッチ成熟度推定用のGSS」で説明した改変版の黄金分割探索法を実行する。
【0226】
<工程13.1:GSS法による仮定バッチ成熟度>(図1G-IIのステップ246)
「バッチ成熟度推定用のGSS」で示した工程に従う。
【0227】
<工程13.2:DTWアライメント問題の解算出>(図1G-IIのステップ248)
図1G-Iのステップ224でキーアライメント時刻が特定されている場合には、対応するDTW問題の解を求める。
【0228】
<工程13.3:DTW解へのキーアライメント時刻の組込み>(図1G-IIのステップ250)
DTW解のうち、キーアライメント時刻に近い時刻は置き換える。最初の時刻と最後の時刻は置き換えることができない。
【0229】
<工程13.4:各キーアライメント時刻をサンプリングするのにどれほどのΔ時間増分が必要なのかの確認>(図1G-IIのステップ252)
工程13.3の調節込みDTW解のうち、各キーアライメント時刻keyTimeω の前にある時刻点の数を計数する。これにより、各keyTime ωのNが与えられる。
【0230】
<工程13.5:キーアライメント時刻のサンプリングを強いる、DTIに対する追加の制約の定式化>(図1G-IIのステップ254)
これらの制約は:
【0231】
【数44】
【0232】
として構築される。
【0233】
<工程13.6:DTI問題の解算出>(図1G-IIのステップ256)
対応するDTI問題の解を求める。最新の最適解がGSS法のこれまでの最適解よりも向上をもたらす場合には、最適解を更新する。
【0234】
最終的なバッチ成熟度BMが計算されると、これを参照バッチ全体の観点から解釈してBM=BM+ρ-1と更新する。
【0235】
その後、当該バッチ成熟度が百分率で計算される:
BM%=100(BM/referenceSize)
【0236】
図3A及び図3Bを参照する。図3Aには、アライメント前とアライメント後の、バッチ変数の測定値の一例が示されている。図3Bには、システムがオフラインとオンラインで変数のバッチアライメントを実行する一例が示されている。
【0237】
図3Aには、アライメント前のバッチ変数の測定値302,304,312,314と、アライメント後のバッチ変数の測定値306,308,316,318の一例が示されている。
【0238】
図3Bには、システムがオフライン(322,324)とオンライン(332,334,336,338)で変数のバッチアライメントを実行する一例が示されている。オフラインの場合には、完了後のバッチ軌跡情報が利用可能であり、かつ、最終的なバッチ成熟度が明らかであり得る(通常は100%)。オンラインの場合には、完了後のバッチ軌跡が判明しておらず、バッチが進行するにつれてバッチ成熟度を推定する必要がある。
【0239】
図3Bには、参照バッチ340、最新バッチの最新部分342、および完了したアライメント344も描かれている。
【0240】
[バッチプロセス用の例示的なネットワーク環境]
図5は、本発明の一部の実施形態における、バッチプロセスの監視及び制御用の例示的なネットワーク環境500を示すブロック図である。システムコンピュータ501,502は、バッチアライメント実行部として動作し得る。本発明の一部の実施形態では、各システムコンピュータ501,502が単独のバッチアライメント実行部としてリアルタイムで動作し得るか、あるいは、コンピュータ501,502同士が協働で単一のバッチアライメント実行部としてリアルタイム処理に貢献する分散プロセッサとして動作し得る。他の実施形態では、追加のシステムコンピュータ512も、バッチアライメント実行部としてリアルタイム処理に貢献する分散プロセッサとして動作し得る。一部の実施形態では、バッチアライメント実行部として動作するシステムコンピュータ501,502,512が、データロード部、バッチ選択部、バッチPLSモデル、バッチ監視部、およびバッチ制御部で構成され得る。
【0241】
システムコンピュータ501,502は、データサーバ503と通信し、ヒストリアンデータベース511から測定可能プロセス変数について収集されたデータへとアクセスし得る。データサーバ503は、さらに、分散制御システム(DCS)504または任意の他のプラント処理もしくはバッチ制御システムと通信可能に接続され得る。これらは、前記測定可能プロセス変数のデータを定期的なサンプリング期間(例えば、1分間当たり1個のサンプル)で収集する機器509A~509I,506,507で構成されたものであり得る。これらの機器は、収集したデータを、同じくDCS504内に構成された計装コンピュータ505へと通信し得る。そして、計装コンピュータ505が、その収集されたデータを通信ネットワーク508でデータサーバ503へと通信し得る。そして、データサーバ503は、その収集されたデータをモデル作成及び配備目的でヒストリアンデータベース511にアーカイブし得る。収集されるバッチデータは、対象のプロセスの種類に従って変わる。
【0242】
収集されるデータには、様々な測定可能バッチプロセス変数の測定値が含まれ得る。これらの測定値は、流量計509Bで測定される原料流の流量、温度センサ509Cで測定される原料流の温度、アナライザ509Aで求められる原料成分濃度、および温度センサ509Dで測定される配管内の反応装置冷却温度を含み得る。また、収集されるデータには、アナライザ506,507で測定される、生成物の濃度などのプロセス出力流変数の測定値が含まれ得る。また、収集されるデータには、バルブ509Fで設定されて流量計509Hで求められる流量などといった操作入力変数の測定値、バルブ509Eで設定されて流量計509Iで測定される冷却水の流量、およびバルブ509Gで制御されるバッチ反応装置内の圧力が含まれ得る。収集されるデータは、特定のサンプリング期間での対象プラントバッチプロセスの操業条件を反映している。
【0243】
収集されたデータは、バッチのモデル化及び制御目的でヒストリアンデータベース511にアーカイブされる。
【0244】
収集されるデータは、対象のプロセスの種類に従って変わる。
【0245】
図5では、システムコンピュータ501,502が、オフラインでのモデル化目的やオンラインでの配備目的のための、バッチデータのアライメントのタスクを実行し得る。システムコンピュータ501上で当該モデルにより生成されたバッチ監視信号や生成物品質予測値は、オペレータが閲覧出来るようにネットワーク508で計装コンピュータ505へと供給され得たり、DCS504のうちの任意の他のコンポーネント又はDCSシステム504に接続された任意の他のプラント、バッチ制御システムもしくは処理システムを自動的にプログラムするように出力され得たりする。
【0246】
あるいは、計装コンピュータ505が、データサーバ503を介して履歴データ511をヒストリアンデータベース511に記憶しスタンドアローンモードでバッチのアライメントをオフライン/オンラインで実行するものとされてもよい。まとめると、計装コンピュータ505、データサーバ503、ならびに各種センサ及び出力ドライバ(例えば、509A~509I、506、507等)が、DCS504を形成し且つ協働で本提示のアプリケーションを実装及び実行する。
【0247】
一部の実施形態を、前記コンピュータシステムの例示的なアーキテクチャ500で説明する。一部の実施形態は、対象のプラントバッチプロセスでの本発明のプロセス操業を支援する。一部の実施形態では、当該対象のプラントが、温度変数、圧力変数、流量変数などの多数の測定可能プロセス変数を含む、特殊薬品加工プラントまたは医薬バッチプロセスであり得る。なお、他の実施形態では本発明が他種の様々な設備や有用技術分野での技術的プロセスに適用され得るということを理解されたい。
【0248】
図6に、本発明の一部の実施形態が実現され得るコンピュータネットワーク又は同様のデジタル処理環境を示す。
【0249】
少なくとも1つのクライアントコンピュータ/装置50および少なくとも1つのサーバコンピュータ60は、アプリケーションプログラムなどを実行する処理装置、記憶装置および入出力装置を構成している。少なくとも1つのクライアントコンピュータ/装置50は、さらに、他のコンピューティングデバイス(他のクライアント装置/プロセス50や1つ以上のサーバコンピュータ60を含む)へと通信ネットワーク70を介して接続され得る。通信ネットワーク70は、リモートアクセスネットワーク、グローバルネットワーク(例えば、インターネット等)、クラウドコンピューティングサーバ又はサービス、世界中のコンピュータの集まり、ローカルエリア又はワイドエリアネットワーク、および現在それぞれのプロトコル(TCP/IP、Bluetoothなど)を用いて互いに通信するゲートウェイの一部であり得る。それ以外の電子デバイス/コンピュータネットワークアーキテクチャも好適である。
【0250】
図7は、図6のコンピュータシステムにおけるコンピュータ(例えば、クライアントプロセッサ/装置50、サーバコンピュータ60等)の内部構造の図である。図7に示すように、図6の各コンピュータ50,60は、コンピュータ又は処理システムの構成要素間でのデータ伝送に利用される一連のハードウェアラインであるシステムバス725を備える。バス725は、本質的に、コンピュータシステムの相異なる構成要素(例えば、プロセッサ、ディスクストレージ、メモリ、入出力ポート、ネットワークポート等)同士を接続して当該構成要素間での情報の伝送を可能にする共有の導管である。システムバス725には、様々な入出力装置(例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカ等)をコンピュータ50,60に接続するための入出力装置インターフェース728が取り付けられている。ネットワークインターフェース721は、コンピュータが、ネットワーク(例えば、図5のネットワーク70等)に取り付けられた様々な他の装置へと接続することを可能にする。メモリ727は、本発明の一実施形態(例えば、詳細に既述したバッチアライメント実行部やコントローラコードやユーザインターフェース等)を実現するのに用いられるコンピュータソフトウェア命令およびデータを記憶する揮発性の記憶部である。ディスクストレージ726は、本発明の一実施形態を実現するのに用いられるコンピュータソフトウェア命令およびデータを記憶する不揮発性の記憶部である。システムバス725には、さらに、コンピュータ命令を実行する中央演算処理装置722が取り付けられている。
【0251】
一実施形態において、前記プロセッサルーチンおよびデータは、コンピュータプログラムプロダクト(概してコントローラ731で表す)である。当該コンピュータプログラムプロダクトは、本発明のシステム用のソフトウェア命令の少なくとも一部を提供するコンピュータ読取り可能媒体(例えば、少なくとも1つのDVD-ROM、CD-ROM、ディスケット、テープなどの取外し可能な記憶媒体等)を含む。コンピュータプログラムプロダクト731は、当該技術分野において周知である任意の適切なソフトウェアインストール方法によってインストールされ得る。また、他の実施形態では、前記ソフトウェア命令の少なくとも一部が、ケーブルおよび/または通信および/または無線接続を介してダウンロードされ得る。他の実施形態において、本発明のプログラムは、伝播媒体における伝播信号(例えば、電波、赤外線波、レーザ波、音波、インターネットなどのグローバルネットワーク又は他の少なくとも1つのネットワークによって伝播される電気波等)に組み込まれた、コンピュータプログラム伝播信号プロダクト107である。このような搬送媒体又は信号が、本発明のルーチン/プログラム731用のソフトウェア命令の少なくとも一部を提供する。
【0252】
代替的な実施形態では、前記伝播信号が、伝播媒体で搬送されるアナログ搬送波又はデジタル信号である。例えば、前記伝播信号は、グローバルネットワーク(例えば、インターネット等)、電気通信網又は他のネットワークによって伝播されるデジタル化された信号であり得る。一実施形態では、前記伝播信号が、ある期間のあいだ前記伝播媒体によって送信される信号であり、例えば、数ミリ秒、数秒、数分又はそれ以上の期間のあいだネットワークによってパケットで送信される、ソフトウェアアプリケーション用の命令等とされる。他の実施形態において、コンピュータプログラムプロダクト731の前記コンピュータ読取り可能媒体は、コンピュータシステム50が受け取って読み取りし得る伝播媒体である。例えば、コンピュータシステム50は、前述したコンピュータプログラム伝播信号プロダクトの場合のように、伝播媒体を受け取ってその伝播媒体に組み込まれた伝播信号を特定する。
【0253】
一般的に言って、「搬送媒体」又は過渡キャリアという用語は、前述した過渡的信号、伝播信号、伝播媒体、記憶媒体などを包含する。
【0254】
他の実施形態では、プログラムプロダクト731が、いわゆるサービスとしてのソフトウェア(Saas:「サース」)、またはエンドユーザをサポートする他のインストレーション(installation)もしくは通信として実現され得る。
【0255】
[デジタル処理環境]
より詳細な説明として、図7は、詳細に既述した本発明の一部の実施形態における、工業的バッチプロセスのモデル化、監視及び制御においてバッチデータのアライメントを実行するためのコンピュータベースのシステム720のブロック図である。中央演算処理装置(CPU)722がバス725に接続されており、詳細に既述したバッチアライメントを(オフラインでのモデル化やオンラインでの配備用に)実現させる、メモリ727および/またはストレージ726に記憶されたコンピュータ命令を実行する。具体的に述べると、メモリ727および/またはストレージ726は、図1A図1C図1G-I、図1G-II及び図4の方法と工業的バッチプロセスのモデル化、監視及び制御用にバッチデータ同士をアライメントするためのユーザインターフェースとを実現させるプログラム命令で構成されている。システム720は、さらに、クラウド、ワイドエリアネットワーク(WAN)およびローカルエリアネットワーク(LAN)を含め、当該技術分野で知られている任意の各種ネットワークに接続するためのネットワークインターフェース721を備える。
【0256】
バス725には、さらに、バッチアライメント実行モジュール723が接続されている。バッチアライメント実行モジュール723は、バッチデータのアライメントを、図1A図1C図1G-I、図1G-II及び図4で詳細に既述したようなオフラインでのモデル化やオンラインでの配備用に実行する。バッチアライメント実行モジュール723は、当該技術分野で知られている任意の手段によってプラントプロセスモデルを校正し得る。例えば、バッチアライメント実行モジュール723は、ヒストリアンデータベースなどのストレージ装置726やメモリ727に記憶された訓練データを参考にしてモデルを校正し得る。さらなる例として、バッチアライメント実行モジュール723は、システム720に通信可能に接続された任意の箇所から、ネットワークインターフェース721および/または入出力装置インターフェース728を介して入力データを受信し得る。
【0257】
システム720は、さらに、バッチアライメント実行モジュール723に通信可能/動作可能に接続された第2のモジュール724を備える。第2のモジュール724は、図1A図1Cで既述したプラントプロセスモデルによって生じるバッチ監視信号(すなわち、バッチ変数測定値)又は生成物品質予測値を生成するように構成されている。第2のモジュール724は、当該技術分野で知られている任意の手段によって変数測定値や生成物品質予測値を生成し得る。例えば、第2のモジュール724は、ストレージ装置726又はメモリ727にある履歴データ(例えば、配列)へとアクセスし得る。他の例として、第2のモジュール724は、バス725を介してCPU722を使って入力データを処理し得る。さらなる例として、モジュール724は、工業的プロセスの任意の箇所又はシステム720に通信可能に接続されたプラントのうちの任意の箇所から、ネットワークインターフェース721および/または入出力装置インターフェース728を介して入力データを取り出し得る。
【0258】
システム720は、さらに、バッチアライメント実行モジュール723や第2のモジュール724に通信可能/動作可能に接続されたプラントシステム解析モジュール736の一部として、検索エンジン733およびパラメトリックアナライザ735を備える。バッチアライメント実行モジュール723および第2のモジュール724は、プラントシステム解析部736のコントローラ731を形成する。プラントシステム解析モジュール736は、図2A図2D図3A及び図3Bに示すバッチプロセスに関して前述したような実行及び動作を行う。検索エンジン733およびパラメトリックアナライザ735は、ストレージ装置726やメモリ727にある履歴データ(例えば、配列)へとアクセスし得る。他の例として、検索エンジン733およびパラメトリックアナライザ735は、第2のモジュール724用のバッチデータを、バス725を介してCPU722を使って処理し得る。さらなる例として、検索エンジン733およびパラメトリックアナライザ735は、システム720に通信可能に接続されたプラントのうちの任意の箇所から、ネットワークインターフェース721および/または入出力装置インターフェース728を介して入力データを取り出し得る。
【0259】
なお、本明細書で説明した例示的な実施形態は、数多くの様々な様式で実現され得るということを理解されたい。一部の場合では、本明細書で説明した各種方法やマシンが、それぞれ、コンピュータシステム720などの物理的コンピュータ、仮想的コンピュータ又はハイブリッド型の汎用コンピュータにより実現され得る。コンピュータシステム720は、例えばソフトウェア命令をメモリ727又は不揮発性のストレージ726へとCPU722が実行出来るようにロードすることにより、本明細書で説明した方法を実行するマシンへと変換され得る。また、バッチアライメント実行モジュール723、第2のモジュール724、検索エンジンモジュール723およびパラメトリックアナライザモジュール735は別個のモジュールとして描かれているが、例示的な一実施形態では、プラントのモデル化、監視及び制御用のバッチデータアライメントモジュールとして一体実現されるという構成を含む様々な構成でこれらのモジュールが実現されてもよい。
【0260】
システム720及びシステム720の各種コンポーネントは、本明細書で説明した本発明の任意の実施形態を実行するように構成され得る。例えば、システム720は、図1A図1C図1G-I、図1G-II及び図4に関して本明細書で前述した方法100を実行するように構成され得る。例示的な一実施形態では、バッチアライメント実行モジュール723、第2のモジュール724、検索エンジン733およびパラメトリックアナライザ735が、メモリ727および/またはストレージ装置726に記憶されたソフトウェアによって実現され得る。このような例示的な一実施形態では、CPU722およびメモリ727が、当該メモリ727および/またはストレージ装置726に記憶されたコンピュータコード命令により、バッチプロセスをモデル化して品質予測値を計算するバッチプロセスコントローラを実現する。
【0261】
図8は、図6のコンピュータシステムにおけるコンピュータ(例えば、クライアントプロセッサ/装置50、サーバコンピュータ60等)の例示的な内部構造の他の図である。各コンピュータ50,60は、コンピュータ又は処理システムの構成要素(例えば、エンティティ等)間でのデータ伝送に利用される一連のハードウェアラインであるシステムバス79を備える。システムバス79は、本質的に、コンピュータシステムの相異なる構成要素(例えば、プロセッサ、ディスクストレージ、メモリ、入出力ポート、ネットワークポート等)同士を接続して当該構成要素間での情報の伝送を可能にする共有の導管である。システムバス79には、様々な入出力装置(例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカ、タッチスクリーン等)をコンピュータ50,60に接続するための入出力装置インターフェース82が取り付けられている。ネットワークインターフェース86は、コンピュータが、ネットワーク(例えば、図6のネットワーク70等)に取り付けられた様々な他の装置へと接続することを可能にする。メモリ90は、本開示の実施形態(例えば、前記システム、コントローラ、プロセッサ及びメモリのうちの任意のもの、あるいは、本明細書で説明した任意の他の装置、エンジン、システム、モジュール又はコントローラを含むが、これらに限定されない)を実現するのに用いられるコンピュータソフトウェア命令92およびデータ94を記憶する揮発性の記憶部である。ディスクストレージ95は、本開示の一部の実施形態を実現するのに用いられるコンピュータソフトウェア命令92およびデータ94を記憶する不揮発性の記憶部である。なお、データ94はクライアント50とサーバ60とで同じものであり得るが、コンピュータソフトウェア命令92の種類はクライアント50とサーバ60とで異なり得る。システムバス79には、さらに、コンピュータ命令を実行する中央演算処理装置84が取り付けられている。
【0262】
一実施形態では、前記システムが、図8に示すように、プロセッサ84、およびコンピュータコード命令が記憶されたメモリ90を備える。メモリ90は、前記コンピュータコード命令によってプロセッサ84にコントローラを実現させるように、当該プロセッサ84に動作可能に接続されている。
【0263】
一実施形態において、プロセッサルーチン92およびデータ94は、コンピュータプログラムプロダクト(概して92で表す)である。当該コンピュータプログラムプロダクトは、本開示のシステム用のソフトウェア命令の少なくとも一部を提供するコンピュータ読取り可能媒体(例えば、少なくとも1つのDVD-ROM、CD-ROM、ディスケット、テープなどの取外し可能な記憶媒体等)を含む。コンピュータプログラムプロダクト92は、当該技術分野において周知である任意の適切なソフトウェアインストール方法によってインストールされ得る。また、他の実施形態では、前記ソフトウェア命令の少なくとも一部が、ケーブル、通信または無線接続を介してダウンロードされ得る。他の実施形態において、本開示のプログラムは、伝播媒体における伝播信号(例えば、電波、赤外線波、レーザ波、音波、インターネットなどのグローバルネットワーク又は他の少なくとも1つのネットワークによって伝播される電気波等)に組み込まれた、(図6に示す)コンピュータプログラム伝播信号プロダクト107である。このような搬送媒体又は信号が、本開示のルーチン/プログラム92用のソフトウェア命令の少なくとも一部を提供するように用いられ得る。
【0264】
その実施形態または態様は、ハードウェアの形態(ハードウェア回路を含むが、これに限定されない)、ファームウェアの形態、およびソフトウェアの形態のいずれによって実現されてもよい。ソフトウェアで実現された場合、当該ソフトウェアは、プロセッサに当該ソフトウェア又は当該ソフトウェアの命令の一部をロードさせることが可能であるように構成された任意の非過渡的なコンピュータ読取り可能媒体に記憶されたものとされ得る。そして、プロセッサがこれらの命令を実行することにより、本明細書で説明した様式で装置が動作することになるか又は装置をそのように動作させる構成となっている。
【0265】
また、本明細書では、ハードウェア、ファームウェア、ソフトウェア、ルーチンまたは命令が、データプロセッサの特定の動作または機能を実行するかの如く説明しているかもしれない。しかしながら、本明細書に含まれるこのような説明はあくまでも便宜上のものに過ぎず、実際には、コンピューティングデバイス、プロセッサ、コントローラまたはその他の装置が当該ファームウェア、ソフトウェア、ルーチン、命令などを実行することによってそのような動作が生じるという点を理解されたい。
【0266】
フロー図、ブロック図およびネットワーク図は、構成要素の数が増えても減ってもよいし、配置が異なってもよいし、表現が異なってもよいと理解されたい。ただし、実施の方法によってはブロック図やネットワーク図が決まっており、実施形態の実施を示すブロック図やネットワーク図の数も特定の数になり得るという点も理解されたい。
【0267】
つまり、様々なコンピュータアーキテクチャ、物理コンピュータ、仮想コンピュータ、クラウドコンピュータ又はこれらの所与の組合せにより、さらなる実施形態が実現し得る。したがって、本明細書で説明したデータプロセッサは、あくまでも例示目的に意図されたものあり、実施形態を限定するものではない。
【0268】
本開示では例示的な実施形態について具体的に図示・説明したが、当業者であれば、添付の特許請求の範囲に包含された本開示の範囲を逸脱しない範疇で形態や細部に様々な変更が施されてもよいことが分かるであろう。
【0269】
一部の実施形態は、挙動やデータを変えたり、機能的な向上をもたらしたり、技術的課題を解決したりし得るという1つ以上の技術的な利点を奏し得る。一部の実施形態において、技術的な利点や機能的な向上には、既存の方法と比較しての効率や精度や速度の向上やその他の効果が含まれ得る(但し、これらに限定されない)。一部の実施形態は、既存の方法の機能的欠点を克服するという意味で技術的な利点や機能的な向上をもたらす。一部の実施形態は、既存のアプローチと比較してのパフォーマンスの向上や拡張性を含めた(但し、これらに限定されない)技術的な利点を奏する。
【0270】
一部の実施形態では、その他の技術的な利点や機能的な向上に、後述のものが含まれ得る(但し、それらに限定されない)。一部の実施形態は、後述のうちの少なくとも1つのパフォーマンスや効率を向上させることによって技術的な利点や機能的な向上をもたらし得る。一部の実施形態は、技術的な課題を解決することによって後述のうちの少なくとも1つによる技術的な効果を奏する:
● 既存のアプローチには、工業的応用時にオンラインでバッチアライメントを行うための体系的な手法が欠けている。本開示では、オフラインとオンラインの双方でバッチのモデル化、監視及び制御用にバッチデータのアライメントを自動ワークフローで実行する方法(及びシステム)100について説明する。
● 既存のアプローチには、履歴バッチデータのロード、ならびに外れバッチ及びフラットな軌跡の変数のスクリーニング及び除外がシステム自動化されていると共に、有効なバッチを特定してキーバッチ変数をランク付けするという能力を備えた手法が欠けている。
● 既存のアプローチでは、一部であるが(非特許文献2、非特許文献3、非特許文献4、非特許文献5及び非特許文献6を参照のこと)、いわゆる動的時間伸縮(DTW)アルゴリズムを使ってバッチデータのアライメントが行われてきた。しかし、DTWでは、アライメント後のデータに大きな歪みが生じ得たり(例えば、元々の生データに存在しない段差状のステップのような挙動がもたらされ得たり)、離散時間的性質が原因となって軌跡データ上の異常が見逃されたりし得る(非特許文献6)。本開示では、それに取って代わるアルゴリズムとしていわゆる動的時間補間(DTI)を設定し、DTWアルゴリズムと併用することによってこの問題点に対処する。
● オンラインでのバッチ監視及び制御用途のためにアライメントをオンラインで行う際、測定対象のバッチ軌跡は未完了である。そのため、まず最新のバッチ成熟度を求めてから、それに応じてアライメントを実行する必要がある。既存のアプローチでは、バッチ成熟度を求めるのに非厳密な終点(終点未定)のDTWが使われてきたが、これは大きな歪みをもたらし得る(非特許文献2、非特許文献3及び非特許文献4)。本開示のシステムでは、黄金分割探索(GSS)の改変版によるDTIを用いてこの問題点に対処している。
● 本開示は、工業的な実用の要望に応えてオンラインでのアライメントを解決する、革新的なアルゴリズムを提示する。当該アルゴリズムは、移動アライメント窓を導入及び採用し解を算出すべき最適化問題の大きさを有意に削減することで、各サンプリング区間でのオンラインのパフォーマンスを円滑なものにする。この新しいアルゴリズムでは、DTWを用いて狭小なバッチ成熟度上下界を算出し、GSS法の探索空間を縮小する。GSSを用いたDTIとDTWとを組み合わせることにより、オンラインでのバッチアライメントのための満足のいく解決手段が得られる。
【0271】
本明細書で引用した全ての特許、特許出願公開公報および刊行物の全教示内容は、参照をもって取り入れたものとする。
【0272】
例示的な実施形態を具体的に図示・説明したが、当業者であれば、添付の特許請求の範囲に包含された実施形態の範囲を逸脱しない範疇で形態や細部に様々な変更が施されてもよいことを理解するであろう。
なお、本発明は、態様として以下の内容を含む。
〔態様1〕
工業的バッチプロセスのモデル化、監視及び制御用にバッチデータのアライメントを自動的に実行する、コンピュータに実装される方法であって、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードする過程と、
ロードした前記バッチデータを、バッチアライメント用にスケーリングする過程と、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外する過程と、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択する過程と、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)する過程と、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択する過程と、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定する過程と、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行する過程と、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節する過程と、
前記バッチアライメントを、オフラインモード及びオンラインモードのうちの少なくとも一方で実行する過程と、
を備える、方法。
〔態様2〕
態様1に記載の方法において、前記外れバッチデータをスクリーニング及び除外する前記過程が、
a)選択した前記バッチ変数の測定値を、スクリーニング対象の前記バッチデータのうちの他のバッチに関わる挙動と比較して異常な挙動を示しているか否かについて、さらにスクリーニングする副過程、
b)スクリーニング対象の前記バッチデータのうち、前記異常な挙動に関連したデータを修正する副過程、
c)データ修正後のスクリーニング対象の前記バッチデータから、所与の期間に亘る変動プロファイルが前記他のバッチと比較して異なっているバッチを含め、少なくとも1つの有効でないバッチを除外する副過程、
d)選択した前記バッチ変数を、ベースサンプリングレートでサンプリングし直す副過程、および
e)選択した前記所与のバッチをエクスポートする副過程、
のうちの1つ以上を含む、方法。
〔態様3〕
態様1に記載の方法において、前記参照バッチを選択する前記過程が、
a)スクリーニング済みの前記バッチデータから複数の参照バッチをさらに選択し、さらに選択した当該複数の参照バッチについて、複数同士の平均値と比較しての複数の各バッチの統計学的な量的尺度を計算する副過程、
b)さらに選択した前記複数の参照バッチのうちの1つ以上を、複数の各バッチの経時的進行を表す時間軸と合わせて、変数プロファイルと共に所与の表示でまとめてユーザに表示する副過程、
c)スクリーニング済みの前記バッチデータのうち、前記バッチアライメント用のバッチ部分集合を、前記所与の表示およびユーザ自身のドメイン知識に基づいてユーザが選択するのを可能にする副過程、ならびに
d)選択した前記バッチ変数のうち、前記バッチアライメントに参加させない1つ以上のバッチ変数をユーザが放棄するのを可能にする副過程、
のうちの1つ以上を含む、方法。
〔態様4〕
態様1に記載の方法において、前記少なくとも1つのバッチ変数を選択する前記過程が、
a)前記少なくとも1つのバッチ変数のうち、フラットな軌跡又は互いに一貫性が低い軌跡を有する1つ以上のバッチ変数を放棄する副過程、
b)前記少なくとも1つのバッチ変数からバッチ部分集合を選択する副過程、
c)前記少なくとも1つのバッチ変数のうちの相関する変数同士をグループ化する副過程、
d)前記少なくとも1つのバッチ変数のうちの各バッチ変数に関する所与のフェーズでの、前記少なくとも1つのバッチ変数の軌跡形状を特定する副過程、
e)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方について、平滑性指数を計算する副過程、
f)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、曲線性指数を計算する副過程、
g)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、一貫性指数を計算する副過程、
h)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方に関するアライメントスコアを求める副過程、
i)放棄した前記バッチ変数、選択した前記バッチ部分集合、グループ化した前記相関する変数、特定した前記軌跡形状、計算した前記平滑性指数、計算した前記曲線性指数、計算した前記一貫性指数、および求めた前記アライメントスコアのうちの1つ以上を、ユーザに表示する副過程、ならびに
j)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、任意のものをさらに選択するよう1つ以上の指示をユーザに対して行う副過程、
のうちの1つ以上を含む、方法。
〔態様5〕
態様1に記載の方法において、前記少なくとも1つの重み付けを推定する前記過程が、
a)選択した前記バッチ変数のうちの少なくとも1つのデフォルト変数の重み付け係数を、当該少なくとも1つのデフォルト変数に関する軌跡形状に従って予備計算する副過程、
b)選択した前記バッチ変数のうちの1つ以上のバッチ変数のランク及び標準偏差に基づいて、前記少なくとも1つの重み付けのうちの1つ以上を調節する副過程、
c)前記少なくとも1つの重み付けに、対応する一貫性指数を乗算する副過程、ならびに
d)前記少なくとも1つの重み付けのさらなる調節を反復的に行う副過程、
のうちの1つ以上を含む、方法。
〔態様6〕
態様1に記載の方法において、前記バッチアライメントを前記オンラインモードで実行する前記過程が、さらに、
a)前記対象の工業的バッチプロセスの最新バッチの、アライメント用のフェーズを決定する副過程、
b)前記最新のバッチフェーズに関する、推定した前記少なくとも1つの変数重み付けを選択する副過程、
c)動的時間伸縮(DTW)に関係させる、推定した前記少なくとも1つの変数重み付けを、前記対象の工業的バッチプロセスの直前の連続するアライメント点の情報に基づいて調節する副過程、
d)前記動的時間伸縮(DTW)に基づいて、前記対象の工業的バッチプロセスの最新のバッチ成熟度を推定する副過程、
e)前記動的時間伸縮(DTW)による前記最新のバッチ成熟度の推定値に基づいて、推定した前記少なくとも1つの変数重み付けを調節する副過程、
f)前記最新のバッチ成熟度の推定値に基づいて、前記動的時間伸縮(DTW)によるバッチ成熟度の上下界のうちの少なくとも一方を調節する副過程、
g)前記対象の工業的バッチプロセスに関するスライディング窓の始点を変更する副過程、
h)予測値を計算し、選択した前記バッチ変数の軌跡形状の変化を検出する副過程、
i)前記動的時間伸縮(DTW)の解の下界と前記スライディング窓の始点との近接性に基づいて、当該スライディング窓のサイズを拡張する副過程、
j)少なくとも1つのアライメント時刻を特定する副過程、
k)特定した前記アライメント時刻に基づいて、前記スライディング窓の前記サイズを拡張させるか否かを確認する副過程、
l)前記最新のアライメント窓のサイズに基づいて、バッチ成熟度の上下界のうちの少なくとも一方をさらに調節する副過程、
m)前記最新バッチの前記アライメントを実行する副過程、ならびに
n)前記最新バッチについて副過程(a)から(m)までを現在のバッチの時間にわたって繰り返す副過程、
のうちの1つ以上を含む、方法。
〔態様7〕
態様6に記載の方法において、さらに、
a)前記バッチアライメントを、累積距離を用いた終点未定問題として定義する過程と、
b)定義した前記バッチアライメント、前記最新バッチのデータ点の数、および前記参照バッチのデータ点の数に基づいて、グリッドを生成する過程と、
c)生成した前記グリッドを単調的にトラバースすることにより、当該生成したグリッドに関するワーピングパスを求める過程と、
のうちの1つ以上を備える、方法。
〔態様8〕
態様6に記載の方法において、前記スライディング窓のアライメントが、黄金分割探索(GSS)の改変版による動的時間補間(DTI)に基づいたものであり、当該方法が、さらに、
a)前記スライディング窓のアライメントを、線形補間値を含む目的関数に基づいて定義する過程、
を備える、方法。
〔態様9〕
態様4に記載の方法において、前記相関する変数同士をグループ化する前記副過程が、さらに、
a)スクリーニング済みの前記バッチデータの展開に基づいて、主成分解析(PCA)モデルを構築すること、および
b)前記主成分解析(PCA)モデルの少なくとも1つのスコアにK-meansクラスタリングを適用すること、
のうちの1つ以上を有する、方法。
〔態様10〕
工業的バッチプロセスのモデル化、監視及び制御用にバッチデータのアライメントを自動的に実行する、コンピュータに実装されるシステムであって、
プロセッサと、
コンピュータコード命令が記憶されたメモリであって、当該コンピュータコード命令が前記プロセッサにより実行されることでモデラエンジンが当該コンピュータシステムに実装されるように、前記プロセッサに動作可能に接続されている、メモリと、
を備え、前記モデラエンジンが、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードし、
ロードした前記バッチデータを、バッチアライメント用にスケーリングし、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外し、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択し、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)し、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択し、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定し、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行し、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節し、
前記バッチアライメントを、オフラインモード及びオンラインモードのうちの少なくとも一方で実行する、
ように構成されている、システム。
〔態様11〕
態様10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)選択した前記バッチ変数の測定値を、スクリーニング対象の前記バッチデータのうちの他のバッチに関わる挙動と比較して異常な挙動を示しているか否かについて、さらにスクリーニングすること、
b)スクリーニング対象の前記バッチデータのうち、前記異常な挙動に関連したデータを修正すること、
c)データ修正後のスクリーニング対象の前記バッチデータから、所与の期間に亘る変動プロファイルが前記他のバッチと比較して異なっているバッチを含め、少なくとも1つの有効でないバッチを除外すること、
d)選択した前記バッチ変数を、ベースサンプリングレートでサンプリングし直すこと、および
e)選択した前記所与のバッチをエクスポートすること、
のうちの1つ以上を含め、前記外れバッチデータをスクリーニング及び除外するように構成されている、システム。
〔態様12〕
態様10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)スクリーニング済みの前記バッチデータから複数の参照バッチをさらに選択し、さらに選択した当該複数の参照バッチについて、複数同士の平均値と比較しての複数の各バッチの統計学的な量的尺度を計算すること、
b)さらに選択した前記複数の参照バッチのうちの1つ以上を、複数の各バッチの経時的進行を表す時間軸と合わせて、変数プロファイルと共に所与の表示でまとめてユーザに表示すること、
c)スクリーニング済みの前記バッチデータのうち、前記バッチアライメント用のバッチ部分集合を、前記所与の表示およびユーザ自身のドメイン知識に基づいてユーザが選択するのを可能にすること、ならびに
d)選択した前記バッチ変数のうち、前記バッチアライメントに参加させない1つ以上のバッチ変数をユーザが放棄するのを可能にすること、
のうちの1つ以上を含め、前記参照バッチを選択するように構成されている、システム。
〔態様13〕
態様10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記少なくとも1つのバッチ変数のうち、フラットな軌跡又は互いに一貫性が低い軌跡を有する1つ以上のバッチ変数を放棄すること、
b)前記少なくとも1つのバッチ変数からバッチ部分集合を選択すること、
c)前記少なくとも1つのバッチ変数のうちの相関する変数同士をグループ化すること、
d)前記少なくとも1つのバッチ変数のうちの各バッチ変数に関する所与のフェーズでの、前記少なくとも1つのバッチ変数の軌跡形状を特定すること、
e)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方について、平滑性指数を計算すること、
f)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、曲線性指数を計算すること、
g)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、一貫性指数を計算すること、
h)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの少なくとも一方に関するアライメントスコアを求めること、
i)放棄した前記バッチ変数、選択した前記バッチ部分集合、グループ化した前記相関する変数、特定した前記軌跡形状、計算した前記平滑性指数、計算した前記曲線性指数、計算した前記一貫性指数、および求めた前記アライメントスコアのうちの1つ以上を、ユーザに表示すること、ならびに
j)前記少なくとも1つのバッチ変数及び前記所与のフェーズのうちの前記少なくとも一方について、任意のものをさらに選択するよう1つ以上の指示をユーザに対して行うこと、
のうちの1つ以上を含め、前記少なくとも1つのバッチ変数を選択するように構成されている、システム。
〔態様14〕
態様10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)選択した前記バッチ変数のうちの少なくとも1つのデフォルト変数の重み付け係数を、当該少なくとも1つのデフォルト変数に関する軌跡形状に従って予備計算すること、
b)選択した前記バッチ変数のうちの1つ以上のバッチ変数のランク及び標準偏差に基づいて、前記少なくとも1つの重み付けのうちの1つ以上を調節すること、
c)前記少なくとも1つの重み付けに、対応する一貫性指数を乗算すること、ならびに
d)前記少なくとも1つの重み付けのさらなる調節を反復的に行うこと、
のうちの1つ以上を含め、前記少なくとも1つの重み付けを推定するように構成されている、システム。
〔態様15〕
態様10に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記対象の工業的バッチプロセスの最新バッチの、アライメント用のフェーズを決定すること、
b)前記最新のバッチフェーズに関する、推定した前記少なくとも1つの変数重み付けを選択すること、
c)動的時間伸縮(DTW)に関係させる、推定した前記少なくとも1つの変数重み付けを、前記対象の工業的バッチプロセスの直前の連続するアライメント点の情報に基づいて調節すること、
d)前記動的時間伸縮(DTW)に基づいて、前記対象の工業的バッチプロセスの最新のバッチ成熟度を推定すること、
e)前記動的時間伸縮(DTW)による前記最新のバッチ成熟度の推定値に基づいて、推定した前記少なくとも1つの変数重み付けを調節すること、
f)前記最新のバッチ成熟度の推定値に基づいて、前記動的時間伸縮(DTW)によるバッチ成熟度の上下界のうちの少なくとも一方を調節すること、
g)前記対象の工業的バッチプロセスに関するスライディング窓の始点を変更すること、
h)予測値を計算し、選択した前記バッチ変数の軌跡形状の変化を検出すること、
i)前記動的時間伸縮(DTW)の解の下界と前記スライディング窓の始点との近接性に基づいて、当該スライディング窓のサイズを拡張すること、
j)少なくとも1つのアライメント時刻を特定すること、
k)特定した前記アライメント時刻に基づいて、前記スライディング窓の前記サイズを拡張させるか否かを確認すること、
l)前記最新のアライメント窓のサイズに基づいて、バッチ成熟度の上下界のうちの少なくとも一方をさらに調節すること、
m)前記最新バッチの前記アライメントを実行すること、ならびに
n)前記最新バッチについて(a)から(m)までを現在のバッチの時間にわたって繰り返すこと、
のうちの1つ以上を含め、前記バッチアライメントを前記オンラインモードで実行するように構成されている、システム。
〔態様16〕
態様15に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)前記バッチアライメントを、累積距離を用いた終点未定問題として定義すること、
b)定義した前記バッチアライメント、前記最新バッチのデータ点の数、および前記参照バッチのデータ点の数に基づいて、グリッドを生成すること、ならびに
c)生成した前記グリッドを単調的にトラバースすることにより、当該生成したグリッドに関するワーピングパスを求めること、
のうちの1つ以上を実行するように構成されている、システム。
〔態様17〕
態様15に記載のシステムにおいて、前記スライディング窓のアライメントが、黄金分割探索(GSS)の改変版による動的時間補間(DTI)に基づいたものであり、前記モデラエンジンが、さらに、
a)前記スライディング窓のアライメントを、線形補間値を含む目的関数に基づいて定義する、
ように構成されている、システム。
〔態様18〕
態様13に記載のシステムにおいて、前記モデラエンジンが、さらに、
a)スクリーニング済みの前記バッチデータの展開に基づいて、主成分解析(PCA)モデルを構築すること、および
b)前記主成分解析(PCA)モデルの少なくとも1つのスコアにK-meansクラスタリングを適用すること、
のうちの1つ以上を含め、前記相関する変数同士をグループ化するように構成されている、システム。
〔態様19〕
コード命令が記憶された非過渡的なコンピュータ読取り可能記憶媒体、
を備える、コンピュータプログラムプロダクトであって、
前記記憶媒体は、プロセッサにより前記コンピュータコード命令が工業用バッチプロセスのモデル化、監視及び制御のために実行されると、当該コンピュータコード命令によって前記プロセッサが、
プラントヒストリアンデータベースから、対象の工業的バッチプロセスのバッチデータをロードする手順、
ロードした前記バッチデータを、バッチアライメント用にスケーリングする手順、
スケーリングした前記バッチデータから、外れバッチデータをスクリーニング及び除外する手順、
スクリーニング済みの前記バッチデータから、前記バッチアライメントの基礎としての参照バッチを選択する手順、
スクリーニング済みの前記バッチデータに関する、前記バッチアライメント用の少なくとも1つのバッチフェーズを設定及び追加(又は変更)する手順、
スクリーニング済みの前記バッチデータに関する少なくとも1つのバッチ変数を:(i)当該少なくとも1つのバッチ変数の少なくとも1つのプロファイル;および(ii)当該少なくとも1つのバッチ変数の少なくとも1つの曲線性;のうちの少なくとも一方に基づいて選択する手順、
前記バッチアライメントに関係させる、選択した前記バッチ変数に基づいて、少なくとも1つの変数重み付けを推定する手順、
スクリーニング済みの前記バッチデータのうちの所与のバッチを選択して、前記参照バッチへの前記バッチアライメントを実行する手順、
前記バッチアライメントに関する少なくとも1つの調整パラメータを調節する手順、ならびに
前記バッチアライメントを、オフラインモード及びオンラインモードのうちの少なくとも一方で実行する手順、
を実行することになるように、前記プロセッサに動作可能に接続されている、コンピュータプログラムプロダクト。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図1G-I】
図1G-II】
図1H
図1I
図1J
図2A
図2B
図2C
図2D
図3A
図3B
図4
図5
図6
図7
図8