我正在使用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之间的随机值?
答案 0 :(得分:0)
这technote说:
rand(m) - 返回一个伪随机整数模m(因此是数字 将介于0和m-1之间(包括两者)。
要获得2到5之间的值,我认为你可以简单地替换:
Opl.maxl(2,Opl.rand(5)))
使用:
2 + Opl.rand(4)