2013-03-29 83 views
1

我在C++中做过一个随机数,但是当我尝试使用CPLEX时,它根本不起作用。Cplex随机数(C++)

我想知道如何在CPLEX

我做的在C随机++的方式做随机:

int t = (rand() % 10) +1 ; 

我试试这个:

int main() { 
srand(time(0)); 
IloEnv env; 
IloInt j; 
IloModel model(env); 
IloInt dt = (rand() % 10) +1 ; 
if(j > dt){ 
    ... 
} 
+0

小心显示您尝试过的*不*工作? – WhozCraig

+0

如果您确切地谈论了为什么您需要在CPLEX中使用随机数字,或者为此,您为什么会将随机输入用于MIP求解器,这将非常棒。 –

+0

没有足够的信息来回答问题。唯一想到这里的是IloInt是一个很长的而不是一个整数,但我不知道没有更多的信息是否相关。此外,您可能想要在开发代码时修复种子。 也@AndrewMao,有几种可能性:随机程序的场景生成或随机区域的整数规划指导本地搜索。 – raoulcousins

回答

0

交互式编程就像是随机数正如Andrew在上面评论的那样,CPLEX中不可能生成代码。尽管您可以将Java,C或其他库与CPLEX一起用于此目的。如果您使用OPL和CPLEX,则生成随机数的一种方法是:

int mySeed; 
execute{ 
var now = new Date(); 
mySeed = Opl.srand(Math.round(now.getTime()/1000)); 
} 
int tabSize = 60; 
int myRandTab[i in 1..20] = 1 + rand(tabSize);