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 ответ

  1. Эта технология говорит:

    rand (m)- возвращает псевдослучайное целое число по модулю m (Таким образом, число
    будет между 0 и m-1, оба включительно).

    Чтобы получить значения от 2 до 5 включительно, я думаю, вы можете просто заменить:

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

    с:

    2 + Opl.rand(4)