24小时热门版块排行榜    

查看: 1120  |  回复: 1

cswfpp

新虫 (初入文坛)

[求助] c++调用cplex遇到的问题

大家好,
我用C++调用cplex对一个分段函数求解,不同区间段都是线性函数,分别求解。但是我的程序为什么运行结果是所有区间都木有可行解。不知道该怎么找错误。
希望了解相关情况的帮我看看,以下是部分代码:
CODE:
  for(m=0;m
   IloExpr expr2(env);
   for(t=1;t<=nTime;t++){
     n=0;
     for(i=1;i<=nPlant;i++){
      for(j=1;j<=nCustm;j++){
      expr2+=(Y[record[m][n]][i][j][1]+Y[record[m][n]][i][j][2]*Tran_qua[i][j][t]);     
       model.add(bound_point[record[m][n]-1][i][j]<=Tran_qua[i][j][t]<=bound_point[record[m][n]][i][j]);
//主要问题应该就是这个约束的添加,对于每个区间都要加入相应的约束,进行下一次计算前还要将这次的清空,后面有的remove
       cout<<"区间:("<        n++;    //这里是记录方案M时某个区间的具体取值
      }
     }
    }

    //目标函数
    IloObjective obj(env,expr1+expr2+expr5,IloObjective::Minimize);   //其他的几个表达式省略没有写
    model.add(obj);
    expr2.end();
   IloCplex cplex(model);
   
    //Calling cplex.solve returns a Boolean indicating whether or not a feasible solution has been found.

   if(cplex.solve()){
   
     cout<<"可行"<     total_cost[m+1]=cplex.getObjValue();
    env.out() << "total_cost[" <     //进行下一次方案之前要将运输量约束和目标函数去掉,下次重新建立
    model.remove(obj);
    for(t=1;t<=nTime;t++){
     n=0;
     for(i=1;i<=nPlant;i++){
      for(j=1;j<=nCustm;j++){
      model.remove(bound_point[record[m][n]-1][i][j]<=Tran_qua[i][j][t]<=bound_point[record[m][n]][i][j]);
      n++;
      }
     }
    }
    }

   else{
     cout<<"不可行"<      total_cost[m+1]=Infin;
     
   //进行下一次方案之前要将运输量约束和目标函数去掉,下次重新建立
    model.remove(obj);
    for(t=1;t<=nTime;t++){
     n=0;
     for(i=1;i<=nPlant;i++){
      for(j=1;j<=nCustm;j++){
      model.remove(bound_point[record[m][n]-1][i][j]<=Tran_qua[i][j][t]<=bound_point[record[m][n]][i][j]);
      n++;
      }
     }
    }
     continue;  //本次m取值不可行,接着进行下一次循环
    }

  }

现在运行结果是所有区间均不可行,但实际上部分区间是可行的,我实在不知道错哪里了,希望大家帮帮忙。
或者告诉我应该怎么找错误也可以。
本文来自: 人大经济论坛 爱问频道 版,详细出处参考: http://bbs.pinggu.org/forum.php? ... amp;fromuid=1009284

[ Last edited by jjdg on 2013-1-22 at 19:01 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cswfpp

新虫 (初入文坛)

谢谢哦,但是那个好像和我的不相关,还是谢谢你提供信息~~
2楼2013-01-23 10:28:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cswfpp 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 这样的filecode谁见过 +8 布布和一二 2026-08-08 15/750 2026-08-09 11:33 by 布布和一二
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:27 by oEVWOejN9taj
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 16:47 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[基金申请] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 16:27 by oEVWOejN9taj
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:27 by oEVWOejN9taj
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:22 by oEVWOejN9taj
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 15:59 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:27 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:22 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见