MatLab中基于问题的表述:集合和子集

时间:2019-12-16 09:33:02

标签: matlab gams-math

我是GAMS用户,由于公司政策的原因,必须转到MatLab。 我已经在GAMS中编写了一个模型,现在正在Matlab中编写模型。我正在使用基于问题的方法。

我的问题是关于集合和子集

例如在GAMS中

sets
         NodeIndex                               Nodes of the system                     /1*3/
         GenIndex(NodeIndex)                     Generator Index                         /1/
         NoGenIndex(NodeIndex)                   Nodes with no generation

NoGenIndex(NodeIndex) = not GenIndex(NodeIndex)

如图所示,GenIndex(NodeIndex)和NoGenIndex(NodeIndex)是NodeIndex的子集 优化变量的示例:

PG(NodeIndex) Generated active power
Theta0(GenIndex) 

然后,当我解决问题时,我可以说某些集合应该具有零代。

PG.fx(NoGenIndex) = 0;

但是,当阅读MatLab中基于问题的说明时,找不到类似的东西。可以在基于问题的Matlab中定义子集吗?

干杯!

1 个答案:

答案 0 :(得分:0)

是的,您可以使用数字索引向量或字符串来索引到OptimizationVariables或OptimizationExpressions中。参见例如: https://www.mathworks.com/help/optim/ug/optimvar.html#mw_9da91e17-8359-4deb-9b42-b08b64a3646b