0

我希望设计变量在优化过程中只假设指定的值。

例如:设 x 是只能假设特定值的变量,例如:

x = [0.1,0.5,1.0,1.7,2.3]

如何使用 pyomo 用 python 编写(如果可能的话)?

我希望我很清楚。

4

1 回答 1

2

您必须使用整数变量来执行此操作。例如,如果存在 的N可能值x,则令x[n] = 1ifx等于第nth 个可能值,0否则。任何时候您x的原始模型中有一个,将其替换为

sum {n=1,...,N} v[n] * x[n]

第一个可能的值v[n]在哪里。n最后,添加一个约束:

sum {n=1,...,N} x[n] == 1 

我不是用 Pyomo 语法编写这些,但这是一种通用的建模方法,无论您使用哪种建模语言/包,它都是相同的。

于 2019-05-29T20:58:55.160 回答