Macros 如何使用Julia';正确使用匿名构造语法解决具有多个限制的优化问题;什么是跳转包?

Macros 如何使用Julia';正确使用匿名构造语法解决具有多个限制的优化问题;什么是跳转包?,macros,julia,modeling,linear-programming,julia-jump,Macros,Julia,Modeling,Linear Programming,Julia Jump,我使用Julia 1.0和JuMP包来解决优化问题。这是我第一次使用这种语言。因此,我对语法不是很熟悉 以下是我能够解决的问题: 我使用的代码非常有效: using JuMP using GLPK model = Model(with_optimizer(GLPK.Optimizer)) @variable(model, 0 <= x <= 6000) @variable(model, 0 <= y <= 4000) @objective(model, Max

我使用Julia 1.0和JuMP包来解决优化问题。这是我第一次使用这种语言。因此,我对语法不是很熟悉

以下是我能够解决的问题:

我使用的代码非常有效:

using JuMP

using GLPK

model = Model(with_optimizer(GLPK.Optimizer))

@variable(model, 0 <= x <= 6000)

@variable(model, 0 <= y <= 4000)

@objective(model, Max, (25*x) + (30*y))

@constraint(model, con, ((1/200)*x) + ((1/140)*y) <= 40)

optimize!(model)

termination_status(model)

primal_status(model)

dual_status(model)

println(objective_value(model))

println(value(x))

println(value(y))
我试图改变一些东西,并阅读文档。尽管如此,宏对我来说似乎是一个奇怪的概念

经过几次尝试,我决定寻求帮助


提前谢谢。

我想信息很清楚。因此,请尝试以下方法:

@constraint(model, con1, x + y <= 8)
@constraint(model, con2, -x + y <= 2)
@constraint(model, con3, x - y <= 4)

@constraint(model,con1,x+y)现在可以了。谢谢你对匿名性的评论。这是一个比我想象的更简单的概念。
ERROR: LoadError: An object of name con is already attached to this model. If this is intended, consider using the anonymous construction syntax, e.g., x = @variable(model, [1:N], ...) where the name of the object does not appear inside the macro.
@constraint(model, con1, x + y <= 8)
@constraint(model, con2, -x + y <= 2)
@constraint(model, con3, x - y <= 4)
@constraint(model, x + y <= 8)
@constraint(model, -x + y <= 2)
@constraint(model, x - y <= 4)