【发布时间】:2019-11-10 17:16:36
【问题描述】:
当我想根据要求将工人分配到不同的班次时,我遇到了问题。他们可以每天两班倒。
但是不知道为什么是数组问题,我是Julia新手
empleados=26;
turnos=30;
requerimiento=[3,4,1,1,2,2,4,3,1,3,3,1,2,4,2,4,3,2,1,2,2,2,2,2,2,3]
costo=28;
using JuMP
using Gurobi
m = Model(with_optimizer(Gurobi.Optimizer))
@variable(m, x[1:turnos,1:empleados]<=1,Bin)
@objective(m, Min, costo * sum(x))
for i in 1:turnos+1,j in 1:empleados
@constraint(m,x[i,j] + x[i,j-1] + x[i,j+1] <= 2)
end
for i in 1:turnos+3,j in 1:empleados
@constraint(m, x[i,j]+x[i,j-2]+x[i,j-3]+x[i,j+3]+x[i,j+2] <= 1)
end
@constraint(m, sum(x[i,:]) for i in i:turnos >=requerimiento[i])
***ERROR***
BoundsError: attempt to access 30×26 Array{VariableRef,2} at index [1, 0]
Stacktrace:
[1] getindex(::Array{VariableRef,2}, ::Int64, ::Int64) at .\array.jl:729
[2] macro expansion at C:\Users\DELL\.julia\packages\JuMP\MsUSY\src\macros.jl:390 [inlined]
[3] top-level scope at .\In[103]:15
【问题讨论】:
标签: arrays indexing julia scheduled-tasks julia-jump