具有一定间隔的Cplex随机数发生器

时间:2016-11-09 12:10:06

标签: cplex

我正在使用IBM CPLEX Optimization Studio,我想编写一个函数,该函数生成两个客户之间距离的随机值,并将其保存在包含客户索引的元组中。值应介于2和5之间。

execute Pupulate_TupleDistance_RandNo{
var i,j
for (var i in customers) {
for (var j in customers) {
if (i != j) {TravelMatrix.add(i, j, Opl.maxl(2,Opl.rand(5)))} 
}}
};

这是我的函数到目前为止的样子,但它给了我所选区间的最大值。我如何更改它以给我2到5之间的随机值?

1 个答案:

答案 0 :(得分:0)

technote说:

  

rand(m) - 返回一个伪随机整数模m(因此是数字   将介于0和m-1之间(包括两者)。

要获得2到5之间的值,我认为你可以简单地替换:

Opl.maxl(2,Opl.rand(5)))

使用:

2 + Opl.rand(4)