我希望设计变量在优化过程中仅采用指定的值。
例如: 假设x是只能采用特定值的变量,例如:
x = [0.1,0.5,1.0,1.7,2.3]
如何使用pyomo用python编写(如果可能)?
我希望我很清楚。
答案 0 :(得分:2)
您必须使用整数变量来执行此操作。例如,如果存在N
个x
的可能值,那么如果x[n] = 1
等于第x
个可能的值,则让n
,而0
除此以外。只要原始模型中有x
,就将其替换为
sum {n=1,...,N} v[n] * x[n]
其中v[n]
是第n
个可能的值。最后,添加一个约束条件:
sum {n=1,...,N} x[n] == 1
我不是用Pyomo语法编写这些代码,但这是一种通用的建模方法,无论您使用哪种建模语言/程序包,都是相同的。