本文整理匯總了Python中pyomo.core.ConcreteModel.outerdisjunct方法的典型用法代碼示例。如果您正苦於以下問題:Python ConcreteModel.outerdisjunct方法的具體用法?Python ConcreteModel.outerdisjunct怎麽用?Python ConcreteModel.outerdisjunct使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pyomo.core.ConcreteModel
的用法示例。
在下文中一共展示了ConcreteModel.outerdisjunct方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: makeDuplicatedNestedDisjunction
# 需要導入模塊: from pyomo.core import ConcreteModel [as 別名]
# 或者: from pyomo.core.ConcreteModel import outerdisjunct [as 別名]
def makeDuplicatedNestedDisjunction():
m = ConcreteModel()
m.x = Var(bounds=(0, 8))
def outerdisj_rule(d, flag):
m = d.model()
if flag:
def innerdisj_rule(d, flag):
m = d.model()
if flag:
d.c = Constraint(expr=m.x >= 2)
else:
d.c = Constraint(expr=m.x == 0)
d.innerdisjunct = Disjunct([0, 1], rule=innerdisj_rule)
d.innerdisjunction = Disjunction(expr=[d.innerdisjunct[0],
d.innerdisjunct[1]])
d.duplicateddisjunction = Disjunction(expr=[d.innerdisjunct[0],
d.innerdisjunct[1]])
else:
d.c = Constraint(expr=m.x == 8)
m.outerdisjunct = Disjunct([0, 1], rule=outerdisj_rule)
m.disjunction = Disjunction(expr=[m.outerdisjunct[0],
m.outerdisjunct[1]])
return m