【问题标题】:min value of two decision variables两个决策变量的最小值
【发布时间】: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


【解决方案1】:

对此进行建模的一种简单方法是添加另一个变量并添加约束以强制新变量必须小于其他每个变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2018-10-22
    • 1970-01-01
    • 2017-04-05
    相关资源
    最近更新 更多