首页 > 解决方案 > 在 Julia v.1.1.1 中使用 CPLEX 求解器构建模型时如何定义 Gap?

问题描述

请您帮我如何在 Julia v.1.1.1 中使用 Gap 制作 CPLEX 模型?在我使用的之前的版本中

Tsp=Model(solver=CplexSolver(CPX_PARAM_EPGAP=0.00009))

但是新版本在模型运行时会出错。

Model(with_optimizer(CPLEX.Optimizer),CPX_PARAM_EPGAP=0.00009)
ERROR: MethodError: no method matching Model(; CPX_PARAM_EPGAP=9.0e-5)
Closest candidates are:
  Model(; caching_mode, solver) at C:\Users\admin\.juliapro\JuliaPro_v1.1.1.1\packages\JuMP\ibcEh\src\JuMP.jl:190 got unsupported keyword argument "CPX_PARAM_EPGAP"
  Model(::Dict{MathOptInterface.VariableIndex,MathOptInterface.ConstraintIndex{MathOptInterface.SingleVariable,MathOptInterface.GreaterThan{Float64}}}, ::Dict{MathOptInterface.VariableIndex,MathOptInterface.ConstraintIndex{MathOptInterface.SingleVariable,MathOptInterface.LessThan{Float64}}}, ::Dict{MathOptInterface.VariableIndex,MathOptInterface.ConstraintIndex{MathOptInterface.SingleVariable,MathOptInterface.EqualTo{Float64}}}, ::Dict{MathOptInterface.VariableIndex,MathOptInterface.ConstraintIndex{MathOptInterface.SingleVariable,MathOptInterface.Integer}}, ::Dict{MathOptInterface.VariableIndex,MathOptInterface.ConstraintIndex{MathOptInterface.SingleVariable,MathOptInterface.ZeroOne}}, ::MathOptInterface.AbstractOptimizer, ::Dict{MathOptInterface.ConstraintIndex,AbstractShape}, ::Set{Any}, ::Any, ::Any, ::Dict{Symbol,Any}, ::Int64, ::Dict{Symbol,Any}) at C:\Users\admin\.juliapro\JuliaPro_v1.1.1.1\packages\JuMP\ibcEh\src\JuMP.jl:146 got unsupported keyword argument "CPX_PARAM_EPGAP"
  Model(::OptimizerFactory; bridge_constraints, kwargs...) at C:\Users\admin\.juliapro\JuliaPro_v1.1.1.1\packages\JuMP\ibcEh\src\JuMP.jl:220
  ...
Stacktrace:
 [1] kwerr(::NamedTuple{(:CPX_PARAM_EPGAP,),Tuple{Float64}}, ::Type) at .\error.jl:125
 [2] (::getfield(Core, Symbol("#kw#Type")))(::NamedTuple{(:CPX_PARAM_EPGAP,),Tuple{Float64}}, ::Type{Model}) at .\none:0
 [3] #Model#7(::Bool, ::Base.Iterators.Pairs{Symbol,Float64,Tuple{Symbol},NamedTuple{(:CPX_PARAM_EPGAP,),Tuple{Float64}}}, ::Type, ::OptimizerFactory) at C:\Users\admin\.juliapro\JuliaPro_v1.1.1.1\packages\JuMP\ibcEh\src\JuMP.jl:220
 [4] (::getfield(Core, Symbol("#kw#Type")))(::NamedTuple{(:CPX_PARAM_EPGAP,),Tuple{Float64}}, ::Type{Model}, ::OptimizerFactory) at .\none:0

但它没有间隙地运行


Model(with_optimizer(CPLEX.Optimizer))
A JuMP Model
Feasibility problem with:
Variables: 0
Model mode: AUTOMATIC
CachingOptimizer state: EMPTY_OPTIMIZER
Solver name: CPLEX

非常感谢

它制作了 Tsp 模型。

Tsp=Model(with_optimizer(CPLEX.Optimizer,CPX_PARAM_EPGAP=0.00009))
A JuMP Model
Feasibility problem with:
Variables: 0
Model mode: AUTOMATIC
CachingOptimizer state: EMPTY_OPTIMIZER
Solver name: CPLEX

标签: julia

解决方案


你能试试这个:

Tsp = Model(with_optimizer(CPLEX.Optimizer, CPX_PARAM_EPGAP=0.00009)

推荐阅读