1

TCLab を使用したモデル予測制御用の Python Gekko のサンプル コードを変更して、0 ~ 100% の連続ヒーター値ではなくバイナリ (オン/オフ) を使用しようとしています。オプションを切り替えてinteger=True、決定変数を 0 ~ 100% ではなく 0 ~ 1 にスケーリングしましたが、それでも Q1 の連続値 (バイナリではない) の解が得られます。

# Manipulated variables
Q1b = m.MV(value=0,lb=0,ub=1,name='q1',integer=True)
Q1b.STATUS = 1  # manipulated
Q1b.FSTATUS = 0 # not measured
Q1b.DMAX = 1.0
Q1b.DCOST = 0.1
Q1 = m.Intermediate(Q1b*100)

Q2 = m.MV(value=0,name='q2')
Q2.STATUS = 1  # manipulated
Q2.FSTATUS = 0 # not measured
Q2.DMAX = 30.0
Q2.DCOST = 0.1
Q2.UPPER = 100.0
Q2.LOWER = 0.0

決定変数 (操作変数) が 2 値または整数解でなければならない場合、最適な制御のために Gekko を使用するにはどうすればよいですか?

4

1 に答える 1