PyMacroFin 中具有多个约束的系统

Systems with multiple constraints in PyMacroFin

我对工具箱 PyMacroFin 有疑问。 是否可以处理同时约束?我的意思是例如我们>1 && wr<0? (we和wr是两个需要同时约束的内生变量)

您可以按照文档的 this page 执行以下操作:

m.constraint(‘we’,’>’,1, label=’one’)
m.constraint(‘wr’,’<’,0, label=’two’)

s = system([‘one’,’two’],m)
…
m.systems.append(s)

基本上,您只需将约束标签列表添加到系统中即可。解决方案过程应该对系统进行排序,如果您有一个系统具有两个约束,那么另一个系统只有一个约束,它将首先检查组合约束,然后检查单个约束。例如,您可以执行以下操作:

m.constraint(‘we’,’>’,1, label=’one’)
m.constraint(‘wr’,’<’,0, label=’two’)

s1 = system([‘one’,’two’],m)
…
m.systems.append(s1)

s2 = system([‘one’],m)
…
m.systems.append(s2)

如果we <= 1且wr >=0,那么它将切换到系统s1。但是,如果我们 <= 1 且 wr < 0,它将切换到系统 2。