Skip to content

EAGO configuration routine for COPT subsolver #129

@stumarcus314

Description

@stumarcus314

I get the message below when I try to set COPT as a subsolver for EAGO. The message states that a configuration routine needs to be added to EAGO in order to interface with COPT. COPT is an excellent LP & MILP solver (almost on par with Gurobi) and has a generous license, at least for now.
https://github.com/COPT-Public/COPT-Release
https://www.shanshu.ai/copt
https://github.com/COPT-Public/COPT.jl


using IntervalArithmetic; setrounding(Interval, :accurate)
using EAGO, COPT
eago_factory = () -> EAGO.Optimizer(SubSolvers(; r = COPT.Optimizer()))
model = Model(eago_factory)


$ julia create_model.jl
Number of pulses: 256.
Cardinal Optimizer v7.1.3. Build date Apr 29 2024
Copyright Cardinal Operations 2024. All Rights Reserved
Constructing deprecated model.

JuMP model construction time: 4.072189102 [s].
EAGO lacks a specialized configuration routine for the subsolver (COPT)
you selected. As a result, EAGO cannot set the subsolver tolerances based on the
absolute_tolerance, relative_tolerance, and absolute_constraint_feas_tolerance
parameters passed to the EAGO optimizer. Consequently, need to ensure that the tolerances
set in the provided subsolver are appropriate (for instance if the absolute_tolerance = 1E-3
then the absolute tolerance for a subsolver should be < 1E-4 and any feasibility tolerances
should be as conservative as the absolute_constraint_feas_tolerance). If you see this message
please submit an issue at https://github.com/PSORLab/EAGO.jl/issues/new/choose requesting
that a configuration routine be added for this subsolver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions