Skip to content

Time limits are incorrect #12

@odow

Description

@odow

Bug setting time limits. We probably should set negative time limits?

julia> using JuMP, GLPK, ECOS, MOIPajarito, Test

julia> oa_solver = MOI.OptimizerWithAttributes(
           GLPK.Optimizer,
           MOI.Silent() => true,
           "tol_int" => 1e-9,
           "tol_bnd" => 1e-9,
           "mip_gap" => 1e-9,
       )
MathOptInterface.OptimizerWithAttributes(GLPK.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.Silent() => true, MathOptInterface.RawOptimizerAttribute("tol_int") => 1.0e-9, MathOptInterface.RawOptimizerAttribute("tol_bnd") => 1.0e-9, MathOptInterface.RawOptimizerAttribute("mip_gap") => 1.0e-9])

julia> conic_solver = MOI.OptimizerWithAttributes(ECOS.Optimizer, MOI.Silent() => true)
MathOptInterface.OptimizerWithAttributes(ECOS.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.Silent() => true])

julia> opt = JuMP.optimizer_with_attributes(
               MOIPajarito.Optimizer,
               "verbose" => false,
               "use_iterative_method" => false,
               "oa_solver" => oa_solver,
               "conic_solver" => conic_solver,
               "iteration_limit" => 100,
               "time_limit" => 5,
           )
MathOptInterface.OptimizerWithAttributes(MOIPajarito.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.RawOptimizerAttribute("verbose") => false, MathOptInterface.RawOptimizerAttribute("use_iterative_method") => false, MathOptInterface.RawOptimizerAttribute("oa_solver") => MathOptInterface.OptimizerWithAttributes(GLPK.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.Silent() => true, MathOptInterface.RawOptimizerAttribute("tol_int") => 1.0e-9, MathOptInterface.RawOptimizerAttribute("tol_bnd") => 1.0e-9, MathOptInterface.RawOptimizerAttribute("mip_gap") => 1.0e-9]), MathOptInterface.RawOptimizerAttribute("conic_solver") => MathOptInterface.OptimizerWithAttributes(ECOS.Optimizer, Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.Silent() => true]), MathOptInterface.RawOptimizerAttribute("iteration_limit") => 100, MathOptInterface.RawOptimizerAttribute("time_limit") => 5])

julia> TOL = 1e-4
0.0001

julia> m = JuMP.Model(opt)
A JuMP Model
Feasibility problem with:
Variables: 0
Model mode: AUTOMATIC
CachingOptimizer state: EMPTY_OPTIMIZER
Solver name: Pajarito

julia> JuMP.@variable(m, x)
x

julia> JuMP.@variable(m, y)
y

julia> JuMP.@variable(m, z, Int)
z

julia> JuMP.@constraint(m, z <= 2.5)
z  2.5

julia> JuMP.@objective(m, Min, x + 2y)
x + 2 y

julia> JuMP.@constraint(m, [z, x, y] in JuMP.SecondOrderCone())
[z, x, y]  MathOptInterface.SecondOrderCone(3)

julia> JuMP.set_integer(x)

julia> JuMP.optimize!(m)
glp_simplex: tm_lim = -1230; invalid parameter
Error detected in file draft/glpapi06.c at line 414

signal (6): Abort trap: 6
in expression starting at REPL[150]:1
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 101175376 (Pool: 101149083; Big: 26293); GC: 83
zsh: abort      ~/julia --project=ecos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions