0

在 CPLEX 优化器中是否可以使用 c++ api 通过变量名获取变量的索引?我找不到任何合适的方法来做到这一点。请帮忙。

我有 [IloNumVarArray vars;] 变量来按名称存储变量。

vars[i].getName(); // 给出索引 i 处的变量名

有没有像 vars.getIndex(name) 这样的方法,可以给出变量的索引?

4

2 回答 2

1

如果您使用的是可调用库 C++ API,则有查找列索引的函数,给定列名:

int CPXgetcolindex(CPXCENVptr env, CPXCLPptr lp, const char * lname_str, int * index_p)

看:

http://pic.dhe.ibm.com/infocenter/cosinfoc/v12r4/index.jsp?topic=%2Filog.odms.cplex.help%2Frefcallablelibrary%2Fhtml%2Ffunctions%2FCPXaddmipstarts.html

于 2012-12-01T14:13:23.510 回答
1

CPLEX 中没有类似的东西。

您始终可以迭代数组并比较名称以取回您的变量。如果您需要更好的性能,您可以使用地图。

于 2012-07-30T22:34:06.937 回答