(57)【要約】      （修正有）【課題】連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラを提供する。【解決手段】コントローラ１１０は、システムの現在の状態の測定値１２１を受け入れ、システムの状態に対する状態制約に従って混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いてシステムへの制御入力１１１を生成し、制御入力をシステムに提示することによりシステムの状態を変更する。ＭＩ−ＭＰＣを解くために、コントローラは、状態制約１０４を満たす状態変数の一連の値をもたらす結果となる制御入力の値の任意の組み合わせがシステムへの制御入力に対する状態不変制御制約も満たすように、状態制約を状態不変制御制約に変換し、状態制約と状態不変制御制約とに従ってＭＩ−ＭＰＣ問題を解く。【選択図】図１
2020149677.tif 000002
【特許請求の範囲】
【請求項１】
連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラであって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記コントローラは、
前記システムの現在の状態の測定値を受け入れ、各制御ステップの混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成し、前記制御入力を前記システムに与えることにより前記システムの状態を変更するように構成されたプロセッサを備え、前記プロセッサは、前記システムの状態に対する状態制約に従って前記ＭＩ−ＭＰＣ問題を解き、現在の制御ステップに対して、前記プロセッサは、
前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換し、
前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くように構成される、連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラ。
【請求項２】
前記プロセッサは、前記状態不変制御制約に従って前記ＭＩ−ＭＰＣ問題を解くために、
前記状態不変制御制約を満たす厳密にされた制御境界値で、少なくとも前記制御入力の部分集合の異なる値の複数の組み合わせを選択し、
少なくとも前記制御入力の部分集合の異なる値の各組み合わせについて整数緩和最適化問題を解いて、前記ＭＩ−ＭＰＣ問題の目的関数に従って性能指標を最適化する解の集合を生成し、
前記解の集合から前記性能指標の最適値に対応する前記ＭＩ−ＭＰＣ問題の解を選択するように構成される、請求項１に記載のコントローラ。
【請求項３】
前記プロセッサは、前記状態不変制御制約を満たす連続探索空間のパーティション内への前記値の離散集合の緩和により定義される探索空間内でＭＰＣ問題の解を探索する分枝限定法で、前記ＭＩ−ＭＰＣ問題を解くように構成される、請求項１に記載のコントローラ。
【請求項４】
前記分枝限定法は、前記値の離散集合に属する前記ＭＰＣ問題の解が見つかるまで、前記探索空間を反復して分割し、前記状態不変制御制約は、最適解を見つけるために解かれる必要のあるＭＰＣ問題の数を低減するよう前記探索空間を厳密にし、各緩和ＭＰＣ問題は前記状態制約に従って解かれる、請求項３に記載のコントローラ。
【請求項５】
前記状態不変制御制約の少なくとも一部は前記ＭＰＣ問題の制御区間の一部またはすべての瞬間について互いに結合され、前記プロセッサは前記状態不変制御制約を分離して前記探索空間を形成する、請求項３に記載のコントローラ。
【請求項６】
前記プロセッサは、制御境界の初期集合、および前記ＭＰＣ問題の制御区間の一部またはすべての瞬間について互いに結合される前記状態不変制御制約が与えられると、前記制御入力ごとに、前記分離された状態不変制御制約を表す、保守的境界値の集合を反復的に厳密にするドメイン伝播法を用いて、前記制御区間の異なる瞬間の前記状態不変制御制約を分離する、請求項５に記載のコントローラ。
【請求項７】
前記分枝限定法は、前記探索空間を、共通領域に入れ子にされた第１の領域および第２の領域を含む、領域からなる入れ子木に反復的に分割し、前記プロセッサは、
前記第１の領域によって定義された前記探索空間の第１のパーティションについて前記ＭＰＣ問題を解いて、第１の解を生成し、
前記第２の領域によって定義された前記探索空間の第２のパーティションについて前記ＭＰＣ問題を解いて、第２の解を生成し、
前記第１の解と前記第２の解との両方を、最適目的値に対する現在既知の境界と比較し、
前記第１の領域、前記第２の領域、または両方の領域のいずれかの性能指標が前記最適目的値に対する前記現在既知の境界よりも最適でない場合、前記領域からなる入れ子木から前記第１の領域、前記第２の領域、または両方の領域のいずれかを剪定し、
前記第１のパーティションまたは前記第２のパーティションのいずれかが前記ＭＩ−ＭＰＣ問題の実行可能な離散解をもたらす場合には、現在既知の境界値を最適目的に更新し、
１つの残っている領域を選択して複数の入れ子領域に分割し、前記値の離散集合に属する最適解が見つかるまで、前記複数の入れ子領域の少なくとも一部のＭＰＣ問題を解くように構成される、請求項３に記載のコントローラ。
【請求項８】
前記分枝限定法は、前記探索空間内において前記値の離散集合に属する前記ＭＰＣ問題の最適解を見つけるよう、前記探索空間を領域からなる入れ子木に反復して分割し、前記プロセッサは、反復を実行するために、
前記探索空間のパーティションを定義する前記入れ子木の葉領域について前記ＭＰＣ問題を解いて、前記入れ子領域の前記ＭＰＣ問題の解を見つけ出し、
前記葉領域の前記ＭＰＣ問題の前記解を、前記領域からなる入れ子木の前記ＭＩ−ＭＰＣ問題の現在既知の最良の離散的な実行可能解と比較し、
前記葉領域の前記ＭＰＣ問題の前記解が、離散的に実行可能であり、前記領域からなる入れ子木の前記ＭＩ−ＭＰＣ問題の現在既知の最良の離散的な実行可能解よりも最適である場合には、前記領域からなる入れ子木の前記ＭＩ−ＭＰＣ問題の前記離散的な実行可能解の最良の境界値を、前記葉領域の前記ＭＰＣ問題の前記解で更新し、
前記葉領域の前記ＭＰＣ問題の前記解の性能指標が、前記現在既知の最良の離散的な実行可能ＭＩ−ＭＰＣ解よりも最適でない場合には、前記領域からなる入れ子木から前記葉領域を剪定するよう構成される、請求項３に記載のコントローラ。
【請求項９】
前記分枝限定法は、木伝播を用いて、現在の制御ステップについての前記ＭＩ−ＭＰＣ問題の解および対応の領域からなる入れ子木を、以前の時間制御ステップに対して判断された前記ＭＩ−ＭＰＣ問題の解および対応の領域からなる入れ子木からの１ステップ先の時間予測で初期化する、請求項８に記載のコントローラ。
【請求項１０】
前記プロセッサは、前記木伝播を用いて前記分枝限定法を初期化するために、
現在の制御時間ステップの、領域からなる現在の入れ子木を初期化するよう構成され、前記初期化された、領域からなる現在の入れ子木は、前記離散変数の各々の分枝変数および対応の擬似コスト情報を、前記以前の制御時間ステップに対して判断された前記ＭＩ−ＭＰＣ問題の解および対応の、領域からなる以前の入れ子木からの分枝変数ならびに擬似コスト情報の順序で定義し、前記プロセッサはさらに、
前記分枝された変数のインデックスを、前記現在の制御時間ステップについての前記ＭＰＣ問題の制御区間において、前記以前の制御時間ステップに対して判断された前記領域からなる以前の入れ子木における解パスに沿って、１段階だけシフトし、
前記分枝された変数の前記インデックスをシフトした後、前記領域からなる現在の入れ子木から、前記現在の制御時間ステップの区間外にある段階に関連付けられる分枝された変数を除去し、
前記領域からなる現在の入れ子木から、緩和ＭＰＣ解において値が既に整数実行可能である分枝された変数を除去し、
前記領域からなる現在の入れ子木から、前記擬似コスト情報が以前の制御時間ステップ中に不十分な分枝を示す分枝された変数を除去するよう構成される、請求項８に記載のコントローラ。
【請求項１１】
前記プロセッサは、さらに、前記以前の制御時間ステップからの以前のＭＰＣ解に基づいて、前記領域からなる現在の入れ子木において各ＭＰＣ解ごとに現在の解をウォームスタートするように構成される、請求項９に記載のコントローラ。
【請求項１２】
前記プロセッサは、対応するＭＰＣ解がすべての離散制御入力についてまだ整数実行可能でない場合、および前記ＭＰＣ問題の解の性能指標が現在既知の最良の離散的な実行可能ＭＩ−ＭＰＣ解よりも最適である場合、少なくとも前記離散制御入力の部分集合の値の少なくとも１つの組み合わせについて前記ＭＰＣ問題を解いた後に求解後法を実行するようにさらに構成され、前記プロセッサは、前記求解後法を実行するために、
前記ＭＰＣ問題の双対の最適化の反復の部分集合を、ある探索領域について実行するよう構成され、そこにおいては、まだ整数実行可能ではない離散制御入力変数の１つが選択され、その値の離散集合の１つに等しくなるように制約され、前記プロセッサは、前記求解後法を実行するために、さらに、
前記ＭＰＣ問題の前記双対の前記最適化の反復の部分集合後の性能指標が、現在の最良の離散的な実行可能ＭＩ−ＭＰＣ解よりも最適でない場合には、前記探索領域を剪定し、
この離散制御入力変数の他のすべての考えられ得る整数値に対応する領域が既に剪定されている場合、前記離散制御入力変数を特定の整数値に固定するよう構成される、請求項２に記載のコントローラ。
【請求項１３】
少なくとも前記離散制御入力の部分集合の値の組み合わせに対する各ＭＰＣ問題はアクティブセット法を用いて解かれ、前記求解後法は、前記ＭＰＣ問題の前記双対に対応する最適性条件の線形システムを解く際に、システム行列について行列分解または前記行列分解が低ランク更新されたものを再利用できる双対アクティブセット反復の部分集合に対応する、請求項１２に記載のコントローラ。
【請求項１４】
制御対象システムは車両であり、前記コントローラは、前記混合整数制御解に基づいて前記車両への入力を決定し、前記車両への前記入力は、前記車両の加速度、前記車両のエンジントルク、ブレーキトルク、およびステアリング角度の１つまたは組み合わせを含み、前記離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、ギアシフト、および障害物回避制約の１つまたは組み合わせをモデル化する、請求項１に記載のコントローラ。
【請求項１５】
請求項１のコントローラを含む車両。
【請求項１６】
前記制御システムは宇宙機であり、前記コントローラは、前記混合整数制御解に基づいて前記宇宙機への入力を決定し、前記宇宙機への前記入力は、スラスタおよび運動量交換装置の１つまたは組み合わせを作動させ、前記離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、スラスタコマンドのための整数値、および障害物回避制約の１つまたは組み合わせをモデル化する、請求項１に記載のコントローラ。
【請求項１７】
前記制御システムは蒸気圧縮システムであり、前記コントローラは、前記混合整数制御解に基づいて前記蒸気圧縮システムへの入力を決定し、前記蒸気圧縮システムへの前記入力は、室内機ファン速度、室外機ファン速度、圧縮機回転速度、膨張弁位置、および逆流弁位置の１つまたは組み合わせを含み、前記離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、ならびに前記弁および／または前記ファンに送信されるコマンドのための整数値の１つまたは組み合わせをモデル化する、請求項１に記載のコントローラ。
【請求項１８】
連続的動作要素と離散的動作要素とを有するシステムを制御するための方法であって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記方法は、前記方法を実現する格納された命令と結合されるプロセッサを用い、前記命令は、前記プロセッサによって実行されると、前記方法のステップを実行し、前記ステップは、
前記システムの状態の測定値を受け入れることと、
前記システムの状態に対する状態制約に従って混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成することと、
前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを含み、前記ＭＩ−ＭＰＣ問題を解くことは、
前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、
前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くこととを含む、連続的動作要素と離散的動作要素とを有するシステムを制御するための方法。
【請求項１９】
前記ＭＩ−ＭＰＣ問題は、前記状態不変制御制約を満たす連続探索空間のパーティション内への前記値の離散集合の緩和により定義される探索空間内でＭＰＣ問題の解を探索する分枝限定法で解かれる、請求項１８に記載の方法。
【請求項２０】
方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ読み取り可能記憶媒体であって、前記方法は、
前記システムの状態の測定値を受け入れることと、
前記システムの状態に対する状態制約に従って混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成することと、
前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを備え、前記ＭＩ−ＭＰＣ問題を解くことは、
前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、
前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くこととを含む、非一時的なコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にモデル予測制御に関し、より特定的には、連続的動作要素と離散的動作要素とを有するシステムのモデル予測制御のための方法および装置に関する。
【背景技術】
【０００２】
背景
モデル予測制御（ＭＰＣ）などの最適化に基づく制御および推定技術は、システムダイナミクスおよび制約を直接考慮することができる、モデルに基づく設計フレームワークを可能にする。ＭＰＣは、さまざまな複雑さの動的システムを制御するために多くの用途で用いられる。このようなシステムの例には、生産ライン、自動車エンジン、ロボット、数値制御された機械加工、衛星、発電機が含まれる。
【０００３】
ＭＰＣは、システムのモデルの実時間有限区間最適化に基づく。ＭＰＣは、将来のイベントを予測し、適切な制御アクションを実行する能力を有する。これは、制約に従って将来の有限の時間区間にわたってシステムの動作を最適化し、現在の時間ステップにわたってのみ制御を実現することによって、達成される。
【０００４】
ＭＰＣは、制御変数における変化によって引き起こされるモデル化されたシステムの状態変数における変化を予測することができる。状態変数は、システムの状態を定義する。つまり、制御対象システムの状態は、任意の時点において制御システムの状態全体を表すことができる、制御システムの状態空間表現における状態変数の最小集合である。たとえば、制御対象システムが自律型車両の場合、状態変数には車両の位置、速度、および方位が含まれてもよい。制御変数は、マシンの状態を変更するよう設計されたシステムへの入力である。たとえば、化学プロセスでは、制御変数は、圧力、流量、温度、バルブの開度、ダンパーの剛性であることが多い。これらのプロセスにおける状態変数は、制御目的またはプロセスの制約を表す他の測定値である。
【０００５】
ＭＰＣは、システムのモデル、現在のシステムの測定値、プロセスの現在の動的状態、ならびに状態および制御制約を用いて、状態変数における将来の変化を計算する。これらの変化は、状態変数を制御変数および状態変数の両方における制約に従って目標の近くに保持するために計算される。ＭＰＣは典型的には、実現されるべき各制御変数における最初の変更のみを送信し、次の変更が必要になったときに計算を繰り返す。
【０００６】
ＭＰＣフレームワークは、システム、性能指標および／または制御の目的のダイナミクスを記述するモデル、目的および／または制約における連続変数および離散変数の両方を含む連続的動作要素と離散的動作要素とを有するハイブリッドシステムにさらに拡張することができる。このような拡張機能は、たとえばモード切り替えもしくは量子化された制御を伴う動的システム、論理規則を伴う問題、または立入禁止ゾーン制約などの広範な問題をモデル化する強力な手法を提供することができる。しかしながら、結果として生じる最適化問題は、非常に非凸であるため、実際に解くことは困難である。ＭＰＣは連続空間で動作するように設計されているが、離散変数は特定の集合の典型的整数値しかとれない。二次目的を線形システムダイナミクスおよび線形不等式制約と組み合わせて用いる場合、結果の最適制御問題（ＯＣＰ）は、混合整数モデル予測制御（ＭＩ−ＭＰＣ）法を実現するために解く必要がある混合整数二次計画（ＭＩＱＰ）として定式化することができる。
【０００７】
ＭＰＣ数値法は、所与のシステム用に具体的に設計されることが多いさまざまな計算装置で実施される。計算装置は、安価な固定小数点精度組込みコントローラから、高度なマルチコア中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または専用並列コンピュータクラスタにまで及ぶ。しかしながら、ＭＰＣのハイブリッドシステムへの拡張は、余分な計算を要求する。ハイブリッドＭＰＣコントローラは、移動区間最適化の実行に加えて、サンプリング時刻ごとにこのような混合整数（ＭＩ）計画を解くことを目的とする。これは難しい組み合わせ作業であり、なぜならば、混合整数計画は一般にＮＰ困難であるからである。
【０００８】
多くの実際の適用においては、計算能力が限定された組み込み制御システム上にＭＩ−ＭＰＣを実現する必要がある。組み込み制御システムは、より大きな機械的または電気的なシステム内における、専用機能を備えた、プログラミングされた制御およびオペレーティングシステムであり、多くの場合、実時間計算制約を伴う。それは、多くの場合、ハードウェアおよび機械部品を含む完全なデバイスの一部として組み込まれている。汎用の制御システムと比較した場合の典型的な組み込み制御システムの特性の例は、低消費電力、小型、堅牢な動作範囲、およびユニットあたりの低コストである。これには、限られた処理リソースの代償が伴い、それにより、組み込みシステムはプログラミングおよび対話が困難になる。
【０００９】
ＭＩ−ＭＰＣコントローラの複雑さのため、実時間制御用に構成された組み込み制御システム上にそのようなコントローラを実現することは困難である。たとえば、我々の知る限り、典型的には現在の高度な運転者支援システム（ＡＤＡＳ）によって用いられる認定済みの組み込み制御ハードウェア上で、自律車両などの複雑な動的なシステムのためにＭＩ−ＭＰＣを実現することは、実用的ではない。
【００１０】
したがって、制限された計算リソースおよび利用可能なメモリでマイクロプロセッサ上において実行される組み込みＭＩ−ＭＰＣ適用例のための調整された最適化およびソルバー実現が必要である。
【発明の概要】
【００１１】
概要
いくつかの実施形態は、現在のＭＰＣソルバーは混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解くのには不適切である、という認識に基づく。これは、ＭＰＣソルバーが、ある制御区間にわたる連続状態および制御空間内での最適化のために設計されるからである。しかしながら、システムを制御するための制御入力などの、最適化変数の一部が、値の離散集合に属する値をとる離散変数である場合、最適解の探索空間は連続的ではない。
【００１２】
いくつかの実施形態は、ＭＩ−ＭＰＣの解は２つの段階を含む、という認識に基づく。第１の段階は、解に属する可能性のある、および／または解に至る可能性がある、離散変数の異なる値の探索を含む探索段階である。たとえば、探索段階の目的は、離散最適解を含む可能性のある緩和探索空間の連続部分を見つけることである。第２の段階は、探索段階で特定された緩和探索空間の連続部分内でＭＰＣ問題を解くことを含む最適化段階である。探索段階は、通常は、離散変数の値のさまざまな組み合わせを試行して、緩和された連続探索空間の複数の部分を見つける反復プロセスである。最適化段階は、緩和された連続探索空間の各部分および／または探索段階で選択された離散変数の組み合わせに対して実行される。したがって、ＭＩ−ＭＰＣ問題の解には、通常、ＭＰＣ問題の複数の解が含まれる。ＭＩ−ＭＰＣ問題は制御ステップごとに解く必要があるため、制御ステップごとにおそらくは多数のＭＰＣ問題を解くことは、特に組み込みシステムのマイクロプロセッサの場合、計算上困難である。
【００１３】
たとえば、０または１の値を有する１つの離散変数のみを有する制御下のシステムを考える。この例では、０に等しい変数の値に対する１つのＭＰＣ問題、および１に等しい変数の値に対する別のＭＰＣ問題、の２つのＭＰＣ問題を定式化して解くのは比較的簡単である。これら２つのＭＰＣ問題の各々は、ＭＰＣ問題の目的関数に従って性能指標を最適化することを目的としている。単一の離散変数の固定値では、これらのＭＰＣ問題の両方に、連続状態および制御空間内の最適化が含まれる。これら２つのＭＰＣ問題の解を相互に比較し、より最適な解、つまり性能指標の値がより良い解を、最終的なＭＩ−ＭＰＣ問題の解として選択することができる。
【００１４】
しかしながら、実際の適用例では、かなりの数の離散変数を有し得る。たとえＭＩ−ＭＰＣ問題がほんのわずかな数の離散変数しか含まない場合であっても、これらの各離散変数はＭＰＣ予測区間の各時間ステップにおいて異なる値であり得、その結果、混合整数計画全体において比較的多数の離散変数が生じる結果となる。これらの離散変数の値の可能な組み合わせは指数関数的に増大し、各制御ステップで膨大なまたは手に負えない数のＭＰＣ問題を解く必要が生じ得る。いくつかの実施形態は、ＭＩ−ＭＰＣソルバーの計算負荷を軽減するためには、離散最適解を見つけるために検査する必要がある離散変数の値の潜在的な組み合わせの数を低減する必要がある、という認識に基づく。
【００１５】
いくつかの実施形態は、システムの状態変数に対する制約など、制御下のシステムの動作に対する制約は、緩和ＭＰＣ問題の求解中に実施される、という認識に基づく。ＭＰＣの利点の１つは、最適解を見つける際にシステムの制約を強制できることであるため、これは驚くべきことではない。したがって、ＭＩ−ＭＰＣソルバーが最適化段階の間に状態制約を用いて、緩和ＭＰＣ問題を状態制約に従って解くのは自然である。
【００１６】
しかしながら、いくつかの実施形態では、状態制約は、ＭＩ−ＭＰＣの問題に対する解を見つけるために解くべき緩和ＭＰＣ問題の数を低減するために、探索段階でも用いることができる、という認識に基づく。一見すると、探索空間は、システムへの制御入力など、最適化変数のために定義され、状態変数は、対象の探索空間の外にある。しかしながら、いくつかの実施形態は、システムの現在の状態および状態制約に対する制御入力の許容値の強い依存性がある、という認識に基いている。したがって、システムの現在の状態ごとに、状態制約を制御入力の制約に変換して、探索空間を厳密にし、それによって、ＭＩ−ＭＰＣ問題の解を見つけるために解かれるＭＰＣ問題の数を低減することができる。
【００１７】
たとえば、いくつかの実施形態では、状態制約を、システムへの制御入力に対する状態不変制御制約に変換し、状態制約および状態不変制御制約に従ってＭＩ−ＭＰＣ問題を解く。本明細書で用いられる場合、状態不変制御制約は、状態不変制御制約を満たす制御入力の値の任意の組み合わせが、状態制約を満たす一連の状態変数の値をもたらすようなものである。したがって、状態不変制御制約は、等価または保守的、つまり、システムの特定の現在の状態および離散変数のいくつかの値の特定の組み合わせに対する状態制約の過剰表現である必要がある。実際には、これらの追加の状態不変制御制約は、各制御時間ステップについて解かれるべきＭＰＣ問題の数を低減することを可能にし、それは、次いで、ＭＩ−ＭＰＣソルバーのための計算要件を低減し、そのようなソルバーを組み込み制御システムのマイクロプロセッサ上で実現することを可能にする。
【００１８】
たとえば、０または１の値を有する２つの離散制御入力を受け入れる制御システムを考えてみる。状態不変制御制約が、第１の制御入力の値が．３より大きいことを指定する場合、それは、第１の制御入力の値が１であることを意味し、制御入力の異なる値の組み合わせの数が大幅に低減される。
【００１９】
この目的のため、一実施形態は、システムへの制御入力の少なくとも部分集合について、状態不変制御制約を満たす、異なる値の複数の組み合わせを選択し、制御入力の異なる値の各組み合わせについてＭＰＣ問題を解いて、ＭＰＣ問題の目的関数に従って性能指標を最適化する緩和ＭＰＣ解の集合を生成し、性能指標の最適値に対応する緩和ＭＰＣ解の集合からＭＩ−ＭＰＣ問題の解を選択する。この実施形態は、システムを制御するためにＭＩ−ＭＰＣ解を用いてコントローラの計算負荷を軽減するために離散変数の可能な値の集合を選択する組み合わせ問題を単純にする。
【００２０】
加えて、または代替的に、いくつかの実施形態では、状態不変制御制約を、ＭＩ−ＭＰＣ問題に対する最適解の探索空間を削減することができるいくつかの追加の方法と組み合わせることができる、という認識に基づく。たとえば、いくつかの実施形態は、制御入力に対する値の離散集合の連続探索空間への緩和により定義される探索空間内でＭＩ−ＭＰＣ問題の解を探索する分枝限定法を用いる。分枝限定法は、制御入力の断片化された探索空間を過剰に包含的な連続空間にマージし、その空間を通ってナビゲートし、最適解の目的値の下限と上限とを計算して、ＭＩ−ＭＰＣ問題の最適解を見つけるために解く必要があるＭＰＣ問題の数をさらに低減する。
【００２１】
たとえば、０または１の値を有する２つの離散制御入力を受け入れる制御システムを考えてみる。０と１との間の第１の制御入力の値および第２の制御入力の０の値に対する緩和ＭＰＣ問題の解が、０と１との間の第１の制御入力の値および第２の制御入力の１の値に対するＭＰＣ問題の解よりも最適でない場合、０の第２の制御入力および０または１の第１の制御入力に対するＭＰＣ問題の解の最適性を検査する必要はない。緩和ＭＰＣ解の以前の比較は、これらの解が最適ではないだろうということを示す。
【００２２】
そのために、一実施形態は、状態不変制御制約を満たす連続探索空間の一部への値の離散集合の緩和により定義される探索空間内でＭＰＣ問題の解を探索する分枝限定法でＭＩ−ＭＰＣ問題を解く。実際、この実施形態は、分枝限定法の探索空間を厳密にして、コントローラの計算負荷を軽減する。たとえば、ある実現例では、分枝限定法は、値の離散集合に属するＭＰＣ問題の解が見つかるまで、探索空間を反復して分割する。状態不変制御制約は探索空間を厳密にして、最適解を見つけるために解かれるＭＰＣ問題の数を低減する。一部の実現例では、各ＭＰＣ問題は、状態不変制御制約による状態制約の近似を考慮するよう、状態制約と制御制約との両方に従って解かれる。
【００２３】
追加的または代替的に、いくつかの実施形態は、基底のＭＰＣ問題の効率的な解を提供することにより、ＭＩ−ＭＰＣ問題の計算の複雑さをさらに低減することができる。たとえば、いくつかの実施形態は、問題スパース性を用いて分枝限定法における連続最適化問題緩和を効率的に解くことができるように、ブロックスパース混合整数最適制御問題を解いてハイブリッドシステムのためのＭＰＣを実現することを目的としている。
【００２４】
いくつかの実施形態は、ブロックスパース混合整数最適制御問題は、ＭＰＣ制御区間の瞬間にわたって、他の状態および制御入力変数のいくつかについてはより厳しい制約を構築するために直接用いることができない、状態変数および制御入力変数のいくつかに対する分離可能な制約をもたらす、という認識に基づく。したがって、いくつかの実施形態は、特定の瞬間での状態変数を、初期状態値の関数として、およびＭＰＣ制御区間における以前のすべての瞬間でのすべての制御入力変数の関数として書くことにより、各状態制約を変換する。たとえば、いくつかの実施形態では、特定の瞬間における特定の状態変数に対する境界制約は、システムダイナミクスに基づく逆伝播の使用により、以前のすべての瞬間におけるすべての制御入力変数に対する制約として変換することができる。
【００２５】
しかしながら、いくつかの実施形態は、状態制約を以前の瞬間での制御入力変数の関数として再定式化することは、ＭＰＣ制御区間における異なる時点での最適化変数間の結合を導入する、という認識に基づいており、それは、分枝限定法における連続最適化問題緩和の効率的な解決を可能にする問題スパース性を破壊する。したがって、いくつかの実施形態では、状態不変制御制約の一部がＭＰＣ問題の制御区間の一部またはすべての瞬間について互いに結合される場合、状態不変制御制約を分離して探索空間を形成する。
【００２６】
たとえば、一部の実現例は、ＭＰＣ制御区間における異なる瞬間におけるすべての制御入力変数を結合する再定式化された制約から開始して、個々の制御入力変数の各々に対する新たでありかつ分離可能な状態不変制約を導出するために、ドメイン伝播手順を実行する。いくつかの実施形態は、これらの新たに導出された状態不変制御境界制約を用いて、連続状態および制御入力変数に対する既存の制約を厳しくすることにより、またはおそらくは特定の離散状態および／もしくは制御入力変数をそれらの許容値の離散集合の１つに固定することによって、分枝限定法における連続最適化問題緩和を強化できる、という認識に基づく。実際、これらの制約により、ＭＰＣ問題のスパース性を維持しながら、解くべきＭＰＣ問題の数が低減される。
【００２７】
加えて、または代替的に、いくつかの実施形態は、ハイブリッドシステムのモデル予測制御の、ある実現例は、離散解法で得られる情報の一部を１つの制御時間ステップから次の制御時間ステップに再利用することができるように、各制御時間ステップにおいて混合整数計画問題の解を必要とする、という認識に基づく。より具体的には、いくつかの実施形態は、探索木の枝を剪定するために用いることができる新たな境界値をより速く見つけるために、ＭＰＣをハイブリッドシステムに適用する、以前の時間ステップからの、解パスを時間シフトしたものを含む、ウォームスタート分枝限定木を構築する。そのために、いくつかの実施形態は、現在の制御ステップに対する、領域からなる入れ子木についてのＭＰＣ問題の最適解を、以前の制御ステップに対して決定された、領域からなる入れ子木についてのＭＰＣ問題の最適解の時間伝播で初期化する。
【００２８】
たとえば、一実施形態では、以前の制御時間ステップで分枝限定法によって収集された擬似コスト情報に基づいて、ウォームスタート木における分枝順の再順序付けを行う。別の実施形態では、分枝判断が、最近および／または十分に分枝されていない変数に対応する場合には、その分枝判断を、ウォームスタート木から除外する。さらに別の実施形態では、分枝限定法において連続最適化問題緩和の各々をより効率的に解くために、ウォームスタート解推測を与えるよう、データに基づく学習を用いる。
【００２９】
加えて、または代替的に、いくつかの実施形態の目的は、システム、性能指標、および制御問題をそれぞれ記述する、モデル、目的、および制約において連続変数および離散変数の両方を含むハイブリッドシステムのためのモデル予測制御を実現するために、混合整数計画を用いることである。いくつかの実施形態では、システムを制御するための制御変数の少なくともある部分集合は、離散値のみをとる。一部の適用例では、離散値は二値である。たとえば、空調システムの制御弁はＯＮまたはＯＦＦのいずれかであり得る。一部の適用例では、離散値は３つ以上の値をとり得る。たとえば、自動車のギアシフトは、最大５つのまたは６つの異なる値を有することができる。いくつかの適用例では、制御入力の離散値はさまざまな装置の物理的状態を直接支配する。たとえば、二値制御コマンドは、衛星のスラスタを動作または停止することができる。一部の適用例では、制御入力の離散値はさまざまな装置の物理状態を間接的に支配する。たとえば、制御コマンドの整数値は、電力増幅器のパルス幅変調を制御することができる。一部の適用例では、制御入力の離散値は整数値である。代替的適用例では、制御入力の離散値は整数ではないが、整数値として符号化することができる。たとえば、任意の所与の瞬間に自律型車両が実行できるアクションまたは目的の数は限られている。これらの目的は、整数値として符号化され、車両の動きを制御するために、いくつかの実施形態のＭＩ−ＭＰＣソルバーによって用いられることができる。
【００３０】
したがって、一実施形態は、連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラを開示し、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数である。前記コントローラはプロセッサを含み、前記プロセッサは、前記システムの現在の状態の測定値を受け入れ、各制御ステップの混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成し、前記制御入力を前記システムに提示することにより前記システムの状態を変更するように構成される。前記プロセッサは、前記システムの状態に対する状態制約に従って前記ＭＩ−ＭＰＣ問題を解き、現在の制御ステップに対して、前記プロセッサは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換し、前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くように構成される。
【００３１】
別の実施形態は、連続的動作要素と離散的動作要素とを有するシステムを制御するための方法であって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記方法は、前記方法を実現する格納された命令と結合されるプロセッサを用い、前記命令は、前記プロセッサによって実行されると、前記方法の少なくともいくつかのステップを実行し、前記ステップは、前記システムの状態の測定値を受け入れることと、前記システムの状態に対する状態制約に従って混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成することと、前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを含む。前記ＭＩ−ＭＰＣ問題を解くことは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くこととを含む。
【００３２】
さらに別の実施形態は、方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ読み取り可能記憶媒体を開示する。前記方法は、前記システムの状態の測定値を受け入れることと、前記システムの状態に対する状態制約に従って混合整数モデル予測制御（ＭＩ−ＭＰＣ）問題を解いて前記システムへの制御入力を生成することと、前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを備える。前記ＭＩ−ＭＰＣ問題を解くことは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、前記状態制約と前記状態不変制御制約とに従って前記ＭＩ−ＭＰＣ問題を解くこととを含む。
【図面の簡単な説明】
【００３３】
【図１】いくつかの実施形態による予測コントローラおよびフィードバックシステムのブロック図である。
【図２】本開示のいくつかの実施形態に従って、ＣＰＵプロセッサおよびメモリならびにフィードバックシステムを用いて実現されるコントローラのブロック図である。
【図３Ａ】いくつかの実施形態に従って、ハイブリッド制御システムを実現するための混合整数モデル予測制御（ＭＩ−ＭＰＣ）法のブロック図である。
【図３Ｂ】いくつかの実施形態に従って、最適制御構造化混合整数二次計画（ＭＩ−ＱＰ）を解くことによりハイブリッド制御システムを実現するためのＭＩ−ＭＰＣ法のブロック図である。
【図４】整数制御変数探索段階と整数緩和最適化段階との間の相互作用、および探索段階の効率を改善するための不等式制約の変換のブロック図である。
【図５Ａ】整数実行可能制御解の探索領域の入れ子木を表す二値制御変数探索木の例を示す概略図である。
【図５Ｂ】探索領域からなる入れ子木および対応する下限値／上限値に基づいて整数実行可能最適制御解を探索するための分枝限定混合整数最適化アルゴリズムのブロック図である。
【図５Ｃ】探索領域からなる入れ子木および対応する下限値／上限値に基づいて整数実行可能最適制御解を探索するための分枝限定混合整数最適化アルゴリズムの擬似コードの図である。
【図６Ａ】ブロックスパース最適制御構造化問題定式化が与えられると、密な混合整数二次計画（ＭＩＱＰ）を計算する数値凝縮方法のブロック図である。
【図６Ｂ】整数緩和ＭＰＣ解のための最適性条件のブロックスパース最適制御構造化システムの例を示す概略図である。
【図７Ａ】状態依存不等式制約の所与の集合についてのドメイン伝播に基づく分離された厳しい状態不変制御入力制約を計算する境界強化方法のブロック図である。
【図７Ｂ】ドメイン伝播に基づく分離された厳しい状態不変制御入力制約を計算する境界強化方法の擬似コードの図である。
【図８】整数制御変数探索段階で離散制御入力変数を選択するための信頼性分枝戦略の擬似コードの図である。
【図９Ａ】ある制御時間ステップから次の制御時間ステップへの二値制御変数探索木の、木伝播に基づくウォームスタート戦略の概略図である。
【図９Ｂ】ある制御時間ステップから次の制御時間ステップへの二値制御変数探索木の、木伝播に基づくウォームスタート戦略の擬似コードの図である。
【図９Ｃ】木伝播に基づくウォームスタート戦略と組み合わせた混合整数モデル予測制御に基づくハイブリッドシステムの予測コントローラの擬似コードの図である。
【図１０】以前の制御時間ステップからのＭＩ−ＭＰＣ解データに基づく、整数緩和最適化段階でのＭＰＣソルバーのウォームスタート戦略のブロック図である。
【図１１】離散制御変数の固定に対応する整数緩和ＭＰＣ問題の双対を解くための最適化の反復の部分集合に基づく、ＭＩ−ＭＰＣの求解後法のブロック図である。
【図１２Ａ】いくつかの実施形態の原理を採用するコントローラを含む車両の概略図である。
【図１２Ｂ】いくつかの実施形態の原理を採用するコントローラといくつかの実施形態による車両１２０１のコントローラとの間の相互作用の概略図である。
【図１２Ｃ】いくつかの実施形態の原理を採用する制御対象車両の経路および／または運動計画方法の概略図である。
【図１３Ａ】本開示のいくつかの実施形態の原理を採用する宇宙機混合整数予測制御問題定式化の概略図である。
【図１３Ｂ】本開示のいくつかの実施形態の原理を採用する宇宙機混合整数予測制御問題定式化の概略図である。
【図１４Ａ】本開示のいくつかの実施形態の原理を採用する、蒸気圧縮システム（ＶＣＳ）のための混合整数予測制御問題定式化、およびその構成要素の例示的な組の概略図である。
【図１４Ｂ】本開示のいくつかの実施形態の原理を採用する、蒸気圧縮システム（ＶＣＳ）のための混合整数予測制御問題定式化、およびその構成要素の例示的な組の概略図である。
【発明を実施するための形態】
【００３４】
詳細な記載
本開示のいくつかの実施形態は、システムの動作を制御するためのシステムおよび方法または予測コントローラを用いるシステムを提供する。予測コントローラの例は、制御対象システムのモデルに基づいて制御入力を決定するモデル予測制御（ＭＰＣ）である。
【００３５】
図１は、いくつかの実施形態による状態推定器１３０を介して予測コントローラ１１０に接続された例示的なシステム１２０を示す。いくつかの実現例では、予測コントローラは、システムの動的モデル１０２に従ってプログラムされたＭＰＣコントローラである。モデルは、システム１２０の状態および出力１０３の変化を経時的に現在および以前の入力１１１ならびに以前の出力１０３の関数として表す方程式の組であり得る。モデルは、システムの物理的および動作上の制限を表す制約１０４を含むことができる。動作中、コントローラは、システムの望ましい振る舞いを示すコマンド１０１を受け取る。コマンドは、たとえば、モーションコマンドとすることができる。コマンド１０１の受信に応答して、コントローラはシステムの入力となる制御信号１１１を生成する。入力に応答して、システムはシステムの出力１０３を更新する。システム１０３の出力の測定に基づいて、推定器はシステムの推定状態１２１を更新する。システムのこの推定状態１２１は、コントローラ１１０に状態フィードバックを提供する。
【００３６】
システム１２０は、本明細書で言及されるように、おそらく電圧、圧力、力、トルクなどの物理量に関連付けられる特定の操作入力信号１１１（入力）によって制御され、おそらく以前の状態から現在の状態へのシステムの状態の遷移を示す電流、流量、速度、位置などの物理量に関連付けられる何らかの制御された出力信号１０３（出力）を返す、任意の機械または装置とすることができる。出力値は、一部はシステムの以前の出力値に、一部は以前および現在の入力値に関係している。以前の入力および以前の出力への依存性は、システムの状態に符号化される。システムの動作、たとえばシステムのコンポーネントの動きは、特定の入力値の適用に続いてシステムによって生成される一連の出力値を含むことができる。
【００３７】
システム１０２のモデルは、現在および以前の入力ならびに以前の出力の関数として、システム出力が時間とともにどのように変化するかを記述する数式の組を含むことができる。システムの状態は、たとえば、システムのモデルおよび未来の入力とともに、システムの未来の動きを一意に定義できる、現在および以前の入力ならびに出力の適切な部分集合など、一般に時変である任意の情報の集合である。
【００３８】
システムは、出力、入力、およびおそらくはシステムの状態も動作することを許可される範囲を制限する物理的制限ならびに仕様制約１０４の影響を受け得る。
【００３９】
コントローラ１１０は、ハードウェアで、または固定もしくは可変の制御周期サンプリング間隔でシステムの推定状態１２１および所望の運動コマンド１０１を受け取るマイクロプロセッサなどのプロセッサで実行されるソフトウェアプログラムとして実現することができる。
【００４０】
推定器１３０は、ハードウェアで、またはコントローラ１１０と同じであるかもしくは異なるプロセッサのいずれかのプロセッサで実行されるソフトウェアプログラムとして実現でき、固定または可変の制御周期サンプリング間隔でシステム１０３の出力を受け取り、新たな出力測定値および以前の出力測定値を用いてシステム１２０の推定状態１２１を判断する。
【００４１】
図２は、システムの推定状態１２１および出力１０３がコマンド１０１に従うようにシステムを作動させる、いくつかの実施形態によるコントローラ１１０のブロック図を示す。コントローラ１１０は、たとえば、モデル１０２およびシステムの動作に対する制約１０４を格納するためにメモリ２０２に接続された単一の中央処理装置（ＣＰＵ）または複数のＣＰＵプロセッサ２０１の形態のコンピュータを含む。
【００４２】
図３Ａは、いくつかの実施形態に従い、システムの現在の状態１２１および制御コマンド１０１が与えられると制御信号１１１を計算する、コントローラ１１０を実現するための混合整数モデル予測制御（ＭＩ−ＭＰＣ）のためのシステムおよび方法のブロック図を示す。具体的には、ＭＩ−ＭＰＣは、各制御時間ステップにおいて制約付き混合整数最適化問題を解くこと（３５０）により、システムの予測時間区間にわたる一連の将来の最適な離散制御入力および連続制御入力を含む制御解、たとえば解ベクトル３５５を計算する（３６０）。この最適化問題３５０における目的関数、等式、ならびに離散的および連続的な不等式制約のデータ３４５は、動的モデル、システム制約３４０、システムの現在の状態１２１、制御の目的および制御コマンド１０１に依存する。
【００４３】
いくつかの実施形態では、この不等式制約付き混合整数最適化問題３５０の解は、メモリから読み取ることができる、以前の制御時間ステップからの予測時間区間にわたる状態値および制御値を用いる（３１０）。この概念は、最適化アルゴリズムのウォームスタートまたはホットスタートと呼ばれ、いくつかの実施形態では、ＭＩ−ＭＰＣコントローラの必要な計算労力を削減することができる。同様に、対応する解ベクトル３５５を用いて、次の制御時間ステップの一連の最適な状態値および制御値を更新ならびに保存することができる（３６０）。
【００４４】
いくつかの実施形態では、混合整数最適化アルゴリズムは探索アルゴリズムに基づいており、ＭＩ−ＭＰＣコントローラは、次の制御時間ステップでの探索アルゴリズムの計算労力を低減するために、追加の混合整数計画解情報を更新および保存するようにする（３６０）。一実施形態では、各制御時間ステップでのＭＩ−ＭＰＣ問題は、分枝限定最適化法を用いて解かれ、ウォームスタート情報３６０は、ある制御時間ステップから次の制御時間ステップへのノード選択および変数分枝戦略を改善するために、根ノードから最適な整数実現可能制御解が見つけられる葉ノードへの解パスの一部である二分探索木内のノードに関連するデータを含む。
【００４５】
図３Ｂは、システムの現在の状態１２１および制御コマンド１０１が与えられると各制御時間ステップにおいて制御信号１１１を計算するために最適制御構造化混合整数最適化問題を解く（３５０）ＭＩ−ＭＰＣコントローラのブロック図を示す。いくつかの実施形態は、制約された混合整数二次計画（ＭＩＱＰ）を各制御時間ステップで解く（３５０）必要があるように、線形等式制約３６２、線形連続不等式制約３６４、線形離散等式制約３６５、線形終端不等式制約３６６、および線形二次目的関数３６１を伴うシステムの線形動的モデル３６３に基づく。次いで、ＭＩＱＰデータ３４５は、ヘッセ行列および制約ヤコビ行列３４６と、対応する勾配および制約評価ベクトル３４７とを含む。一般に、線形離散等式制約３６５は、状態値および制御値の線形関数Ekxk + Fkukが値の離散集合の１つに等しくなるように制約される旨を述べる。いくつかの実施形態では、線形離散等式制約３６５は、たとえば、二値等式制約Ekxk + Fkuk ∈ {0,1}であり、この定式化は、０または１のいずれかに等しくなるよう特定の制御入力変数に対する制約を含む。
【００４６】
図４は、いくつかの実施形態に従って、ＭＩ−ＭＰＣコントローラを実現してＭＩ−ＭＰＣを解く（３５０）ための混合整数最適化戦略のブロック図を示す。解３５０は、いくつかの実施形態によれば、整数制御変数探索段階４０１および整数緩和最適化段階４０５に基づく。探索段階４０１は、ＭＩ−ＭＰＣ解ベクトルを計算するために、離散等式制約３６５内における離散値の（ほぼ）最適な組み合わせを見つけることに関係している。いくつかの実施形態では、探索段階は、緩和制御解ベクトル４０６が離散探索空間の特定の領域において目的値の下限を与えるよう混合制御計画を連続最適化問題に緩和することにより、一連の整数緩和ＭＰＣ最適化問題４０５を反復的に生成する。
【００４７】
いくつかの実施形態では、Fkuk∈ {0,1}の二値等式制約は、整数緩和最適化問題４０５において、探索段階４０７によって与えられる現在の整数制御変数固定４０７に依って、連続不等式制約0≦Fkuk≦1または等式制約Fkuk = 0もしくはFkuk = 1によって置換される。いくつかの実施形態では、混合整数非凸二次計画を解く（３５０）ために、整数緩和最適化問題は、凸二次計画（ＱＰ）または半正定値計画（ＳＤＰ）問題などの凸最適化問題である。
【００４８】
いくつかの実施形態は、状態依存不等式制約４１０を、最適化問題定式化３４０の一部として、制御入力に対する結合された状態不変制約４１５に再定式化することに基づいており、制御入力に対する結合された状態不変制約４１５を用いることにより、探索段階４０１によって与えられる現在の整数制御変数固定４０７が与えられると、制御境界４０３を分離および厳密にすることができる（４１２）。状態依存不等式制約４１０は、システム動的方程式３６３および初期値条件３６２に基づいて、制御入力に対する結合された状態不変制約４１５に変換することができる（４１１）。いくつかの実施形態は、分離され厳密にされた制御境界４０３の実行不可能性が制御入力４１５に対する結合された状態不変制約に関する実行不可能性を意味し、それが元の不等式制約４１０に関する実行不可能性を意味することを保証する反復手順に基づいて、分離され厳密にされた制御境界値４０３を構築する。具体的には、状態制約４１０を満たす状態変数の一連の値を生じる、制御入力の値の任意の組み合わせは、結合された状態不変制御制約４１５および分離され厳密にされた制御境界４０３も満たす。
【００４９】
そのために、いくつかの実施形態は、状態制約４１０を結合された状態不変制御制約４１５に変換し（４１１）、これらの制約を分離および厳密にして（４１２）、システムへの制御入力に対する境界値４０３をもたらして、状態制約４１０を満たす状態変数の一連の値をもたらす制御入力の値の任意の組み合わせが、結合された状態不変制御制約４１５および分離され厳密にされた制御境界値４０３も満たし、状態制約４１０および結合された状態不変制御制約４１５に従ってＭＩ−ＭＰＣ問題を解く（３５０）ようにする。
【００５０】
いくつかの実施形態では、探索段階は、元の状態依存不等式制約４１０に関する実行不可能性を意味する、制御入力に対する結合された状態不変制約４１５に関する実行不可能性を意味する、分離および厳密にされた制御境界４０３に関する検出された実行不可能性のため、離散探索空間の領域を除去するために、分離され厳密にされた制御境界値４０３を用いる。いくつかの実施形態では、最適化段階４０５でどのような整数緩和最適化問題も解く必要なく１つ以上の領域を削除できる場合、整数緩和最適化問題の解は、制御制約の評価よりも計算コストが高いため、分離および厳密にされた制御境界４０３を用いることにより、探索段階の計算労力の削減が可能になる。
【００５１】
図５Ａは、二分探索木５００を混合整数最適化アルゴリズムの特定の反復で示すことにより、いくつかの実施形態でＭＩ−ＭＰＣコントローラを実現するために用いられることができる分枝限定法の概略図を示す。分枝限定法の主な概念は、元の問題のパーティションを順次作成し、それらのパーティションを解こうとすることであり、各パーティションは、離散制御変数探索空間の特定の領域に対応する。いくつかの実施形態では、分枝限定法は、パーティションまたはノードを選択し、このパーティションをより小さなパーティションまたは探索領域に分枝する離散制御変数を選択し、パーティションまたは探索領域からなる入れ子木をもたらす。
【００５２】
たとえば、パーティションＰ１５０１は、２つのより小さなパーティションまたは領域Ｐ２５０２およびＰ３５０３、つまり共通領域に入れ子にされる第１の領域および第２の領域に分割または分枝することができる離散探索領域を表わす。第１および第２の領域は互いに素であり、つまり、これらの領域の共通部分は空Ｐ２∩Ｐ３＝φである（５０７）が、それらは元のパーティションまたは領域Ｐ１をともに形成し、つまり、分枝後、和集合Ｐ２∪Ｐ３＝Ｐ１が成り立つ（５０６）。次に、分枝限定法は、探索空間の第１および第２のパーティションまたは領域の両方について整数緩和ＭＰＣ問題を解き、互いに対して、および最適目的値に対する現在既知の上限値に対して比較することができる２つの解をもたらす。第１および／もしくは第２のパーティションまたは領域は、それらの性能指標がＭＩ−ＭＰＣ問題の最適目的値に対する現在既知の上限よりも最適でない場合には、剪定されることができる。第１の領域、第２の領域、またはそれら両方の領域がＭＩ−ＭＰＣ問題に対する実行可能な離散解をもたらす場合には、上限値を更新することができる。分枝限定法は、次いで、さらなる分割のために、領域からなる現在の入れ子木内の残りの領域を選択することにより、継続される。
【００５３】
各パーティションを解くことは依然として難しいかもしれないが、混合整数計画の局所緩和を解くことにより、または双対性を用いることにより、最適目的値の局所下限を得ることは、かなり効率的である。ＭＩ−ＭＰＣソルバーが、局所緩和を解きながら、たまたま整数実行可能解を得た場合には、ＭＩ−ＭＰＣソルバーは次いで、それを用いて、元のＭＩ−ＭＰＣ問題の混合整数制御解の大域上限値を得ることができる。これは、すでに作成された特定のパーティションを解くことまたは分枝することを回避するのに役立ち、つまり、これらのパーティションまたはノードは剪定されることができる。このような分割の一般的なアルゴリズム的概念は、木の上部に根ノード、たとえばＰ１５０１、ならびに木の底部に葉ノード、たとえばＰ４５０４およびＰ５５０５を含む、二分探索木５００として表すことができる。
【００５４】
図５Ｂは、いくつかの実施形態でＭＩ−ＭＰＣコントローラを実現するために用いることができる、分枝限定最適化アルゴリズムのブロック図を示し、図５Ｃは、その擬似コードを示す。分枝限定法は、ＭＩＱＰ行列３４６およびＭＩＱＰベクトル３４７からなるＭＩＱＰデータ３４５に基づいて、現在の制御時間ステップにおける混合整数二次計画（ＭＩＱＰ）の分枝探索木情報を初期化する（５１０）。この初期化は、さらに、現在の制御時間ステップのウォームスタート初期化５１０を生成するために、以前の制御時間ステップからの分枝探索木情報およびＭＩＱＰ解情報３１０を用いることができる。最適化アルゴリズムの主な目標は、混合整数制御解の目的値の上限および下限を構築することである。上限値と下限値との間のギャップが特定の許容値よりも小さい場合には（５１１）、混合整数最適制御解が見つかる（３５５）。
【００５５】
下限値と上限値との間のギャップが特定の許容値よりも大きく（５１１）、最適化アルゴリズムが最大実行時間にまだ到達していない限り、分枝限定法は混合整数最適制御解３５５を求めて反復探索を続ける。分枝限定法の各反復は、求解前分枝手法に基づく考えられ得る変数固定で、整数変数探索空間の次の領域またはパーティションに対応する、木の次のノードを選択することによって、始まる（５１５）。ノードの選択後、求解後分枝手法に基づく、考えられ得る変数固定で、対応する整数緩和ＭＰＣ問題が解かれる（５２０）。
【００５６】
整数緩和ＭＰＣ問題が実行可能な解を有する場合には、結果の緩和制御解は、整数変数探索空間のその特定の領域またはパーティションの目的値の下限を与える。この下限が、最適混合整数制御解の目的値の現在既知の上限よりも大きい場合（５２１）、選択されたノードは分枝木から剪定または除去される（５４０）。目的値が現在既知の上限より低く（５２１）、緩和制御解が整数実行可能である場合には（５２５）、現在既知の上限および対応する混合整数制御解推測を更新する必要がある（５３０）。
【００５７】
整数緩和ＭＰＣ問題が実行可能な解を有し、目的が現在既知の上限より低い（５２１）が、緩和制御解がまだ整数実行可能でない場合には、目的の大域下限を分枝木の既存のノードの目的値の最小値に更新することができ（５３５）、選択されたノードは木から剪定される（５４０）。加えて、現在のノードから出発して、離散探索木の領域またはパーティションに対応する、結果として得られる部分問題を、分枝木におけるそのノードの子として追加するために（５５０）、小数値を伴う離散変数が、特定の分枝戦略に従って、分枝のために選択される（５４５）。
【００５８】
分枝限定法の重要なステップは、どのようにしてパーティションを形成するか、つまり、どのノードを選択し（５１５）、どの離散変数を分枝のために選択するか（５４５）である。本開示のいくつかの実施形態は、整数緩和ＭＰＣ解において小数値を伴う二値制御変数の１つを分枝することに基づく。たとえば、特定の二値制御変数ui,k ∈ {0,1}が整数緩和ＭＰＣ解の一部として小数値を有する場合、いくつかの実施形態は、それぞれ、等式制約ui,k = 0を一方の部分問題に、等式制約ui,k= 1を他方の部分問題に加えることにより、混合整数計画の２つのパーティションを作成する。本開示のいくつかの実施形態は、図８の説明の一部としてさらに詳細に説明されるように、以前の分枝判断からの情報に基づいて将来の分枝挙動を予測することを目的とする、変数選択の信頼性分枝戦略に基づく。
【００５９】
本開示のいくつかの実施形態は、後入れ先出し（ＬＩＦＯ）バッファを用いて実現することができる深さ優先ノード選択戦略を用いる分枝限定法に基づく。解くべき次のノードが現在のノードの子の１つとして選択され、ノードが剪定されるまで、つまり、ノードが実行不可能となるか、最適となるか、または現在既知の上限値に支配されるまで、このプロセスが繰り返され、その後、バックトラッキング手順が続く。代わりに、本開示のいくつかの実施形態は、現在最も低い局所下限を有するノードを選択する最良優先戦略を用いる分枝限定法に基づく。本開示のいくつかの実施形態は、深さ優先ノード選択策と最良優先ノード選択策との組み合わせを採用し、整数実現可能制御解が見つかるまで深さ優先ノード選択戦略が用いられ、その後、分枝限定に基づく最適化アルゴリズムの後続の反復において、最良優先ノード選択戦略が用いられる。後者の実現例は、分枝限定手順の開始の早い段階で整数実行可能制御解を見つけて（深さ優先）早期剪定を可能にし、その後、より良い実行可能解を求める、より貪欲な探索が続く（最良優先）ことを目的とすることにより、動機づけられている。
【００６０】
分枝限定法は、１つまたは複数のいずれかの終端条件が満たされるまで反復を続ける。終端条件には、プロセッサの最大実行時間に達すること、分枝探索木のすべてのノードが剪定されて、凸緩和を解くためまたは分枝するために新たなノードを選択できないこと、および混合整数制御解の目的の大域上下限値間の最適性ギャップが許容値よりも小さいことが含まれる。
【００６１】
図６Ａは、ＭＰＣ制御区間の各段階で状態変数および制御入力変数の両方を含むブロックスパース最適制御構造化混合整数二次計画（ＭＩＱＰ）３５０を、ＭＰＣ制御区間の各段階で制御入力変数のみに依存するＭＩＱＰの等価であるが密な定式化６１０に再定式化するために、いくつかの実施形態によって用いられる凝縮方法６００を示す。いくつかの実施形態は、分枝限定法に基づいて各ＭＩＱＰ解に対してこの凝縮手順を１回実行する。いくつかの実施形態では、ＭＩＱＰ行列３４６が１つのＭＩ−ＭＰＣ制御時間ステップから次のＭＩ−ＭＰＣ制御時間ステップへ変化しない場合、凝縮されたＭＩＱＰ行列６１５は各制御時間ステップで変化せず、したがってオフラインで計算できる。凝縮ＭＩＱＰベクトル６１６は、いくつかの実施形態では、ＭＩＱＰベクトル３４７の変化、たとえば、初期状態値、制約値または目的における変化に従って、各制御時間ステップでオンラインで計算される。
【００６２】
数値凝縮方法６００は、ＭＩＱＰ問題定式化から状態変数を除去するためにシステムダイナミクスを用いることに基づく（６０１）。状態制約は、
【００６３】
【数１】
2020149677.tif 000003
【００６４】
６０５としてよりコンパクトに記述でき、行列は、スパース混合整数最適制御問題の連続性条件３６２〜３６３に一致するために定義される（６０６）。行列
【００６５】
【数２】
2020149677.tif 000004
【００６６】
６０６は、状態変数を、
【００６７】
【数３】
2020149677.tif 000005
【００６８】
として定義できるように可逆であり、これを用いて、密なＭＩＱＰ６１０を、凝縮ＭＩＱＰ行列６１５および凝縮ＭＩＱＰベクトル６１６に基づいて、凝縮二次目的６１１、凝縮および結合アフィン不等式制約６１２、ならびに離散制御変数制約６１３を含んで、構築することができる。
【００６９】
いくつかの実施形態は、分枝限定法で凸緩和５２０を解く際に、ブロックスパース最適制御構造化３５０または最適化問題の凝縮された定式化６１０のいずれかを解くことに基づく。同様に、ブロックスパース最適制御構造化３５０または最適化問題の凝縮された定式化６１０のいずれかを、本開示の実施形態の求解前および求解後分枝手法で用いることができる。本開示のいくつかの実施形態は、たとえば、ソフトウェアPRESAS、HPMPC、HPIPM、FORCES、またはqpDUNESなどにおいてブロックスパース最適制御構造を活用する調整された凸ＱＰソルバーを用いることができるようにするために、ブロックスパース最適制御構造化問題３５０の凸緩和５２０を解く。いくつかの実施形態は、たとえばドメイン伝播法などの求解前または求解後分枝手法のために、代わりに、最適化問題の凝縮された定式化を用いる。
【００７０】
本開示のいくつかの実施形態は、分枝限定法の各反復において整数緩和凸ＭＰＣ問題５２０のカルーシュ・キューン・タッカー（ＫＫＴ）最適性条件を解くために最適化アルゴリズムに基づく。このような最適化アルゴリズムの例には、勾配に基づく方法、分割方法、アクティブセット法、または内点法が含まれる。
【００７１】
図６Ｂは、混合整数ＭＰＣ問題の凸緩和を解くために本開示のいくつかの実施形態によって用いることができる二次最適化アルゴリズムの一部として解く必要がある鞍点線形システムにおけるＫＫＴ行列６５０のスパース構造の概略図を示す。いくつかの実施形態では、ヘッセブロック行列の各々が対角である場合、ブロック対角ヘッセ行列は対角ヘッセ行列６５５に単純化され、通常、対応する鞍点線形ＫＫＴシステムを解くために必要な計算労力を低減することができる。さらに、ＫＫＴ行列における拘束ヤコビ行列６６０およびその転置６６１は、各鞍点線形ＫＫＴシステムの効率的な解で利用される典型的な最適制御ブロックスパース構造を示し、本開示のいくつかの実施形態によれば、通常は、ＭＰＣ制御区間における間隔の数での計算労力の線形スケーリングをもたらす結果となる。
【００７２】
本開示のいくつかの実施形態によれば、典型的には、分枝限定法において探索する必要のあるノードまたは領域がより少ないように凸解緩和をより厳しくすることにおいて、求解前分枝手法がしばしば重要である。
【００７３】
図７Ａは、いくつかの実施形態によって、等価ではあるが凝縮された問題定式化６１０、より具体的には、離散制御変数制約６１３と組み合わせた結合アフィン不等式制約６１２を利用することにより、混合整数制約付き最適制御問題３５０の解に調整されるドメイン伝播法７００のブロック図を示し、図７Ｂは、その擬似コードを示す。ドメイン伝播法７００の目的は、各制御入力変数の制御境界の初期集合
【００７４】
【数４】
2020149677.tif 000006
【００７５】
が与えられると、新たな境界値
【００７６】
【数５】
2020149677.tif 000007
【００７７】
を
【００７８】
【数６】
2020149677.tif 000008
【００７９】
４０３であるように、結合不等式制約
【００８０】
【数７】
2020149677.tif 000009
【００８１】
６１２、離散制御変数制約６１３、および離散制御変数固定４０７に基づいて計算することにより、これらの制御境界を強化または厳密にすることである。たとえば、特定の離散制御変数ui,k ∈{0,1}がui,k = 1に等しくなるように固定される場合、対応する制御境界値は
【００８２】
【数８】
2020149677.tif 000010
【００８３】
と読め、この情報をドメイン伝播法７００によって用いて、他の制御入力変数の制御限界値を強化または厳密にすることができる。
【００８４】
いくつかの実施形態は、ドメイン伝播法の結果は、不等式制約３６４、離散制御変数制約３６５、および終端不等式制約３６６を用いて、ブロックスパース最適制御問題定式化３５０に直接適用される場合、かなり弱いであろう、という認識に基づく。いくつかの実施形態は、初期状態値条件３６２およびシステム動的制約３６３をさらに考慮する必要がある、という認識に基づく。したがって、いくつかの実施形態は、ドメイン伝播に基づく境界強化を凝縮問題定式化６１０に適用し、それは、各伝播時間ステップでＭＩＱＰについてオフラインまたはオンラインで計算でき、より具体的には、ドメイン伝播方法は結合アフィン不等式制約６１２を離散制御変数制約６１３および離散制御変数固定４０７と組み合わせて用いる。
【００８５】
分離された制御境界の初期集合
【００８６】
【数９】
2020149677.tif 000011
【００８７】
７０２が個々の制御入力変数ごとに与えられると（７０１）、ドメイン伝播法の各反復は、次いで、結合不等式制約
【００８８】
【数１０】
2020149677.tif 000012
【００８９】
６１２の各々を用いて、制御入力変数の各々について境界値
【００９０】
【数１１】
2020149677.tif 000013
【００９１】
を試行し、厳密にする（７０５）。それを行うために、いくつかの実施形態は、状態不変制御制約を分離して、探索空間を形成する。実際、結合された不等式制約の分離により、探索空間を削減しながらＭＰＣ問題のスパース性を維持することができる。
【００９２】
di ≠ 0である場合に、以下のように、制御入力変数
【００９３】
【数１２】
2020149677.tif 000014
【００９４】
の新たな境界値
【００９５】
【数１３】
2020149677.tif 000015
【００９６】
の計算に用いることができるlb≦Σjdjuj≦ubという形式の特定の結合不等式制約について考えてみよう。
【００９７】
【数１４】
2020149677.tif 000016
【００９８】
式中、
【００９９】
【数１５】
2020149677.tif 000017
【０１００】
が定義され、すべての制御入力変数uj,j ≠ iについての現在の分離された制御境界値
【０１０１】
【数１６】
2020149677.tif 000018
【０１０２】
７０２が用いられている。同様の再定式化を、結合不等式制約に対して実行することができる。
【０１０３】
【数１７】
2020149677.tif 000019
【０１０４】
式中、
【０１０５】
【数１８】
2020149677.tif 000020
【０１０６】
が定義されている。
これらの分離された不等式制約７０６の両方に基づいて、制御入力変数に対する更新された下限値および上限値を計算することができる。
【０１０７】
【数１９】
2020149677.tif 000021
【０１０８】
（di > 0の場合）、または
【０１０９】
【数２０】
2020149677.tif 000022
【０１１０】
（di < 0の場合）。さらに、制御入力変数uiが二値または整数制御入力変数７０９である場合、以下のように、連続的な境界値７０８の上記の更新をさらに強化することができる。
【０１１１】
【数２１】
2020149677.tif 000023
【０１１２】
（di > 0の場合）、または
【０１１３】
【数２２】
2020149677.tif 000024
【０１１４】
（di < 0の場合）。
いくつかの実施形態では、分離は、制御入力の各々について保守的な境界値の集合を反復的に厳密にするドメイン伝播法で実行される。ドメイン伝播法は、制御境界値の初期集合、およびＭＰＣ問題の制御区間の一部またはすべての瞬間について相互に結合された状態不変制御制約が与えられると、分離された状態不変制御制約を構築する。実際には、ドメイン伝播法により、所与の離散制御変数および制約の探索空間が確実に厳密にされる。
【０１１５】
ドメイン伝播法７０５の各ステップは、おそらくは、連続もしくは整数／二値制御入力変数またはその両方について境界値の強化をもたらし得る。特定の停止基準が満たされるまで（７１５）、手順を各制御入力変数および各結合アフィン不等式制約に対して反復態様で実行することができ、なぜならば、１つの変数の境界強化は、１つ以上の他の変数の境界値の強化に至り得るためである。本開示のいくつかの実施形態は、境界値が十分に変化しなくなるか、または計算時間もしくは反復回数の特定の制限が満たされるまで（７１５）、ドメイン伝播法を実行する。停止基準が満たされない場合（７１６）、ドメイン伝播法は継続するが、停止基準が満たされた場合（７１７）、分枝限定法は更新された制御限界値４０３で継続する。
【０１１６】
いくつかの実施形態は、ドメイン伝播法７００は整数制御変数探索空間の探索領域の量のかなりの削減をもたらすことができる、という認識に基づく。いくつかの実施形態は、ドメイン伝播法７００を実行した後に、緩和ＭＰＣ問題を解くことを必要とせずに、探索木内の特定のパーティションまたは領域およびそれのすべてのサブパーティションまたはサブ領域について
【０１１７】
【数２３】
2020149677.tif 000025
【０１１８】
であるときはいつでも実行不能検出に基づいて、探索領域の量を低減する。本開示のいくつかの実施形態は、ドメイン伝播法７００を実行した後に、緩和ＭＰＣ問題を解くことを必要とせずに、探索木内の特定のパーティションまたはノードおよびそれのすべてのサブパーティションまたはサブ領域について
【０１１９】
【数２４】
2020149677.tif 000026
【０１２０】
であるように離散制御変数が等しい下限値および上限値を有するときはいつでも変数固定に基づいて、探索領域の量を低減する。
【０１２１】
加えて、いくつかの実施形態は、提案された最適性に基づく離散制御変数固定の実現可能性の影響を計算するために、ドメイン伝播法７００を用いる。たとえば、特定の最適性に基づく離散制御変数固定ui,k = 0またはui,k = 1が実行されるのは、この固定が、結合不等式制約
【０１２２】
【数２５】
2020149677.tif 000027
【０１２３】
６１２、離散制御変数制約６１３、およびすべての離散制御変数固定４０７に基づいて、ドメイン伝播法７００を実行することによって追加の制御変数固定を誘導しない場合のみである。たとえば、一実施形態は、他の最適化変数の値に関係なく、特定の変数固定ui,k = 0が常にui,k = 1よりも最適であること、またはその逆であることを保証することにより、最適化に基づく離散制御変数固定を計算するために、凝縮ヘッセ行列６１５を用いる。
【０１２４】
図８は、分枝限定最適化の一部として離散探索空間の特定のパーティションまたは領域で分枝される次の離散変数を選択するためにいくつかの実施形態で用いられる信頼性に基づく分枝戦略の擬似コードを示す。信頼性分枝８００の概念は、変数選択の２つの概念、つまり各離散制御変数についての強い分枝および擬似コスト情報を組み合わせることである。強い分枝は、特定のスコア関数について最高値を与える離散変数にコミットする（８１６）前に、所与のノードにおける凸緩和の解において小数値を有するすべての離散制御変数について、上向き（より高い整数へ）および下向き（より低い整数へ）の両方で一時的に分枝することに依存する（８０１）。たとえば、二値変数ui,kをそれぞれ、上向きui,k = 1、および下向きui,k = 0に分枝する際に、目的値の増加
【０１２５】
【数２６】
2020149677.tif 000028
【０１２６】
を計算する。本開示のいくつかの実施形態は、小さな正の値ε > 0を与えられると、積
【０１２７】
【数２７】
2020149677.tif 000029
【０１２８】
に基づいてスコアリング関数を計算する。強く分枝した制御解に依って、任意の他のスコアリング関数を、離散探索空間の所与のパーティションまたは領域内における各候補離散制御変数８０３に用いることができることに注目されたい。
【０１２９】
いくつかの実施形態は、強い分枝手順は、分枝する１つの離散変数を選択するためにいくつかの凸緩和が解かれるため、計算コストが高くなる、という認識に基づく。代わりに、信頼性分枝戦略８００は、二値変数ui,kをそれぞれ、上向きui,k = 1、および下向きui,k = 0に分枝する際に、目的値における増加
【０１３０】
【数２８】
2020149677.tif 000030
【０１３１】
を近似するために、追加の凸緩和を解く必要なしに、各離散制御変数の擬似コスト情報を維持する。本開示のいくつかの実施形態では、擬似コスト情報は、それぞれ上向きに（より高い整数へ）および下向きに（より低い整数へ）分枝するときのその特定の離散変数における単位変化あたりの目的値における平均増加を表す。
【０１３２】
より具体的には、各離散制御変数ui,kは２つの疑似コスト
【０１３３】
【数２９】
2020149677.tif 000031
【０１３４】
を有し、これらは、それぞれ上向きに（より高い整数へ）および下向きに（より低い整数へ）分枝するときのその特定の離散変数における単位変化あたりの目的値における平均増加を表す。分枝限定最適化アルゴリズムの反復でその特定の離散変数が分枝され、結果の凸緩和が実行可能な制御解を有するときはいつでも、本開示のいくつかの実施形態は、各対応する擬似コストを、実数から離散値までの距離で除算される、目的における観測された増加で、累積平均の形式で、更新する。信頼性分枝戦略８００は、特定の離散制御変数ui,kが分枝限定最適化アルゴリズムの一部として分枝された回数を追跡し、すなわち、数#branch(ui,k)を用いて、擬似コスト情報
【０１３５】
【数３０】
2020149677.tif 000032
【０１３６】
の信頼度レベルを表すことができる。
次いで、いくつかの実施形態は、目的値の増加
【０１３７】
【数３１】
2020149677.tif 000033
【０１３８】
を近似するために、#branch(ui,k) > ηrelの場合にのみ、各候補離散制御変数８０３の擬似コストを用いる。ηrelは信頼性しきい値を表す。
【０１３９】
【数３２】
2020149677.tif 000034
【０１４０】
式中、
【０１４１】
【数３３】
2020149677.tif 000035
【０１４２】
は、離散探索空間の所与のパーティションまたは領域内の候補離散制御変数の現在の小数値を表す。次に、目的値の増加についてのこれらの近似を用いて、たとえば次のような特定のスコア関数８１５を計算する。
【０１４３】
【数３４】
2020149677.tif 000036
【０１４４】
代わりに、#branch(ui,k)≦ηrelの場合、つまり、離散制御変数ui,kが分枝限定法を通して十分に分枝されていない場合、強い分枝を用いてスコア関数Si,k８０５の値を計算し、対応する擬似コスト
【０１４５】
【数３５】
2020149677.tif 000037
【０１４６】
を更新することができる（８１０）。特定のスコア関数についてのこれらの値が与えられると、信頼性分枝戦略８００は、候補変数の集合８０３から、特定のスコア関数についての最高値を与える離散変数を選択する（８１６）。
【０１４７】
いくつかの実施形態は、変数を、分枝限定探索アルゴリズムを通してそれら変数の過去の分枝挙動に基づいて選択する。たとえば、いくつかの実施形態は、たとえば、信頼性しきい値ηrelが非常に大きくなるように選択される場合、ほとんど強い分枝を実行する。いくつかの実施形態は、分枝限定法の開始時に擬似コストを初期化するが、次いで、すなわち、信頼性しきい値がηrel = 0に等しい場合には、擬似コスト分枝に切り替える。代替的実施形態では、代わりに、たとえば1≦ηrel≦4の間にある信頼性しきい値を用いる。
【０１４８】
いくつかの実施形態は、分枝のための候補変数８０３の集合の一部として緩和解において小数値を有するすべての考えられ得る離散制御変数を考慮するのではなく、代わりに、限られた数の最も有望な離散候補変数を選択する。他の実施形態は、分枝戦略の一部として強い分枝８０５を実現するために、限られた回数の凸最適化アルゴリズムの反復を実行する。実施形態は、たとえば、値０．５に最も近い小数部を有する二値変数を選択する実行不可能性に基づく分枝など、他の分枝戦略に基づいて実施することもできることに注目されたい。
【０１４９】
図９Ａは、混合整数モデル予測コントローラ１１０を実現するために用いられる、分枝限定法をウォームスタートするためにいくつかの実施形態で用いられる木伝播法９３０の概略図を示し、図９Ｂは、その擬似コードを示す。予測コントローラは、混合整数計画を、各制御時間ステップにおいて、厳密なタイミング制約の下で、おそらくは、組み込み制御ハードウェア２０１上において、限られた計算能力および限られた利用可能なメモリ２０２で、解く（３５０）。本開示のいくつかの実施形態は、ＭＩ−ＭＰＣが、たとえば初期状態値
【０１５０】
【数３６】
2020149677.tif 000038
【０１５１】
３６２によってパラメータ化される、一連の強く関係付けられる混合整数パラメトリック最適化問題を解いて、ある制御時間ステップからの解情報を用いて、分枝限定法のウォームスタート戦略の形式で、次の制御時間ステップにおける計算労力を削減できるようにする、という認識に基づく。より具体的には、分枝限定最適化アルゴリズムの場合、いくつかの実施形態は、二分探索木からの情報およびある制御時間ステップから次の制御整数ステップへの混合整数解パスに関連する情報を再利用する木伝播法９３０を実行する。
【０１５２】
木伝播法９３０は、根から混合整数最適制御解が見つかった葉ノードへの解パス、ならびに変数の分枝順序およびそのパス上の緩和制御解を格納する。より具体的には、図９Ａの概略図では、解パスは、時間ステップｔｋ９００においては、根ノードＰ１で始まり（９０１）、変数ｕ２＝０で分枝すること（９０２）により子ノードＰ２に至り、次に変数ｕ３＝１で分枝すること（９０３）により子ノードＰ４に至り、次いで、変数ｕ０＝１で分枝すること（９０４）により子ノードＰ６に至り、離散変数ｕ１＝０で分枝して（９０５）最後に葉ノードＰ７に至り（９０６）、そこで混合整数最適制御解が見つかる。したがって、一連のパーティションおよび分枝判断は、以下のように読める。
【０１５３】
【数３７】
2020149677.tif 000039
【０１５４】
現在の時間ステップｔｋ９００で最適な解パスが与えられると、木伝播法９３０は、分枝変数のインデックスをこのパスに沿って１段階シフトして、次の制御時間ステップｔｋ＋１９１０における混合整数解パスのウォームスタート推測を計算する。時間ステップｔｋ９００での分枝変数の順序付きリスト、たとえばｕ２、ｕ３、ｕ０、ｕ１が与えられると、シフトされた分枝変数のリストは、ＭＰＣ制御区間の各段階に制御変数が１つしかない場合には、時間ステップｔｋ＋１９１０において、たとえばｕ１、ｕ２、ｕ−１、ｕ０として読まれ得る。一般に、木伝播法は、解パス上のすべての分枝変数のインデックスをＭＰＣ制御区間において１段階シフトする（９２０）。
【０１５５】
後続の時間ステップｔｋ＋１９１０で、新たな状態推定値
【０１５６】
【数３８】
2020149677.tif 000040
【０１５７】
３６２を取得した後、ドメイン伝播法７００などのすべての求解前分枝手法を実行し、ウォームスタート二分探索木において新たな根ノードに対応する凸緩和を解く（９１１）。次に、木伝播法は、シフトされた分枝変数のリストから、段階−１のすべての変数、つまり、ウォームスタート手順における１段階のシフトの結果としてＭＰＣ制御区間外にあるすべての変数を、除去する。本開示のいくつかの実施形態は、加えて、根ノードにおいて緩和された解で整数実行可能なすべての分枝変数、擬似コストのないすべての変数、または不十分に分枝された変数であるすべての変数９２５を除去する（９１４）。
【０１５８】
分枝変数の更新されたリストが与えられると、いくつかの実施形態は、特定のスコア関数の値に基づいて分枝順序をさらに更新し（９２７）、それは、ウォームスタート擬似コスト情報および／または信頼性に基づく分枝戦略８００の形式の強い分枝を用いて計算される。更新され、おそらくは並べ替えられた、分枝変数のリストが与えられると、木伝播法９３０は、親ノード、つまり子を持つノードを除外して、ウォームスタート木に沿ってノードを作成し（９２８）、依然として凸緩和を解く必要があるノードの、ウォームスタートされる順序付けられたリストＬをもたらす（９２９）。すべての直接の子について凸緩和が解かれる場合、親ノードの凸緩和は決して解かれる必要がないことに注目されたい。
【０１５９】
たとえば、図９Ａの概略図では、木伝播法は、ウォームスタート木において２つのノードを除去し（９１４）、なぜならば、対応する分枝変数は、ウォームスタート手順における１段階のシフトの結果、ＭＰＣ制御区間外にあるからである。次の制御時間ステップｔｋ＋１９１０での解パスに対する、シフトされた推測は、根ノードＰ１で始まり（９１１）、それは離散変数ｕ１で分枝して（９１２）ノードＰ５を作成し、変数ｕ２で分枝して（９１３）ノードＰ４を作成し、変数ｕ０で分枝して（９１５）ノードＰ２（９１６）およびＰ３（９１７）を作成する。したがって、この場合、ノードの、ウォームスタートされ、順序付けられたリストＬ９２９は、木伝播後、Ｌ＝｛Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５｝として読まれる。
【０１６０】
いくつかの実施形態は、凸ソルバーをウォームスタートするために、ウォームスタートパス上の緩和ＭＰＣ解を保存、シフト、および再利用する（９２６）。さらに、いくつかの実施形態は、探索領域の量を低減するため、および/または分枝限定法によって実行される必要のある強い分枝の量を低減するために、ある制御時間ステップから次の制御時間ステップへの離散変数の疑似コスト情報を保存、シフト、および再利用する。
【０１６１】
いくつかの実施形態では、擬似コストの伝播は、分枝情報の経年劣化を説明し、したがって全体的な性能を改善することを目的とするよう、信頼性パラメータの更新と結合されることができる。たとえば、コントローラによって十分に長い時間で分枝されていない変数に強い分枝を強制するために、信頼性番号を各変数について１つの時間ステップから次の時間ステップに低減することができる。
【０１６２】
図９Ｃは、木伝播および擬似コスト伝播を伴うウォームスタート分枝限定法に基づく、いくつかの実施形態による、予測コントローラ１１０のＭＩ−ＭＰＣ実現のための擬似コードを示す。以前の制御時間ステップからのウォームスタート解情報が与えられると（３１０）、ＭＩ−ＭＰＣアルゴリズムは、たとえば新たな初期状態値
【０１６３】
【数３９】
2020149677.tif 000041
【０１６４】
などの新たなパラメータ値が与えられると（３６２）、凝縮混合整数計画情報を更新することにより、開始する（６１０）。コントローラは、新たな最適制御入力値
【０１６５】
【数４０】
2020149677.tif 000042
【０１６６】
１１１を制御対象システム１２０に適用するために、ウォームスタート分枝限定最適化アルゴリズムを用いてＭＩＰまたはＭＩＱＰ問題を解くことにより続行する（３５０）。最後に、伝播ステップは、疑似コスト情報のウォームスタートおよびシフトを実行し（９３５）、その後木伝播法によって次の制御時間ステップのためにノードのウォームスタートリストを生成する（９３０）。
【０１６７】
いくつかの実施形態は、ＭＩ−ＭＰＣコントローラは厳しいタイミング制約の下で次の制御解を計算する必要があり、提案されたウォームスタート戦略により、計算効率の良い方法で整数実行可能解を取得できることが多い、という認識に基づく。したがって、いくつかの実施形態は、組み込み制御適用例の厳しいタイミング要件を満たすために、最大数の分枝限定反復を用いる。アルゴリズムがこの指定された反復回数内で終了しない場合でも、実行可能な解、または最適な解でも利用可能である場合がある。
【０１６８】
図１０は、整数制御変数探索段階４０１および整数緩和最適化段階４０５に基づいて、ＭＩ−ＭＰＣコントローラを実現するための混合整数最適化戦略のブロック図を示す。探索段階４０１は、ＭＩ−ＭＰＣ解ベクトルを計算するために、離散等式制約３６５内における離散値の（ほぼ）最適な組み合わせを見つけることに関係している。いくつかの実施形態では、探索段階は、特定の整数制御変数固定４０７を提案し、得られた混合整数計画を連続する最適化問題に緩和することにより、一連の整数緩和ＭＰＣ最適化問題４０５を反復して生成し、緩和制御解ベクトル４０６が離散探索空間の特定の領域において目的値の下限を与えるようにする。
【０１６９】
いくつかの実施形態は、１つ以上の以前の制御時間ステップからのＭＩ−ＭＰＣ解データ１０１０を用いて、整数緩和ウォームスタート手順１０００に基づいて、離散探索空間の特定の領域に対する計算労力を低減するために整数緩和ＭＰＣソルバー１００５をウォームスタートするために用いることができる整数緩和解推測１００１を計算する。いくつかの実施形態では、整数緩和ウォームスタート手順１０００は、以前の制御時間ステップで計算された離散探索空間の十分に類似した領域の解データ１０１０からの整数緩和解推測１００１の識別に基づく。本開示のいくつかの実施形態では、整数緩和ウォームスタート手順１０００は、混合整数計画定式化３４０、整数制御変数固定４０７、および以前の制御時間ステップからの十分に大量の解データ１０１０が与えられると、機械学習を用いて、整数緩和制御解ベクトル４０６に近似する整数緩和解推測１００１を計算する。たとえば、いくつかの実施形態では、整数緩和ウォームスタート手順１０００は、異なる整数制御変数固定４０７の範囲に対応する十分に大量の解データ１０１０で混合整数計画定式化３４０について訓練されたニューラルネットワークに基づく。
【０１７０】
図１１は、いくつかの実施形態による、求解後分枝手法１１００のブロック図を示す。これらの実施形態は、ＭＩ−ＭＰＣコントローラを実現するための分枝限定最適化アルゴリズムの一部として求解後分枝手法１１００を用いる。現在のノードで整数緩和凸ＭＰＣ問題の解が与えられると（５２０）、解が実行可能であり、目的値が現在既知の上限値より低く（５２１）、解がまだ整数実行可能でない場合（５２５）、求解後分枝手法は、離散探索空間のその領域の目的値の局所下限を計算的に効率的な態様で増加させるために、追加の離散変数固定で整数緩和凸ＭＰＣ問題解を構築する（１１２５）ことを目的としている。
【０１７１】
より具体的には、求解後分枝手法１１００は、残りの離散制御変数のうち緩和ＭＰＣ解５２０においてまだ整数実行可能ではないものを選択し、この離散制御変数を固定するよう、つまり、この変数をその考えられ得る整数値の１つに等しくなるように制約するよう、残りのオプションの１つを反復して提案する（１１０１）。本開示のいくつかの実施形態は、離散探索空間のその領域の目的値の局所下限を計算する（１１０６）ために、結果の整数緩和ＭＰＣ問題の双対を解く最適化アルゴリズムの反復の部分集合に基づく（１１０５）。本開示のいくつかの実施形態では、最適性条件に関連する行列因数分解、またはこの行列因数分解を低ランク更新したものを再利用して、アクティブセットの最適化アルゴリズムの反復の部分集合を効率的に実行して、整数緩和ＭＰＣ問題の双対を求解後分枝手法１１００の一部として解く（１１０５）ことができる。
【０１７２】
計算された下限が現在既知の上限値よりも大きい場合（１１１０）、これは、離散探索空間の特定の領域の剪定（１１１５）、およびおそらくは追加の離散変数固定（１１２５）につながり、それによって、ＭＩ−ＭＰＣコントローラの離散制御変数探索段階で必要な計算労力量をかなり低減することができる。求解後分枝手法１１００は、特定の停止基準が満たされるまで（１１２０）、たとえば、緩和離散制御変数がなくなるまで、または特定の実行時間量もしくは特定の反復量に達するまで、離散変数の選択（１１０１）および目的の下限の構築（１１０６）を反復して継続する。求解後分枝手法１１００の停止基準１１２０が満たされた場合、追加の離散変数固定がある場合には（１１２５）結果の整数緩和凸ＭＰＣ問題を解くことにより、分枝限定法は継続する。結果として得られる緩和ＭＰＣ解は、解が実行可能であり、目的が現在既知の上限より低い場合には、離散探索空間のその特定の領域で局所下限値を更新するよう用いることができる（５３５）。解が整数実行可能であり、目的が現在既知の上限より低い場合、緩和ＭＰＣ解を用いて大域上限値を更新できることに注目されたい。
【０１７３】
図１２Ａは、いくつかの実施形態の原理を採用する予測コントローラ１２０２を含む車両１２０１の概略図を示す。本明細書で用いられるように、車両１２０１は、乗用車、バス、またはローバーなどの任意のタイプの車輪付き車両とすることができる。また、車両１２０１は、自律車両または半自律車両とすることもできる。たとえば、いくつかの実施形態は、車両１２０１の運動を制御する。運動の例には、車両１２０１のステアリングシステム１２０３によって制御される車両の横方向運動が含まれる。一実施形態において、ステアリングシステム１２０３は、コントローラ１２０２によって制御される。追加的に、または代替的に、ステアリングシステム１２０３は、車両１２０１の運転者によって制御されることができる。
【０１７４】
車両は、エンジン１２０６も含むことができ、エンジン１２０６は、コントローラ１２０２または車両１２０１の他のコンポーネントによって制御することができる。車両は、周囲の環境を検知するための１つ以上のセンサ１２０４も含むことができる。センサ１２０４の例には、距離レンジファインダー、レーダー、ライダー、およびカメラが含まれる。車両１２０１は、それの現在の運動量および内部状態を検知するための１つ以上のセンサ１２０５を含むこともできる。センサ１２０５の例には、全地球測位システム（ＧＰＳ）、加速度計、慣性測定ユニット、ジャイロスコープ、シャフト回転センサ、トルクセンサ、偏向センサ、圧力センサ、および流量センサが含まれる。センサは、コントローラ１２０２に情報を与える。車両は、有線または無線通信チャネルを介してコントローラ１２０２の通信機能を可能にするトランシーバ１２０６を装備することができる。
【０１７５】
図１２Ｂは、いくつかの実施形態による、予測コントローラ１２０２と車両１２０１のコントローラ１２２０との間の対話の概略図を示す。たとえば、いくつかの実施形態では、車両１２０１のコントローラ１２２０は、車両１２２０の回転および加速を制御するステアリングコントローラ１２２５およびブレーキ／スロットルコントローラ１２３０である。そのような場合、予測コントローラ１２０２は、車両の状態を制御するよう、コントローラ１２２５および１２３０に制御入力を出力する。コントローラ１２２０は、予測コントローラ１２０２の制御入力をさらに処理する車線維持支援コントローラ１２３５などのハイレベルコントローラも含むことができる。両方の場合とも、コントローラ１２２０マップは、車両の運動を制御するために、車両のステアリングホイールおよび／またはブレーキなどの、車両の少なくとも１つのアクチュエータを制御するために、予測コントローラ１２０２の出力を用いる。
【０１７６】
図１２Ｃは、本開示の実施形態を用いることにより、動的に実行可能であり最適であることが多い軌道１２５５を計算することができる、自律または半自律制御車両１２５０の概略図を示す。生成された軌道は、車両を特定の道路境界１２５２内に維持することを目的とし、他の非制御車両、すなわち制御車両１２５０に対する障害物１２５１を回避することを目的とする。いくつかの実施形態では、障害物１２５１の各々は、各障害の１つ以上の追加の離散変数を含む、混合整数最適制御問題の時間または空間定式化において１つ以上の不等式制約によって表すことができる。たとえば、混合整数モデル予測コントローラを実現するように構成された実施形態に基づいて、自律または半自律制御車両１２５０は、たとえば、左側もしくは右側の別の車両を追い越すか、または代わりに、道路１２５２の現在の車線内の別の車両の後ろに留まるなど、離散的判断を実時間で行うことができる。
【０１７７】
図１３Ａおよび図１３Ｂは、スラスタ１３５０および運動量交換装置１３５１などの複数のアクチュエータを備えた宇宙機１３０２を示す。運動量交換装置のタイプの例には、リアクションホイール（ＲＷ）およびジャイロスコープが含まれる。宇宙機は、アクチュエータに送信されるコマンドに応じて、宇宙機の位置、速度、姿勢または向きなどの量が動作により変化する、宇宙空間で飛行するように設計された車両、船舶、または機械である。命令されると、アクチュエータは、宇宙機にその速度を増加または減少させる力を与え、それにより宇宙機にその位置を変換させ、および、命令されると、アクチュエータは、さらに、宇宙機にトルクを与え、宇宙機を回転させ、それにより、その姿勢または向きを変える。本明細書で用いられるように、宇宙機の動作は、そのような量を変化させる宇宙機の動きを決定するアクチュエータの動作によって決定される。
【０１７８】
宇宙機は、地球１３６１、月、および／または他の天体惑星、星、小惑星、彗星などの１つ以上の重力体の周り、間、または近くで、開放または閉鎖軌道経路１３６０に沿って宇宙空間を飛行する。通常、軌道経路に沿った望ましい位置または目標位置１３６５が与えられる。参照フレーム１３７０が所望の位置に取り付けられ、フレームの原点、すなわちその参照フレーム内のすべてゼロの座標は、常に所望の位置の座標である。
【０１７９】
宇宙機は、さまざまな外乱力１３１４を受ける。これらの外乱力には、宇宙機の軌道経路を判断する際に考慮されなかった力が含まれ得る。これらの外乱力は、宇宙機に作用して、軌道上の所望の位置から宇宙機を遠ざける。これらの力には、重力の引力、放射圧、大気抵抗、非球形中心体、および推進剤の漏れが含まれるが、これらに限定されまない。したがって、宇宙機は目標位置から離れた距離１３６７にある可能性がある。
【０１８０】
外乱力のため、宇宙機をその軌道に沿った所望の位置に維持することが常に可能であるとは限らない。したがって、代わりに、宇宙機は、所望の位置の周りにおいて、指定された寸法１３６４を伴う窓１３６６内にとどまることが望まれる。そのために、宇宙機は、所望の目標ウィンドウ内に含まれる任意の経路１３８０に沿って移動するように制御される。この例では、ウィンドウ１３６６は長方形の形状を有するが、ウィンドウの形状は、実施形態ごとに異なり得る。
【０１８１】
宇宙機は、多くの場合、所望の向きを維持することを必要ともされる。たとえば、宇宙機に固定された参照フレーム１３７４は、遠方の星１３７２に対して固定された慣性参照フレーム１３７１、または常に地球の方向を指す態様で向き付けられた参照フレーム１３７３などの、所望の参照フレームと位置合わせする必要がある。しかしながら、宇宙機の形状に応じて、異なる外乱力１３１４が宇宙機に不均一に作用し、それによって、外乱トルクが生成され、宇宙機をその所望の向きから外れるように回転させる可能性がある。外乱トルクを補償するために、リアクションホイールなどの運動量交換装置１３５１を用いて外乱トルクを吸収し、それにより宇宙機がその所望の方向を維持できるようにする。
【０１８２】
運動量交換装置が飽和し、それによって外乱トルクを補償する能力を失わないように、それらの保存された運動量は、たとえばリアクションホイールのスピン速度を下げることによって、無負荷状態にされなければならない。運動量交換装置を無負荷状態にすると、宇宙機に望ましくないトルクが加わる。このような望ましくないトルクもスラスタによって補償される。
【０１８３】
いくつかの実施形態において、宇宙機はハイブリッドシステムとしてモデル化することができ、アクチュエータに送信されるコマンドは、混合整数モデル予測コントローラなどの予測コントローラを用いて計算される。たとえば、いくつかの実施形態では、スラスタ１３５０に送信されるコマンドは、値の離散集合しかとることができず、したがって、混合整数制御区間内の各段階について二値または整数制御入力変数の集合となる。
【０１８４】
いくつかの実施形態において、予測コントローラは、宇宙機が、軌道に沿った所望の位置に近い、特定の寸法の特定のゾーン１３８５の外側に留まるように設計される。後者のゾーンは、時間において固定することも、時間的に変化させることもでき、多くの場合、除外ゾーン１３８５と呼ばれ、このゾーンに対して、混合整数制御区間内の段階ごとに二値または整数の制御入力変数の追加集合を用いて、対応する論理不等式制約をモデル化できる。この例では、除外ゾーン１３８５は長方形であり、所望のウィンドウ１３６６の角に位置決めされているが、所望の目標ウィンドウ内の除外ゾーンの形状および位置は、異なる実施形態で異なり得る。
【０１８５】
図１４Ａは、本開示のいくつかの実施形態による、コントローラ１４６０によって制御される蒸気圧縮システム１４００の概略図を示す。コントローラ１４６０は、モデル予測制御（ＭＰＣ）を実現するコントローラなどの予測コントローラを含む。蒸気圧縮システム（ＶＣＳ）１４００の構成要素は、屋内空間またはゾーン１４５０に位置する室内機熱交換器１４２０、周囲環境に位置する室外機熱交換器１４３０、圧縮機１４１０および膨張弁１４４０を含むことができる。熱負荷１４１５は屋内空間またはゾーン１４５０に作用する。
【０１８６】
さらに、ＶＣＳ１４００は、圧縮機を出る高圧冷媒を室外機熱交換器または室内機熱交換器のいずれかに向け、室内機熱交換器または室外機熱交換器のいずれかから戻る低圧冷媒を圧縮機の入口に向けるために用いられる逆流弁１４５５を含むことができる。高圧冷媒が室外機熱交換器に向けられる場合、室外機熱交換器は凝縮器として機能し、室内機は蒸発器として機能し、システムはゾーンから周囲環境に熱を排除し、それは動作上は「冷却モード」と呼ばれる。逆に、高圧冷媒が室内機熱交換器に向けられる場合、室内機熱交換器は凝縮器として機能し、室外機熱交換器は蒸発器として機能し、周囲環境から熱を抽出し、この熱をゾーン内にポンピングし、それは動作上は「加熱モード」と呼ばれる。
【０１８７】
図１４Ｂは、ＶＣＳ１４００で用いられる信号、センサ、およびコントローラの構成の例を示す。コントローラ１４６０は、周囲の気温などの測定可能な外乱を含む、システムの動作に関するさまざまな温度、圧力、流量、その他の情報を測定するように構成されたセンサ１４７０からの情報を読み取る。コントローラには、所望のゾーン温度などの、プロセスの測定信号の所望の値を表す設定点１４６６を設けることができる。設定点情報は、サーモスタット、ワイヤレスリモートコントロール、または内部メモリもしくは記憶媒体から取得できる。次に、コントローラは、いくつかの測定された出力がそれらの設定点に駆動されるように、制御入力を計算する。これらの制御入力は、室内機ファン速度１４８０、室外機ファン速度１４８１、圧縮機回転速度１４８２、膨張弁位置１４８３、および逆流弁位置１４８４を含むことができる。このようにして、コントローラは、システムに作用する熱負荷などの外乱１４６８の存在下で設定点値が達成されるように、蒸気圧縮システムの動作を制御する。
【０１８８】
いくつかの実施形態では、ＶＣＳはハイブリッドシステムとしてモデル化することができ、アクチュエータに送信されるコマンドは、混合整数モデル予測コントローラなどの予測コントローラを用いて計算される。たとえば、いくつかの実施形態では、弁および／またはファンに送信されるコマンドは、値の離散集合しかとることができず、したがって、混合整数制御区間内の各段階について二値または整数制御入力変数の集合となる。
【０１８９】
いくつかの実施形態では、ＶＣＳの動的挙動は、システムの現在の状態および現在の制御入力値に応じて、急速に変化するか、または特定の瞬間で切り替わることさえあり得る。スイッチングダイナミクスを有する結果的なハイブリッドＶＣＳシステムは、混合整数制御区間内の各段階ごとに二値または整数制御入力変数の追加集合を用いてモデル化できる。
【０１９０】
本開示の上述の実施形態は、多数の方法のいずれかで実現することができる。たとえば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実現されてもよい。ソフトウェアで実現される場合、ソフトウェアコードは、単一のコンピュータで提供されるか、複数のコンピュータに分散されるかに関係なく、任意の好適なプロセッサまたはプロセッサの集まりにおいて実行されることができる。そのようなプロセッサは、集積回路コンポーネント内に１つ以上のプロセッサを備えた集積回路として実現されてもよい。ただし、プロセッサは、任意の好適な形式の回路系を用いて実現されてもよい。
【０１９１】
また、本明細書で概説される様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのいずれか１つを用いる１つ以上のプロセッサで実行可能なソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、多数の好適なプログラミング言語および／またはプログラミングもしくはスクリプトツールのいずれかを用いて記述されてもよく、フレームワークまたは仮想マシンで実行される実行可能マシン言語コードまたは中間コードとしてコンパイルされてもよい。通常、プログラムモジュールの機能は、さまざまな実施形態において所望のように組み合わせられるかまたは分散されてもよい。
【０１９２】
また、本開示の実施形態は、例が提供されている方法として具体化することができる。方法の一部として実行される行為は、任意の好適な方法で順序付けされてもよい。したがって、例示的な実施形態において連続的な行為として示されているいくつかの行為を同時に実行することを含むことができる、例示とは異なる順序で行為が実行される実施形態を構築することができる。
【０１９３】
本開示を好ましい実施形態の例によって説明してきたが、本開示の精神および範囲内で様々な他の適応および変更を行うことができることを理解されたい。したがって、特許請求の範囲の目的は、本開示の真の精神および範囲内にあるそのようなすべての変形および修正を網羅することである。
【図１】
2020149677.tif 000043
【図２】
2020149677.tif 000044
【図３Ａ】
2020149677.tif 000045
【図３Ｂ】
2020149677.tif 000046
【図４】
2020149677.tif 000047
【図５Ａ】
2020149677.tif 000048
【図５Ｂ】
2020149677.tif 000049
【図５Ｃ】
2020149677.tif 000050
【図６Ａ】
2020149677.tif 000051
【図６Ｂ】
2020149677.tif 000052
【図７Ａ】
2020149677.tif 000053
【図７Ｂ】
2020149677.tif 000054
【図８】
2020149677.tif 000055
【図９Ａ】
2020149677.tif 000056
【図９Ｂ】
2020149677.tif 000057
【図９Ｃ】
2020149677.tif 000058
【図１０】
2020149677.tif 000059
【図１１】
2020149677.tif 000060
【図１２Ａ】
2020149677.tif 000061
【図１２Ｂ】
2020149677.tif 000062
【図１２Ｃ】
2020149677.tif 000063
【図１３Ａ】
2020149677.tif 000064
【図１３Ｂ】
2020149677.tif 000065
【図１４Ａ】
2020149677.tif 000066
【図１４Ｂ】
2020149677.tif 000067
【外国語明細書】
2020149677000001.pdf