Измените определения переменных, чтобы они были одномерными:
@variable(ZS, x[1:2])
@variable(ZS, y[1:2])
и все должно работать как положено.
В качестве альтернативы оставьте x
и y
двумерными и переопределите вашу цель и ограничения следующим образом:
@objective(ZS, Max, sum(x[1,i]*P[i,j]*y[j,1] for i=1:2 for j=1:2))
@constraint(ZS, con1, x[1,1] + x[1,2] <= 1)
@constraint(ZS, con2, y[1,1] + y[2,1] <= 1)
В качестве примечания вы можете определить P
более просто так:
julia> P = [10 -20
30 -40]
2×2 Array{Int64,2}:
10 -20
30 -40