本文整理汇总了Python中pyomo.core.ConcreteModel.unit8方法的典型用法代码示例。如果您正苦于以下问题:Python ConcreteModel.unit8方法的具体用法?Python ConcreteModel.unit8怎么用?Python ConcreteModel.unit8使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyomo.core.ConcreteModel
的用法示例。
在下文中一共展示了ConcreteModel.unit8方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build_nonexclusive_model
# 需要导入模块: from pyomo.core import ConcreteModel [as 别名]
# 或者: from pyomo.core.ConcreteModel import unit8 [as 别名]
def build_nonexclusive_model():
m = ConcreteModel()
m.streams = RangeSet(25)
m.x = Var(m.streams, bounds=(0, 50), initialize=5)
m.stage1_split = Constraint(expr=m.x[1] == m.x[2] + m.x[4])
m.unit1 = Disjunction(expr=[
[
# Unit 1
m.x[2] == exp(m.x[3]) - 1,
],
[
# No Unit 1
m.x[2] == 0, m.x[3] == 0
]
])
m.unit2 = Disjunction(expr=[
[
# Unit 2
m.x[5] == log(m.x[4] + 1),
],
[
# No Unit 2
m.x[4] == 0, m.x[5] == 0
]
])
m.stage1_mix = Constraint(expr=m.x[3] + m.x[5] == m.x[6])
m.stage2_split = Constraint(expr=m.x[6] == sum(m.x[i] for i in (7, 9, 11, 13)))
m.unit3 = Disjunction(expr=[
[
# Unit 3
m.x[8] == 2 * log(m.x[7]) + 3,
m.x[7] >= 0.2,
],
[
# No Unit 3
m.x[7] == 0, m.x[8] == 0
]
])
m.unit4 = Disjunction(expr=[
[
# Unit 4
m.x[10] == 1.8 * log(m.x[9] + 4),
],
[
# No Unit 4
m.x[9] == 0, m.x[10] == 0
]
])
m.unit5 = Disjunction(expr=[
[
# Unit 5
m.x[12] == 1.2 * log(m.x[11]) + 2,
m.x[11] >= 0.001,
],
[
# No Unit 5
m.x[11] == 0, m.x[12] == 0
]
])
m.unit6 = Disjunction(expr=[
[
# Unit 6
m.x[15] == sqrt(m.x[14] - 3) * m.x[23] + 1,
m.x[14] >= 5, m.x[14] <= 20,
],
[
# No Unit 6
m.x[14] == 0, m.x[15] == 0
]
])
m.stage2_special_mix = Constraint(expr=m.x[14] == m.x[13] + m.x[23])
m.stage2_mix = Constraint(expr=sum(m.x[i] for i in (8, 10, 12, 15)) == m.x[16])
m.stage3_split = Constraint(expr=m.x[16] == sum(m.x[i] for i in (17, 19, 21)))
m.unit7 = Disjunction(expr=[
[
# Unit 7
m.x[18] == m.x[17] * 0.9,
],
[
# No Unit 7
m.x[17] == 0, m.x[18] == 0
]
])
m.unit8 = Disjunction(expr=[
[
# Unit 8
m.x[20] == log(m.x[19] ** 1.5) + 2,
m.x[19] >= 1,
],
[
# No Unit 8
m.x[19] == 0, m.x[20] == 0
]
])
m.unit9 = Disjunction(expr=[
[
# Unit 9
m.x[22] == log(m.x[21] + sqrt(m.x[21])) + 1,
m.x[21] >= 4,
#.........这里部分代码省略.........