pyomo:是否可以仅将定义的值分配给设计变量?

时间:2019-05-29 20:41:56

标签: python python-3.x optimization pyomo coin-or

我希望设计变量在优化过程中仅采用指定的值。

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

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

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

我希望我很清楚。

1 个答案:

答案 0 :(得分:2)

您必须使用整数变量来执行此操作。例如,如果存在Nx的可能值,那么如果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语法编写这些代码,但这是一种通用的建模方法,无论您使用哪种建模语言/程序包,都是相同的。