【发布时间】:2014-11-12 01:13:15
【问题描述】:
我正在尝试使用带有 Cplex 链接器的 C 来解决 MIP 问题。我需要找到两个决策变量的最小值,据我所知,我应该写成一个约束,因为它们是决策变量。 if 语句不适用于决策变量。这是我的 C 模型的一部分。
void TSPMIP(int Scenario, int Agency)
{
int i,j;
double tmpDouble;
IloEnv env; //Intialize the Cplex Environment
try{
IloModel model(env);
D2Array Q_bar(env,Scenario);
for(i=0;i<Scenario;i++)
{
Q_bar[i] = IloNumVarArray(env,Agency,0,IloInfinity,ILOINT);
}
IloNumVarArray Q(env,Agency,0,IloInfinity,ILOINT); //definition of decision variables.
我想做的是
for(i=0;i<Scenario;i++){
for (j=0;j<Agency;j++){
IloExpr v9(env);
if (Q_bar[i][j]>=Q[j]){
v9=min-Q_bar[i][j];
}else {
v9=min-Q[[j];
}
cons.add(v9==0);
v9.end();
}
}
model.add(cons);
但它不适用于决策变量。
【问题讨论】:
-
这是 C++ 而不是 C.. 有什么问题?
标签: c variables constraints minimum cplex