热门帖子

显示标签为“cplex”的博文。显示所有博文
显示标签为“cplex”的博文。显示所有博文

2014年4月15日星期二

C++ Cplex 定义三维变量矩阵,Define 3 dimensional Matrix

刚学的时候有各种问题,比如这次遇到的如何定义三维矩阵,找遍了GOOGLE居然都找不到一个答案,Manual上说的更是模糊,因此在这里我要详细说明一下。

首先要define你的三维矩阵,因为三维要用到二维,因此也需要定义二维矩阵。
typedef IloArray<IloIntVarArray> IntVarMatrix2; //定义二维矩阵
typedef IloArray<IloArray<IloIntVarArray> > IntVarMatrix3; //定义三维矩阵

然后定义你的三维变量,这里我的三维变量形式为V[i][j][k],其中i=1..nbnodes, j =1..nbnodes, k=1..nblines;

IntVarMatrix3 V(env,nbnodes); //定义第一维的长度
for(i = 0; i < nbnodes; i++){
V[i] = IntVarMatrix2(env, nbnodes); //定义第二维的长度
for(j = 0; j < nbnodes; j++){
V[i][j] = IloIntVarArray(env, nblines, 0, RAND_MAX); //定义第三维的长度,也就是每个V[i][j][k]的范围是0到无穷大,之前我用IloInfinity不知道为什么编译后求解x的上限为一个负的大数,因此我就改为了RAND_MAX.
}
}

2014年4月8日星期二

开篇

最近开始做研究,才深知PH.D真的不是那么好读的,但是既然走上了这条路,就应该坚持下来,将来拿到了人生永久的头衔DR.的时候该是会多么兴奋的一件事啊。

在这个博客里主要会记录一些我的学习心得,尤其是运筹学领域,因为可能国内目前的研究并不是很好,也没有很多相关的资料可以学习,因此借这个平台既能帮助自己提高又可以将自己学习的心得和体会分享给大家,还是很不错的。