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 に答える