首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPL CPLEX中的epsilon约束方法

OPL CPLEX中的epsilon约束方法
EN

Stack Overflow用户
提问于 2017-07-12 04:10:27
回答 1查看 556关注 0票数 0

我想用ILOG OPL中的epsilon约束方法编写一个双目标问题的代码,有没有示例可以帮助我?谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-07-14 02:07:36

代码语言:javascript
复制
int n=10;
int m=25;

range position = 0..n-1;

dvar boolean x[position][position];
dvar float obj1 in position;
dvar float obj2 in position;

minimize (obj1)*n+obj2;

subject to
{
  sum(i,j in position) x[i][j]==m;

  forall(i,j in position) (x[i][j]==1) => (obj1>=i);

  forall(i,j in position) (x[i][j]==1) => (obj2>=j);
}



 execute
 {
 writeln("objectives : ",obj1+1," ",obj2+1);
 }

 main
 {
   var epsilon=0.0001; 

   thisOplModel.generate();
   cplex.setObjCoef(thisOplModel.obj2,0);
   cplex.solve();
   thisOplModel.postProcess();
   var obj1=thisOplModel.obj1.solutionValue;
   thisOplModel.obj1.LB=obj1;
   thisOplModel.obj1.UB=obj1+epsilon;
   cplex.setObjCoef(thisOplModel.obj2,1);
   cplex.solve();
   thisOplModel.postProcess();

 }

这给了我们

代码语言:javascript
复制
objectives : 3 10
 objectives : 3 9
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45043670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档