mirror of
https://github.com/ANL-CEEESA/MIPLearn.jl.git
synced 2025-12-06 08:28:52 -06:00
Remove hardcoded LP optimizer
This commit is contained in:
@@ -12,7 +12,7 @@ function __init_problems_tsp__()
|
||||
copy!(TravelingSalesmanGenerator, pyimport("miplearn.problems.tsp").TravelingSalesmanGenerator)
|
||||
end
|
||||
|
||||
function build_tsp_model_jump(data::Any; optimizer=HiGHS.Optimizer)
|
||||
function build_tsp_model_jump(data::Any; optimizer)
|
||||
nx = pyimport("networkx")
|
||||
|
||||
if data isa String
|
||||
@@ -65,6 +65,7 @@ function build_tsp_model_jump(data::Any; optimizer=HiGHS.Optimizer)
|
||||
model,
|
||||
lazy_enforce=lazy_enforce,
|
||||
lazy_separate=lazy_separate,
|
||||
lp_optimizer=optimizer,
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
@@ -18,15 +18,17 @@ Base.@kwdef mutable struct _JumpModelExtData
|
||||
cuts_separate::Union{Function,Nothing} = nothing
|
||||
lazy_enforce::Union{Function,Nothing} = nothing
|
||||
lazy_separate::Union{Function,Nothing} = nothing
|
||||
lp_optimizer
|
||||
end
|
||||
|
||||
function JuMP.copy_extension_data(
|
||||
::_JumpModelExtData,
|
||||
old_ext::_JumpModelExtData,
|
||||
new_model::AbstractModel,
|
||||
::AbstractModel,
|
||||
)
|
||||
# Do not transfer any extension data to the new model
|
||||
new_model.ext[:miplearn] = _JumpModelExtData()
|
||||
new_model.ext[:miplearn] = _JumpModelExtData(
|
||||
lp_optimizer=old_ext.lp_optimizer
|
||||
)
|
||||
end
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@@ -354,8 +356,7 @@ end
|
||||
function _relax(model::JuMP.Model)
|
||||
relaxed, _ = copy_model(model)
|
||||
relax_integrality(relaxed)
|
||||
# FIXME: Remove hardcoded optimizer
|
||||
set_optimizer(relaxed, HiGHS.Optimizer)
|
||||
set_optimizer(relaxed, model.ext[:miplearn].lp_optimizer)
|
||||
set_silent(relaxed)
|
||||
return relaxed
|
||||
end
|
||||
@@ -395,6 +396,7 @@ function __init_solvers_jump__()
|
||||
cuts_separate::Union{Function,Nothing}=nothing,
|
||||
lazy_enforce::Union{Function,Nothing}=nothing,
|
||||
lazy_separate::Union{Function,Nothing}=nothing,
|
||||
lp_optimizer=HiGHS.Optimizer,
|
||||
)
|
||||
self.inner = inner
|
||||
self.inner.ext[:miplearn] = _JumpModelExtData(
|
||||
@@ -402,6 +404,7 @@ function __init_solvers_jump__()
|
||||
cuts_separate=cuts_separate,
|
||||
lazy_enforce=lazy_enforce,
|
||||
lazy_separate=lazy_separate,
|
||||
lp_optimizer=lp_optimizer,
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user