Я должен решить проблему с перестановками. Функция принимает вектор a с n элементами в качестве параметра. Я объявляю b как @variable - должна быть перестановка 1:n, которая дает наилучший результат после нахождения решения проблемы. Ошибка появляется, когда я хочу создать @constraint. Я должен использовать a[b[1]], поэтому он берет первый элемент из вектора, который является переменной. Это дает мою ошибку, что я не могу использовать тип VariableRef в качестве индекса массива. Но как я могу обойти это, когда я должен использовать это?
a
n
b
@variable
1:n
@constraint
a[b[1]]
VariableRef
Звучит так, как будто у вас есть две проблемы оптимизации, одна из которых - целочисленная проблема программирования Вы можете подумать о том, чтобы разделить их.
(извините, что не написал комментарий, моя репутация все еще слишком низкая ;-))