我是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中定义子集吗?
干杯!
答案 0 :(得分:0)
是的,您可以使用数字索引向量或字符串来索引到OptimizationVariables或OptimizationExpressions中。参见例如: https://www.mathworks.com/help/optim/ug/optimvar.html#mw_9da91e17-8359-4deb-9b42-b08b64a3646b