Julia 如何对跳跃变量进行比较和类似的数值运算

Julia 如何对跳跃变量进行比较和类似的数值运算,julia,julia-jump,Julia,Julia Jump,我是约束编程的新手,我试图从gecode示例中解决合影问题 问题的目的是找到解决办法,尽量减少违规行为。查找冲突需要进行比较并查找绝对值。 尝试比较跳转变量,如: @defVar(m, pos[1:n]) pos[1]>0 # Testing 给我 错误:LoadError:MethodError:isless没有与isless匹配的方法(::Int64,::JuMP.GenericAffExpr{Float64,JuMP.Variable}) 这可能吗?任何帮助都将不胜感激 编辑:表达

我是约束编程的新手,我试图从gecode示例中解决合影问题

问题的目的是找到解决办法,尽量减少违规行为。查找冲突需要进行比较并查找绝对值。 尝试比较跳转变量,如:

@defVar(m, pos[1:n])
pos[1]>0 # Testing
给我

错误:LoadError:MethodError:
isless
没有与isless匹配的方法(::Int64,::JuMP.GenericAffExpr{Float64,JuMP.Variable})

这可能吗?任何帮助都将不胜感激

编辑:表达式
sum(abs(pos[spec[i][0]]-pos[spec[i][1]]>1)
将被最小化。
(假设
true
为1,
false
为0)。

您是否有试图解决的问题的代数表示?阅读链接的C++代码很难,抱歉发布一个模糊的问题,我试图在我的问题上做得最少。无论如何,使用cpp代码中的逻辑,代数表示将是:
abs(pos[spec[i][0]]-pos[spec[i][1]]>1
,它在所有i上的总和应该是最优解的最小值。我不知道如何在JuMP中获取绝对值或比较spec、pos变量;不能直接使用决策变量的逻辑函数。要使用跳转(以及跳转支持的解算器),您必须将问题重新表述为可能的混合整数规划形式,使用指标变量对逻辑条件进行建模。谢谢您的回答!我会试着重新表述一下。如果JuMP不能满足这个或任何未来约束编程任务的需要,您认为在Julia中为现有的C库创建包装器会是一个好主意吗?当然,将这些库包装在Julia中会很好!你想解决的问题有代数表示吗?阅读链接的C++代码很难,抱歉发布一个模糊的问题,我试图在我的问题上做得最少。无论如何,使用cpp代码中的逻辑,代数表示将是:
abs(pos[spec[i][0]]-pos[spec[i][1]]>1
,它在所有i上的总和应该是最优解的最小值。我不知道如何在JuMP中获取绝对值或比较spec、pos变量;不能直接使用决策变量的逻辑函数。要使用跳转(以及跳转支持的解算器),您必须将问题重新表述为可能的混合整数规划形式,使用指标变量对逻辑条件进行建模。谢谢您的回答!我会试着重新表述一下。如果JuMP不能满足这个或任何未来约束编程任务的需要,您认为在Julia中为现有的C库创建包装器会是一个好主意吗?当然,将这些库包装在Julia中会很好!