2013-03-29 124 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);