jump-dev / AmplNLWriter.jl

A Julia interface to AMPL-enabled solvers
http://ampl.com/products/solvers/all-solvers-for-ampl/
MIT License
67 stars 18 forks source link

Add Uno_jll to MINLPTests #190

Closed odow closed 1 week ago

odow commented 2 weeks ago

This needs https://github.com/JuliaRegistries/General/pull/117429#issuecomment-2418073575

But there are bunch of other issues:

julia> using JuMP, AmplNLWriter, Uno_jll

julia> model = Model(() -> AmplNLWriter.Optimizer(Uno_jll.amplexe))
A JuMP Model
├ solver: AmplNLWriter
├ objective_sense: FEASIBILITY_SENSE
├ num_variables: 0
├ num_constraints: 0
└ Names registered in the model: none

julia> @variable(model, x)
x

julia> @objective(model, Min, (x - 1)^2)
x² - 2 x + 1

julia> optimize!(model)
libc++abi: terminating due to uncaught exception of type std::invalid_argument: The option file uno.options was not found

@cvanaret: is the options file compulsory? This doesn't align with other AMPL solvers.

So then I did

shell> touch uno.options

julia> optimize!(model)
Argument /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_hHVzvE/model.nl was ignored
libc++abi: terminating due to uncaught exception of type std::out_of_range: The option logger was not found

But it's not enough to have an empty file, you need the complete set of options

shell> wget https://raw.githubusercontent.com/cvanaret/Uno/refs/heads/main/uno.options
--2024-10-17 11:41:40--  https://raw.githubusercontent.com/cvanaret/Uno/refs/heads/main/uno.options
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5925 (5.8K) [text/plain]
Saving to: ‘uno.options.1’

uno.options.1                                      100%[================================================================================================================>]   5.79K  --.-KB/s    in 0s      

2024-10-17 11:41:41 (12.9 MB/s) - ‘uno.options.1’ saved [5925/5925]

shell> mv uno.options.1 uno.options

julia> optimize!(model)
Argument /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_DLkXt2/model.nl was ignored
can't open -AMPL.nl

and now this fails because the default action is to pass -AMPL:

https://github.com/jump-dev/AmplNLWriter.jl/blob/69220aff78bd769b164e960926a5947f568bff6d/src/AmplNLWriter.jl#L74

codecov[bot] commented 2 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.80%. Comparing base (bb82f27) to head (c0dc7fb). Report is 1 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #190 +/- ## ======================================= Coverage 98.80% 98.80% ======================================= Files 1 1 Lines 84 84 ======================================= Hits 83 83 Misses 1 1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

odow commented 2 weeks ago

Now I get

shell> curl https://raw.githubusercontent.com/cvanaret/Uno/refs/heads/main/uno.options -o uno.options
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5925  100  5925    0     0  14073      0 --:--:-- --:--:-- --:--:-- 14073

julia> Uno_jll.amplexe() do exe
       run(`$exe /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_hHVzvE/model.nl`)
       end
libc++abi: terminating due to uncaught exception of type std::invalid_argument: QP solver name is unknown
ERROR: failed process: Process(`/Users/oscar/.julia/artifacts/28075b1a85b0db25e0d15d3795f07627a1d27d43/bin/uno_ampl /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_hHVzvE/model.nl`, ProcessSignaled(6)) [0]

Stacktrace:
  [1] pipeline_error
    @ ./process.jl:565 [inlined]
  [2] run(::Cmd; wait::Bool)
    @ Base ./process.jl:480
  [3] run
    @ ./process.jl:477 [inlined]
  [4] (::var"#19#20")(exe::String)
    @ Main ./REPL[24]:2
  [5] (::JLLWrappers.var"#2#3"{var"#19#20", String})()
    @ JLLWrappers ~/.julia/packages/JLLWrappers/jXOYx/src/runtime.jl:49
  [6] withenv(::JLLWrappers.var"#2#3"{var"#19#20", String}, ::Pair{String, String}, ::Vararg{Pair{String, String}})
    @ Base ./env.jl:257
  [7] withenv_executable_wrapper(f::Function, executable_path::String, PATH::String, LIBPATH::String, adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ JLLWrappers ~/.julia/packages/JLLWrappers/jXOYx/src/runtime.jl:48
  [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
    @ Base ./essentials.jl:892
  [9] invokelatest(::Any, ::Any, ::Vararg{Any})
    @ Base ./essentials.jl:889
 [10] amplexe(f::Function; adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ Uno_jll ~/.julia/packages/JLLWrappers/jXOYx/src/products/executable_generators.jl:28
 [11] amplexe(f::Function)
    @ Uno_jll ~/.julia/packages/JLLWrappers/jXOYx/src/products/executable_generators.jl:25
 [12] top-level scope
    @ REPL[24]:1

shell> cat /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_hHVzvE/model.nl
g3 1 1 0
 1 0 1 0 0 0
 0 1
 0 0
 0 1 0
 0 0 0 1
 0 0 0 0 0
 0 1
 0 0
 0 0 0 0 0
O0 0
o0
n1
o2
v0
v0
x1
0 0
b
3
G0 1
0 -2
odow commented 2 weeks ago

I guess because

# default QP solver
QP_solver BQPD

# default LP solver
LP_solver BQPD

# default linear solver
linear_solver MA57

but we didn't compile with BQPD.

Shouldn't the options be some permissive default that depends on how we compiled?

odow commented 2 weeks ago

This PR is currently blocked by https://github.com/cvanaret/Uno/issues/29 --- I don't know how to write out a .sol file with the solution.

odow commented 2 weeks ago

So I've solved a problem:

julia> run(
           `curl https://raw.githubusercontent.com/cvanaret/Uno/refs/heads/main/uno.options -o uno.options`,
       )
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5983  100  5983    0     0  83097      0 --:--:-- --:--:-- --:--:-- 83097
Process(`curl https://raw.githubusercontent.com/cvanaret/Uno/refs/heads/main/uno.options -o uno.options`, ProcessExited(0))

julia> using JuMP, Uno_jll, AmplNLWriter

julia> struct UnoSolverCommand <: AmplNLWriter.AbstractSolverCommand end

julia> function AmplNLWriter.call_solver(
           solver::UnoSolverCommand,
           nl_filename::String,
           options::Vector{String},
           stdin::IO,
           stdout::IO,
       )
           Uno_jll.amplexe() do solver_path
               exec = String[solver_path]
               for o in options
                   k, v = split(o, '=')
                   push!(exec, "-$k")
                   push!(exec, v)
               end
               push!(exec, nl_filename)
               lbt_default_libs =
                   get(ENV, "LBT_DEFAULT_LIBS", AmplNLWriter._get_blas_loaded_libs())
               cmd = Cmd(exec)
               if !isempty(lbt_default_libs)
                   cmd = addenv(cmd, "LBT_DEFAULT_LIBS" => lbt_default_libs)
               end
               ret = run(pipeline(cmd; stdin = stdin, stdout = stdout))
               if ret.exitcode != 0
                   error("Nonzero exit code: $(ret.exitcode)")
               end
           end
           return replace(nl_filename, "model.nl" => "model.sol")
       end

julia> model = Model() do
           return AmplNLWriter.Optimizer(UnoSolverCommand())
       end
A JuMP Model
├ solver: AmplNLWriter
├ objective_sense: FEASIBILITY_SENSE
├ num_variables: 0
├ num_constraints: 0
└ Names registered in the model: none

julia> set_attribute(model, "preset", "ipopt")

julia> set_attribute(model, "linear_solver", "MUMPS")

julia> set_attribute(model, "print_solution", "yes")

julia> @variable(model, x)
x

julia> @objective(model, Min, (x - 1)^2)
x² - 2 x + 1

julia> optimize!(model)
Problem /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_4dkCab/model.nl_scaled_equalityconstrained_boundrelaxed
1 variables, 0 constraints

Options:
- LS_backtracking_ratio = 0.5
- LS_min_step_length = 5e-7
- LS_scale_duals_with_step_length = yes
- armijo_decrease_fraction = 1e-8
- armijo_tolerance = 1e-9
- barrier_damping_factor = 1e-5
- barrier_default_multiplier = 1
- barrier_initial_parameter = 0.1
- barrier_k_epsilon = 10
- barrier_k_mu = 0.2
- barrier_k_sigma = 1e10
- barrier_push_variable_to_interior_k1 = 1e-2
- barrier_push_variable_to_interior_k2 = 1e-2
- barrier_regularization_exponent = 0.25
- barrier_small_direction_factor = 10.
- barrier_tau_min = 0.99
- barrier_theta_mu = 1.5
- barrier_update_fraction = 10
- constraint_relaxation_strategy = feasibility_restoration
- dual_regularization_fraction = 1e-8
- filter_beta = 0.99999
- filter_capacity = 50
- filter_fact = 1e4
- filter_gamma = 1e-8
- filter_sufficient_infeasibility_decrease_factor = 0.9
- filter_type = standard
- filter_ubd = 1e4
- function_scaling_threshold = 100
- globalization_mechanism = LS
- globalization_strategy = waechter_filter_method
- l1_constraint_violation_coefficient = 1000.
- least_square_multiplier_max_norm = 1e3
- linear_solver = MUMPS
- logger = INFO
- loose_tolerance = 1e-6
- loose_tolerance_consecutive_iteration_threshold = 15
- max_iterations = 2000
- primal_regularization_decrease_factor = 3.
- primal_regularization_fast_increase_factor = 100.
- primal_regularization_initial_factor = 1e-4
- primal_regularization_lb = 1e-20
- primal_regularization_slow_increase_factor = 8.
- progress_norm = L1
- protect_actual_reduction_against_roundoff = yes
- regularization_failure_threshold = 1e40
- residual_norm = INF
- residual_scaling_threshold = 100.
- scale_functions = yes
- sparse_format = COO
- statistics_LS_step_length_column_order = 10
- statistics_barrier_parameter_column_order = 8
- statistics_complementarity_column_order = 105
- statistics_major_column_order = 1
- statistics_minor_column_order = 2
- statistics_objective_column_order = 100
- statistics_print_header_every_iterations = 15
- statistics_regularization_column_order = 21
- statistics_restoration_phase_column_order = 20
- statistics_stationarity_column_order = 104
- statistics_status_column_order = 200
- statistics_step_norm_column_order = 31
- subproblem = primal_dual_interior_point
- switch_to_optimality_requires_linearized_feasibility = no
- switching_delta = 1
- switching_infeasibility_exponent = 2
- threshold_unsuccessful_attempts = 8
- time_limit = inf
- tolerance = 1e-8
- unbounded_objective_threshold = -1e20
┌───────┬─────────┬────────────────┬─────────────┬───────┬────────────────┬──────────────┬─────────────┬──────────────┬─────────────────┬────────────────────────┐
│ iter  │ LS iter │ barrier param. │ step length │ phase │ regularization │ step norm    │ objective   │ stationarity │ complementarity │ status                 │
├───────┼─────────┼────────────────┼─────────────┼───────┼────────────────┼──────────────┼─────────────┼──────────────┼─────────────────┼────────────────────────┤
│ 0     │ -       │ -              │ -           │ OPT   │ -              │ -            │ 1           │ 2            │ 0               │ initial point          │
├───────┼─────────┼────────────────┼─────────────┼───────┼────────────────┼──────────────┼─────────────┼──────────────┼─────────────────┼────────────────────────┤
│ 1     │ 1       │ 0.1            │ 1           │ OPT   │ 0              │ 2            │ 1           │ -            │ -               │ rejected (f-type)      │
├───────┼─────────┼────────────────┼─────────────┼───────┼────────────────┼──────────────┼─────────────┼──────────────┼─────────────────┼────────────────────────┤
│ -     │ 2       │ -              │ 0.5         │ -     │ -              │ 1            │ 0           │ 0            │ 0               │ accepted (f-type)      │
└───────┴─────────┴────────────────┴─────────────┴───────┴────────────────┴──────────────┴─────────────┴──────────────┴─────────────────┴────────────────────────┘

Uno (LS feasibility_restoration waechter_filter_method primal_dual_interior_point)
Fri Oct 18 09:51:30 2024
────────────────────────────────────────
Status:                 Converged with feasible KKT point
Objective value:            0
Primal feasibility:         0
┌ Stationarity residual:        0
└ Complementarity residual:     0
┌ Feasibility stationarity residual:    0
└ Feasibility complementarity residual: 0
┌ Infeasibility measure:        0
│ Objective measure:            0
└ Auxiliary measure:            0
Primal solution:            1 
┌ Constraint multipliers:       
│ Lower bound multipliers:      0 
└ Upper bound multipliers:      0 
┌ Constraint feasibility multipliers:   
│ Lower bound feasibility multipliers:  0 
└ Upper bound feasibility multipliers:  0 
Objective multiplier:           1
CPU time:               0.001466s
Iterations:             1
Objective evaluations:          3
Constraints evaluations:        0
Objective gradient evaluations:     3
Jacobian evaluations:           0
Hessian evaluations:            1
Number of subproblems solved:       1
odow commented 2 weeks ago

Okay, we're now running, but there are a bunch of test failures:

Test Summary: | Pass  Fail  Error  Total  Time
nlp           |   11    77      4     92  3.4s
  nlp_001_010 |          6             6  1.5s
  nlp_002_010 |    1     4             5  0.1s
  nlp_003_010 |          5             5  0.1s
  nlp_003_011 |          5             5  0.1s
  nlp_003_012 |          5             5  0.1s
  nlp_003_013 |          5             5  0.1s
  nlp_003_014 |          5             5  0.1s
  nlp_003_015 |          5             5  0.1s
  nlp_003_016 |          5             5  0.1s
  nlp_004_010 |          6             6  0.1s
  nlp_004_011 |          6             6  0.1s
  nlp_005_010 |          2      3      5  0.2s
  nlp_006_010 |                 1      1  0.0s
  nlp_007_010 |          2             2  0.1s
  nlp_008_010 |    1     8             9  0.2s
  nlp_008_011 |    1     8             9  0.1s
  nlp_009_010 |    4                   4  0.1s
  nlp_009_011 |    4                   4  0.1s
ERROR: Some tests did not pass: 11 passed, 77 failed, 4 errored, 0 broken.

I'll find some MWE.

odow commented 2 weeks ago

This is currently blocked by https://github.com/cvanaret/Uno/issues/34

odow commented 2 weeks ago

The build that failed had image

Uno_jll doesn't have a compat on MUMPS, so we are pulling in a version that is older than the one we compiled with: https://github.com/JuliaBinaryWrappers/Uno_jll.jl/blob/64de37c28b1a5e36c642e5ff87b845110a83f313/Project.toml#L8-L22

cc @amontoison

odow commented 2 weeks ago

Success

image

amontoison commented 2 weeks ago

We just need to recompile Ipopt with the new version of MUMPS. I can do that tonight.

odow commented 2 weeks ago

We just need to recompile Ipopt with the new version of MUMPS

No, that's not the issue. We were pining and older versions of Ipopt_jll in these tests, so it was pulling in an older MUMPS_seq_jll. We need a compat bound for MUMPS and METIS in Uno_jll.jl

amontoison commented 2 weeks ago

Don't we have a compat helper workflow in this repository? It will be great uf it can open a new PR and we have a new version of the JLL.

odow commented 2 weeks ago

I don't like CompatHelper. And it was in the test/MINLPTests/Project.toml, so that wouldn't have helped.

It's not really an issue for AmplNLWriter, but a much bigger Yggdrasil issue: we need compat bounds for all dependencies.

odow commented 2 weeks ago

Merging is currently blocked by:

but we're in a fairly good state. We can call and solve a good bunch of primal problems (users just need to set some additional options). The dual sign issue is a blocking bug though.

amontoison commented 1 week ago

I have 128 fails and 2 errors when I use the official HSL_jll.jl:

Test Summary:                                                                    | Pass  Fail  Error  Total      Time
MOI_wrapper                                                                      | 7278   128      2   7408  14m51.1s
  test_AbstractSolverCommand                                                     |    1                   1      0.4s
  test_abstractoptimizer                                                         |    1                   1      1.3s
  test_bad_string                                                                |    2                   2      8.4s
  test_directory                                                                 |    2                   2      7.4s
  test_function_constant_nonzero                                                 |    2                   2      2.0s
  test_io                                                                        |    1                   1      0.6s
  test_name                                                                      |    2                   2      0.0s
  test_nlpblockdual                                                              |    2                   2      1.9s
  test_no_sol_file                                                               |    2                   2      0.2s
  test_raw_parameter                                                             |    3                   3      0.1s
  test_runtests                                                                  | 3681                3681  13m32.0s
  test_show                                                                      |    1                   1      0.1s
  test_single_variable_interval_dual                                             |    2                   2      0.6s
  test_solve_time                                                                |    2                   2      0.8s
  test_solver_name                                                               |    1                   1      0.0s
  test_supports_incremental_interface                                            |    1                   1      0.0s
  test_AbstractSolverCommand                                                     |    1                   1      0.1s
  test_abstractoptimizer                                                         |    1                   1      0.0s
  test_bad_string                                                                |    2                   2      0.1s
  test_directory                                                                 |    2                   2      0.2s
  test_function_constant_nonzero                                                 |    2                   2      0.2s
  test_io                                                                        |                        0      0.0s
  test_name                                                                      |    2                   2      0.0s
  test_nlpblockdual                                                              |    1     1             2      4.1s
  test_no_sol_file                                                               |          2             2      0.4s
  test_raw_parameter                                                             |                        0      0.0s
  test_runtests                                                                  | 3556   123      2   3681     45.5s
    test_HermitianPSDCone_basic                                                  |                        0      0.0s
    test_HermitianPSDCone_min_t                                                  |                        0      0.0s
    test_NormNuclearCone_VectorAffineFunction_with_transform                     |                        0      0.0s
    test_NormNuclearCone_VectorAffineFunction_without_transform                  |                        0      0.0s
    test_NormNuclearCone_VectorOfVariables_with_transform                        |                        0      0.0s
    test_NormNuclearCone_VectorOfVariables_without_transform                     |                        0      0.0s
    test_NormSpectralCone_VectorAffineFunction_with_transform                    |                        0      0.0s
    test_NormSpectralCone_VectorAffineFunction_without_transform                 |                        0      0.0s
    test_NormSpectralCone_VectorOfVariables_with_transform                       |                        0      0.0s
    test_NormSpectralCone_VectorOfVariables_without_transform                    |                        0      0.0s
    test_add_constrained_variables_vector                                        |    6                   6      0.0s
    test_add_parameter                                                           |    7                   7      0.0s
    test_attribute_AbsoluteGapTolerance                                          |                        0      0.0s
    test_attribute_NumberThreads                                                 |                        0      0.0s
    test_attribute_ObjectiveLimit                                                |                        0      0.0s
    test_attribute_RawStatusString                                               |    1                   1      0.3s
    test_attribute_RelativeGapTolerance                                          |                        0      0.0s
    test_attribute_Silent                                                        |                        0      0.0s
    test_attribute_SolutionLimit                                                 |                        0      0.0s
    test_attribute_SolveTimeSec                                                  |    2                   2      0.2s
    test_attribute_SolverName                                                    |    1                   1      0.0s
    test_attribute_TimeLimitSec                                                  |                        0      0.0s
    test_attribute_after_empty                                                   |                        0      0.0s
    test_attribute_unsupported_constraint                                        |    2                   2      0.0s
    test_basic_ScalarAffineFunction_EqualTo                                      |   24                  24      0.1s
    test_basic_ScalarAffineFunction_GreaterThan                                  |   24                  24      0.1s
    test_basic_ScalarAffineFunction_Interval                                     |   24                  24      0.0s
    test_basic_ScalarAffineFunction_LessThan                                     |   24                  24      0.0s
    test_basic_ScalarAffineFunction_Semicontinuous                               |   24                  24      0.1s
    test_basic_ScalarAffineFunction_Semiinteger                                  |   24                  24      0.0s
    test_basic_ScalarAffineFunction_ZeroOne                                      |   24                  24      0.1s
    test_basic_ScalarNonlinearFunction_EqualTo                                   |   23                  23      0.0s
    test_basic_ScalarNonlinearFunction_GreaterThan                               |   23                  23      0.0s
    test_basic_ScalarNonlinearFunction_Interval                                  |   23                  23      0.1s
    test_basic_ScalarNonlinearFunction_LessThan                                  |   23                  23      0.0s
    test_basic_ScalarNonlinearFunction_Semicontinuous                            |   23                  23      0.0s
    test_basic_ScalarNonlinearFunction_Semiinteger                               |   23                  23      0.0s
    test_basic_ScalarNonlinearFunction_ZeroOne                                   |   23                  23      0.0s
    test_basic_ScalarQuadraticFunction_EqualTo                                   |   24                  24      0.1s
    test_basic_ScalarQuadraticFunction_GreaterThan                               |   24                  24      0.0s
    test_basic_ScalarQuadraticFunction_Interval                                  |   24                  24      0.1s
    test_basic_ScalarQuadraticFunction_LessThan                                  |   24                  24      0.1s
    test_basic_ScalarQuadraticFunction_Semicontinuous                            |   24                  24      0.0s
    test_basic_ScalarQuadraticFunction_Semiinteger                               |   24                  24      0.0s
    test_basic_ScalarQuadraticFunction_ZeroOne                                   |   24                  24      0.1s
    test_basic_VariableIndex_EqualTo                                             |   18                  18      0.0s
    test_basic_VariableIndex_GreaterThan                                         |   18                  18      0.0s
    test_basic_VariableIndex_Interval                                            |   18                  18      0.0s
    test_basic_VariableIndex_LessThan                                            |   18                  18      0.0s
    test_basic_VariableIndex_Semicontinuous                                      |   18                  18      0.1s
    test_basic_VariableIndex_Semiinteger                                         |   18                  18      0.0s
    test_basic_VariableIndex_ZeroOne                                             |   18                  18      0.0s
    test_basic_VectorAffineFunction_AllDifferent                                 |   24                  24      0.0s
    test_basic_VectorAffineFunction_BinPacking                                   |   24                  24      0.0s
    test_basic_VectorAffineFunction_Circuit                                      |   24                  24      0.0s
    test_basic_VectorAffineFunction_Complements                                  |                        0      0.0s
    test_basic_VectorAffineFunction_CountAtLeast                                 |   24                  24      0.0s
    test_basic_VectorAffineFunction_CountBelongs                                 |   24                  24      0.1s
    test_basic_VectorAffineFunction_CountDistinct                                |   24                  24      0.0s
    test_basic_VectorAffineFunction_CountGreaterThan                             |   24                  24      0.0s
    test_basic_VectorAffineFunction_Cumulative                                   |                        0      0.0s
    test_basic_VectorAffineFunction_DualExponentialCone                          |                        0      0.0s
    test_basic_VectorAffineFunction_DualPowerCone                                |                        0      0.0s
    test_basic_VectorAffineFunction_ExponentialCone                              |                        0      0.0s
    test_basic_VectorAffineFunction_GeometricMeanCone                            |                        0      0.0s
    test_basic_VectorAffineFunction_HermitianPositiveSemidefiniteConeTriangle    |                        0      0.0s
    test_basic_VectorAffineFunction_HyperRectangle                               |   24                  24      0.0s
    test_basic_VectorAffineFunction_LogDetConeSquare                             |                        0      0.0s
    test_basic_VectorAffineFunction_LogDetConeTriangle                           |                        0      0.0s
    test_basic_VectorAffineFunction_Nonnegatives                                 |   24                  24      0.0s
    test_basic_VectorAffineFunction_Nonpositives                                 |   24                  24      0.0s
    test_basic_VectorAffineFunction_NormCone                                     |                        0      0.0s
    test_basic_VectorAffineFunction_NormInfinityCone                             |   24                  24      0.1s
    test_basic_VectorAffineFunction_NormNuclearCone                              |                        0      0.0s
    test_basic_VectorAffineFunction_NormOneCone                                  |   24                  24      0.0s
    test_basic_VectorAffineFunction_NormSpectralCone                             |                        0      0.0s
    test_basic_VectorAffineFunction_Path                                         |                        0      0.0s
    test_basic_VectorAffineFunction_PositiveSemidefiniteConeSquare               |                        0      0.0s
    test_basic_VectorAffineFunction_PositiveSemidefiniteConeTriangle             |                        0      0.0s
    test_basic_VectorAffineFunction_PowerCone                                    |                        0      0.0s
    test_basic_VectorAffineFunction_RelativeEntropyCone                          |                        0      0.0s
    test_basic_VectorAffineFunction_RootDetConeSquare                            |                        0      0.0s
    test_basic_VectorAffineFunction_RootDetConeTriangle                          |                        0      0.0s
    test_basic_VectorAffineFunction_RotatedSecondOrderCone                       |                        0      0.0s
    test_basic_VectorAffineFunction_SOS1                                         |   24                  24      0.0s
    test_basic_VectorAffineFunction_SOS2                                         |   24                  24      0.0s
    test_basic_VectorAffineFunction_ScaledPositiveSemidefiniteConeTriangle       |                        0      0.0s
    test_basic_VectorAffineFunction_SecondOrderCone                              |                        0      0.0s
    test_basic_VectorAffineFunction_Table                                        |   24                  24      0.0s
    test_basic_VectorAffineFunction_Zeros                                        |   24                  24      0.1s
    test_basic_VectorNonlinearFunction_AllDifferent                              |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_BinPacking                                |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_Circuit                                   |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_Complements                               |                        0      0.0s
    test_basic_VectorNonlinearFunction_CountAtLeast                              |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_CountBelongs                              |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_CountDistinct                             |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_CountGreaterThan                          |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_Cumulative                                |                        0      0.0s
    test_basic_VectorNonlinearFunction_DualExponentialCone                       |                        0      0.1s
    test_basic_VectorNonlinearFunction_DualPowerCone                             |                        0      0.0s
    test_basic_VectorNonlinearFunction_ExponentialCone                           |                        0      0.0s
    test_basic_VectorNonlinearFunction_GeometricMeanCone                         |                        0      0.0s
    test_basic_VectorNonlinearFunction_HermitianPositiveSemidefiniteConeTriangle |                        0      0.0s
    test_basic_VectorNonlinearFunction_HyperRectangle                            |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_LogDetConeSquare                          |                        0      0.0s
    test_basic_VectorNonlinearFunction_LogDetConeTriangle                        |                        0      0.0s
    test_basic_VectorNonlinearFunction_Nonnegatives                              |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_Nonpositives                              |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_NormCone                                  |                        0      0.0s
    test_basic_VectorNonlinearFunction_NormInfinityCone                          |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_NormNuclearCone                           |                        0      0.0s
    test_basic_VectorNonlinearFunction_NormOneCone                               |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_NormSpectralCone                          |                        0      0.0s
    test_basic_VectorNonlinearFunction_Path                                      |                        0      0.0s
    test_basic_VectorNonlinearFunction_PositiveSemidefiniteConeSquare            |                        0      0.0s
    test_basic_VectorNonlinearFunction_PositiveSemidefiniteConeTriangle          |                        0      0.0s
    test_basic_VectorNonlinearFunction_PowerCone                                 |                        0      0.0s
    test_basic_VectorNonlinearFunction_RelativeEntropyCone                       |                        0      0.0s
    test_basic_VectorNonlinearFunction_RootDetConeSquare                         |                        0      0.0s
    test_basic_VectorNonlinearFunction_RootDetConeTriangle                       |                        0      0.0s
    test_basic_VectorNonlinearFunction_RotatedSecondOrderCone                    |                        0      0.0s
    test_basic_VectorNonlinearFunction_SOS1                                      |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_SOS2                                      |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_ScaledPositiveSemidefiniteConeTriangle    |                        0      0.0s
    test_basic_VectorNonlinearFunction_SecondOrderCone                           |                        0      0.0s
    test_basic_VectorNonlinearFunction_Table                                     |   23                  23      0.0s
    test_basic_VectorNonlinearFunction_Zeros                                     |   23                  23      0.0s
    test_basic_VectorOfVariables_AllDifferent                                    |   20                  20      0.0s
    test_basic_VectorOfVariables_BinPacking                                      |   20                  20      0.0s
    test_basic_VectorOfVariables_Circuit                                         |   20                  20      0.1s
    test_basic_VectorOfVariables_Complements                                     |                        0      0.0s
    test_basic_VectorOfVariables_CountAtLeast                                    |   20                  20      0.0s
    test_basic_VectorOfVariables_CountBelongs                                    |   20                  20      0.0s
    test_basic_VectorOfVariables_CountDistinct                                   |   20                  20      0.0s
    test_basic_VectorOfVariables_CountGreaterThan                                |   20                  20      0.0s
    test_basic_VectorOfVariables_Cumulative                                      |                        0      0.0s
    test_basic_VectorOfVariables_DualExponentialCone                             |                        0      0.0s
    test_basic_VectorOfVariables_DualPowerCone                                   |                        0      0.0s
    test_basic_VectorOfVariables_ExponentialCone                                 |                        0      0.0s
    test_basic_VectorOfVariables_GeometricMeanCone                               |                        0      0.0s
    test_basic_VectorOfVariables_HermitianPositiveSemidefiniteConeTriangle       |                        0      0.0s
    test_basic_VectorOfVariables_HyperRectangle                                  |   20                  20      0.0s
    test_basic_VectorOfVariables_LogDetConeSquare                                |                        0      0.0s
    test_basic_VectorOfVariables_LogDetConeTriangle                              |                        0      0.0s
    test_basic_VectorOfVariables_Nonnegatives                                    |   20                  20      0.1s
    test_basic_VectorOfVariables_Nonpositives                                    |   20                  20      0.0s
    test_basic_VectorOfVariables_NormCone                                        |                        0      0.0s
    test_basic_VectorOfVariables_NormInfinityCone                                |   20                  20      0.0s
    test_basic_VectorOfVariables_NormNuclearCone                                 |                        0      0.0s
    test_basic_VectorOfVariables_NormOneCone                                     |   20                  20      0.0s
    test_basic_VectorOfVariables_NormSpectralCone                                |                        0      0.0s
    test_basic_VectorOfVariables_Path                                            |                        0      0.0s
    test_basic_VectorOfVariables_PositiveSemidefiniteConeSquare                  |                        0      0.0s
    test_basic_VectorOfVariables_PositiveSemidefiniteConeTriangle                |                        0      0.0s
    test_basic_VectorOfVariables_PowerCone                                       |                        0      0.0s
    test_basic_VectorOfVariables_RelativeEntropyCone                             |                        0      0.0s
    test_basic_VectorOfVariables_RootDetConeSquare                               |                        0      0.0s
    test_basic_VectorOfVariables_RootDetConeTriangle                             |                        0      0.0s
    test_basic_VectorOfVariables_RotatedSecondOrderCone                          |                        0      0.0s
    test_basic_VectorOfVariables_SOS1                                            |   20                  20      0.0s
    test_basic_VectorOfVariables_SOS2                                            |   20                  20      0.0s
    test_basic_VectorOfVariables_ScaledPositiveSemidefiniteConeTriangle          |                        0      0.0s
    test_basic_VectorOfVariables_SecondOrderCone                                 |                        0      0.0s
    test_basic_VectorOfVariables_Table                                           |   20                  20      0.0s
    test_basic_VectorOfVariables_Zeros                                           |   20                  20      0.0s
    test_basic_VectorQuadraticFunction_AllDifferent                              |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_BinPacking                                |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_Circuit                                   |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_Complements                               |                        0      0.0s
    test_basic_VectorQuadraticFunction_CountAtLeast                              |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_CountBelongs                              |   24                  24      0.1s
    test_basic_VectorQuadraticFunction_CountDistinct                             |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_CountGreaterThan                          |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_Cumulative                                |                        0      0.0s
    test_basic_VectorQuadraticFunction_DualExponentialCone                       |                        0      0.0s
    test_basic_VectorQuadraticFunction_DualPowerCone                             |                        0      0.0s
    test_basic_VectorQuadraticFunction_ExponentialCone                           |                        0      0.0s
    test_basic_VectorQuadraticFunction_GeometricMeanCone                         |                        0      0.0s
    test_basic_VectorQuadraticFunction_HermitianPositiveSemidefiniteConeTriangle |                        0      0.0s
    test_basic_VectorQuadraticFunction_HyperRectangle                            |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_LogDetConeSquare                          |                        0      0.0s
    test_basic_VectorQuadraticFunction_LogDetConeTriangle                        |                        0      0.0s
    test_basic_VectorQuadraticFunction_Nonnegatives                              |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_Nonpositives                              |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_NormCone                                  |                        0      0.0s
    test_basic_VectorQuadraticFunction_NormInfinityCone                          |   24                  24      0.1s
    test_basic_VectorQuadraticFunction_NormNuclearCone                           |                        0      0.0s
    test_basic_VectorQuadraticFunction_NormOneCone                               |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_NormSpectralCone                          |                        0      0.0s
    test_basic_VectorQuadraticFunction_Path                                      |                        0      0.0s
    test_basic_VectorQuadraticFunction_PositiveSemidefiniteConeSquare            |                        0      0.0s
    test_basic_VectorQuadraticFunction_PositiveSemidefiniteConeTriangle          |                        0      0.0s
    test_basic_VectorQuadraticFunction_PowerCone                                 |                        0      0.0s
    test_basic_VectorQuadraticFunction_RelativeEntropyCone                       |                        0      0.0s
    test_basic_VectorQuadraticFunction_RootDetConeSquare                         |                        0      0.0s
    test_basic_VectorQuadraticFunction_RootDetConeTriangle                       |                        0      0.0s
    test_basic_VectorQuadraticFunction_RotatedSecondOrderCone                    |                        0      0.0s
    test_basic_VectorQuadraticFunction_SOS1                                      |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_SOS2                                      |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_ScaledPositiveSemidefiniteConeTriangle    |                        0      0.0s
    test_basic_VectorQuadraticFunction_SecondOrderCone                           |                        0      0.0s
    test_basic_VectorQuadraticFunction_Table                                     |   24                  24      0.0s
    test_basic_VectorQuadraticFunction_Zeros                                     |   24                  24      0.1s
    test_conic_DualExponentialCone_VectorAffineFunction                          |                        0      0.0s
    test_conic_DualExponentialCone_VectorOfVariables                             |                        0      0.0s
    test_conic_DualPowerCone_VectorAffineFunction                                |                        0      0.0s
    test_conic_DualPowerCone_VectorOfVariables                                   |                        0      0.0s
    test_conic_Exponential_VectorAffineFunction                                  |                        0      0.0s
    test_conic_Exponential_VectorOfVariables                                     |                        0      0.0s
    test_conic_Exponential_hard                                                  |                        0      0.0s
    test_conic_Exponential_hard_2                                                |                        0      0.0s
    test_conic_GeometricMeanCone_VectorAffineFunction                            |                        0      0.0s
    test_conic_GeometricMeanCone_VectorAffineFunction_2                          |                        0      0.0s
    test_conic_GeometricMeanCone_VectorAffineFunction_3                          |                        0      0.0s
    test_conic_GeometricMeanCone_VectorOfVariables                               |                        0      0.0s
    test_conic_GeometricMeanCone_VectorOfVariables_2                             |                        0      0.0s
    test_conic_GeometricMeanCone_VectorOfVariables_3                             |                        0      0.0s
    test_conic_HermitianPositiveSemidefiniteConeTriangle_1                       |                        0      0.0s
    test_conic_HermitianPositiveSemidefiniteConeTriangle_2                       |                        0      0.0s
    test_conic_LogDetConeSquare                                                  |                        0      0.0s
    test_conic_LogDetConeSquare_VectorAffineFunction                             |                        0      0.0s
    test_conic_LogDetConeSquare_VectorOfVariables                                |                        0      0.0s
    test_conic_LogDetConeTriangle                                                |                        0      0.0s
    test_conic_LogDetConeTriangle_VectorAffineFunction                           |                        0      0.0s
    test_conic_LogDetConeTriangle_VectorOfVariables                              |                        0      0.0s
    test_conic_NormCone                                                          |                        0      0.0s
    test_conic_NormInfinityCone_3                                                |   15     3            18      0.4s
    test_conic_NormInfinityCone_VectorAffineFunction                             |   20                  20      0.2s
    test_conic_NormInfinityCone_VectorOfVariables                                |   20                  20      0.2s
    test_conic_NormNuclearCone                                                   |                        0      0.0s
    test_conic_NormNuclearCone_2                                                 |                        0      0.0s
    test_conic_NormOneCone                                                       |   15     2            17      0.2s
    test_conic_NormOneCone_VectorAffineFunction                                  |   20                  20      0.2s
    test_conic_NormOneCone_VectorOfVariables                                     |   20                  20      0.2s
    test_conic_NormSpectralCone                                                  |                        0      0.0s
    test_conic_NormSpectralCone_2                                                |                        0      0.0s
    test_conic_PositiveSemidefiniteConeSquare_3                                  |                        0      0.0s
    test_conic_PositiveSemidefiniteConeSquare_VectorAffineFunction               |                        0      0.0s
    test_conic_PositiveSemidefiniteConeSquare_VectorAffineFunction_2             |                        0      0.0s
    test_conic_PositiveSemidefiniteConeSquare_VectorOfVariables                  |                        0      0.0s
    test_conic_PositiveSemidefiniteConeSquare_VectorOfVariables_2                |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle                                  |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle_3                                |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle_VectorAffineFunction             |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle_VectorAffineFunction_2           |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle_VectorOfVariables                |                        0      0.0s
    test_conic_PositiveSemidefiniteConeTriangle_VectorOfVariables_2              |                        0      0.0s
    test_conic_PowerCone_VectorAffineFunction                                    |                        0      0.0s
    test_conic_PowerCone_VectorOfVariables                                       |                        0      0.0s
    test_conic_RelativeEntropyCone                                               |                        0      0.0s
    test_conic_RootDetConeSquare                                                 |                        0      0.0s
    test_conic_RootDetConeSquare_VectorAffineFunction                            |                        0      0.0s
    test_conic_RootDetConeSquare_VectorOfVariables                               |                        0      0.0s
    test_conic_RootDetConeTriangle                                               |                        0      0.0s
    test_conic_RootDetConeTriangle_VectorAffineFunction                          |                        0      0.0s
    test_conic_RootDetConeTriangle_VectorOfVariables                             |                        0      0.0s
    test_conic_RotatedSecondOrderCone_INFEASIBLE                                 |                        0      0.0s
    test_conic_RotatedSecondOrderCone_INFEASIBLE_2                               |                        0      0.0s
    test_conic_RotatedSecondOrderCone_VectorAffineFunction                       |                        0      0.0s
    test_conic_RotatedSecondOrderCone_VectorOfVariables                          |                        0      0.0s
    test_conic_RotatedSecondOrderCone_out_of_order                               |                        0      0.0s
    test_conic_ScaledPositiveSemidefiniteConeTriangle_VectorAffineFunction       |                        0      0.0s
    test_conic_SecondOrderCone_INFEASIBLE                                        |                        0      0.0s
    test_conic_SecondOrderCone_Nonnegatives                                      |                        0      0.0s
    test_conic_SecondOrderCone_Nonpositives                                      |                        0      0.0s
    test_conic_SecondOrderCone_VectorAffineFunction                              |                        0      0.0s
    test_conic_SecondOrderCone_VectorOfVariables                                 |                        0      0.0s
    test_conic_SecondOrderCone_negative_initial_bound                            |                        0      0.0s
    test_conic_SecondOrderCone_negative_post_bound                               |                        0      0.0s
    test_conic_SecondOrderCone_negative_post_bound_2                             |                        0      0.0s
    test_conic_SecondOrderCone_negative_post_bound_3                             |                        0      0.0s
    test_conic_SecondOrderCone_no_initial_bound                                  |                        0      0.0s
    test_conic_SecondOrderCone_nonnegative_initial_bound                         |                        0      0.0s
    test_conic_SecondOrderCone_nonnegative_post_bound                            |                        0      0.1s
    test_conic_SecondOrderCone_out_of_order                                      |                        0      0.0s
    test_conic_empty_matrix                                                      |                        0      0.0s
    test_conic_linear_INFEASIBLE                                                 |    3     1             4      0.4s
    test_conic_linear_INFEASIBLE_2                                               |    3     1             4      0.2s
    test_conic_linear_VectorAffineFunction                                       |   15     2            17      0.2s
    test_conic_linear_VectorAffineFunction_2                                     |   22     2            24      0.2s
    test_conic_linear_VectorOfVariables                                          |   15     2            17      0.2s
    test_constraint_ConstraintDualStart                                          |                        0      0.0s
    test_constraint_ConstraintPrimalStart                                        |                        0      0.0s
    test_constraint_PrimalStart_DualStart_SecondOrderCone                        |                        0      0.0s
    test_constraint_ScalarAffineFunction_EqualTo                                 |    7     1             8      0.4s
    test_constraint_ScalarAffineFunction_GreaterThan                             |    7     1             8      0.2s
    test_constraint_ScalarAffineFunction_Interval                                |    8                   8      0.2s
    test_constraint_ScalarAffineFunction_LessThan                                |    8                   8      0.2s
    test_constraint_ScalarAffineFunction_duplicate                               |    8                   8      0.2s
    test_constraint_VectorAffineFunction_duplicate                               |    8                   8      0.2s
    test_constraint_get_ConstraintIndex                                          |    7                   7      0.0s
    test_constraint_qcp_duplicate_diagonal                                       |    7                   7      0.2s
    test_constraint_qcp_duplicate_off_diagonal                                   |    7                   7      0.2s
    test_infeasible_MAX_SENSE                                                    |                        0      0.2s
    test_infeasible_MAX_SENSE_offset                                             |                        0      0.2s
    test_infeasible_MIN_SENSE                                                    |                        0      0.2s
    test_infeasible_MIN_SENSE_offset                                             |                        0      0.2s
    test_infeasible_affine_MAX_SENSE                                             |                        0      0.2s
    test_infeasible_affine_MAX_SENSE_offset                                      |                        0      0.2s
    test_infeasible_affine_MIN_SENSE                                             |                        0      0.2s
    test_infeasible_affine_MIN_SENSE_offset                                      |                        0      0.2s
    test_linear_DUAL_INFEASIBLE                                                  |    4                   4      0.2s
    test_linear_DUAL_INFEASIBLE_2                                                |    4                   4      0.2s
    test_linear_FEASIBILITY_SENSE                                                |   12                  12      0.2s
    test_linear_HyperRectangle_VectorAffineFunction                              |    2                   2      0.6s
    test_linear_HyperRectangle_VectorOfVariables                                 |    2                   2      0.4s
    test_linear_INFEASIBLE                                                       |    3     1             4      0.4s
    test_linear_INFEASIBLE_2                                                     |    3     1             4      0.2s
    test_linear_Interval_inactive                                                |   10     2            12      0.2s
    test_linear_LessThan_and_GreaterThan                                         |   16                  16      0.7s
    test_linear_SOS1_integration                                                 |   14     3      2     19      1.8s
    test_linear_VariablePrimalStart_partial                                      |    5                   5      0.2s
    test_linear_VectorAffineFunction                                             |   16                  16      0.8s
    test_linear_VectorAffineFunction_empty_row                                   |    7                   7      0.3s
    test_linear_add_constraints                                                  |    8                   8      0.3s
    test_linear_complex_Zeros                                                    |    7                   7      0.2s
    test_linear_complex_Zeros_duplicate                                          |    7                   7      0.2s
    test_linear_inactive_bounds                                                  |   20                  20      0.5s
    test_linear_integration                                                      |   80    30           110      2.4s
    test_linear_integration_2                                                    |   16     2            18      0.3s
    test_linear_integration_Interval                                             |   30     2            32      1.0s
    test_linear_integration_delete_variables                                     |   31     2            33      0.4s
    test_linear_integration_modification                                         |   22                  22      0.9s
    test_linear_modify_GreaterThan_and_LessThan_constraints                      |   28                  28      0.7s
    test_linear_open_intervals                                                   |    1                   1      0.2s
    test_linear_transform                                                        |   10                  10      0.5s
    test_linear_variable_open_intervals                                          |    1                   1      0.2s
    test_model_ListOfConstraintAttributesSet                                     |    2                   2      0.0s
    test_model_ListOfConstraintsWithAttributeSet                                 |    1                   1      0.0s
    test_model_ListOfVariablesWithAttributeSet                                   |    1                   1      0.0s
    test_model_LowerBoundAlreadySet                                              |    4                   4      0.0s
    test_model_ModelFilter_AbstractConstraintAttribute                           |                        0      0.0s
    test_model_ModelFilter_AbstractModelAttribute                                |    1                   1      0.0s
    test_model_ModelFilter_AbstractVariableAttribute                             |    2                   2      0.0s
    test_model_ModelFilter_ListOfConstraintIndices                               |   10                  10      0.0s
    test_model_ModelFilter_ListOfConstraintTypesPresent                          |    3                   3      0.0s
    test_model_Name                                                              |    7                   7      0.0s
    test_model_Name_VariableName_ConstraintName                                  |   72                  72      0.0s
    test_model_ScalarAffineFunction_ConstraintName                               |    5                   5      0.0s
    test_model_ScalarFunctionConstantNotZero                                     |    2                   2      0.0s
    test_model_UpperBoundAlreadySet                                              |    4                   4      0.0s
    test_model_VariableIndex_ConstraintName                                      |    1                   1      0.0s
    test_model_VariableName                                                      |    6                   6      0.0s
    test_model_VariablePrimalStart                                               |    3                   3      0.0s
    test_model_default_DualStatus                                                |    1                   1      0.0s
    test_model_default_ObjectiveSense                                            |    1                   1      0.0s
    test_model_default_PrimalStatus                                              |    1                   1      0.0s
    test_model_default_TerminationStatus                                         |    1                   1      0.0s
    test_model_delete                                                            |   64                  64      0.0s
    test_model_duplicate_ScalarAffineFunction_ConstraintName                     |    6                   6      0.0s
    test_model_duplicate_VariableName                                            |    6                   6      0.0s
    test_model_empty                                                             |    3                   3      0.0s
    test_model_is_valid                                                          |    9                   9      0.0s
    test_model_ordered_indices                                                   |   12                  12      0.0s
    test_model_show                                                              |    1                   1      0.0s
    test_model_supports_constraint_ScalarAffineFunction_EqualTo                  |    1                   1      0.0s
    test_model_supports_constraint_VariableIndex_EqualTo                         |    2                   2      0.0s
    test_model_supports_constraint_VectorOfVariables_Nonnegatives                |    2                   2      0.0s
    test_modification_affine_deletion_edge_cases                                 |   24                  24      1.2s
    test_modification_coef_scalar_objective                                      |    8                   8      0.4s
    test_modification_coef_scalaraffine_lessthan                                 |   16                  16      0.4s
    test_modification_const_scalar_objective                                     |    8                   8      0.5s
    test_modification_const_vectoraffine_nonpos                                  |   14                  14      0.4s
    test_modification_const_vectoraffine_zeros                                   |   14                  14      0.4s
    test_modification_constraint_scalarquadraticcoefficientchange                |    3                   3      0.0s
    test_modification_delete_variable_with_single_variable_obj                   |    6     2             8      0.2s
    test_modification_delete_variables_in_a_batch                                |    8                   8      0.5s
    test_modification_func_scalaraffine_lessthan                                 |   15                  15      0.4s
    test_modification_func_vectoraffine_nonneg                                   |   15                  15      0.4s
    test_modification_incorrect                                                  |    2                   2      0.0s
    test_modification_incorrect_VariableIndex                                    |    3                   3      0.1s
    test_modification_mathoptinterface_issue_2452                                |    3                   3      0.0s
    test_modification_multirow_vectoraffine_nonpos                               |   12                  12      0.5s
    test_modification_objective_scalarquadraticcoefficientchange                 |    5                   5      0.0s
    test_modification_set_function_single_variable                               |    1                   1      0.0s
    test_modification_set_scalaraffine_lessthan                                  |   17                  17      0.5s
    test_modification_set_singlevariable_lessthan                                |   13     4            17      0.5s
    test_modification_transform_singlevariable_lessthan                          |   14     4            18      0.5s
    test_multiobjective_vector_affine_function                                   |                        0      0.0s
    test_multiobjective_vector_affine_function_delete                            |                        0      0.0s
    test_multiobjective_vector_affine_function_delete_vector                     |                        0      0.0s
    test_multiobjective_vector_affine_function_modify                            |                        0      0.0s
    test_multiobjective_vector_nonlinear                                         |                        0      0.0s
    test_multiobjective_vector_nonlinear_delete                                  |                        0      0.0s
    test_multiobjective_vector_nonlinear_delete_vector                           |                        0      0.0s
    test_multiobjective_vector_nonlinear_modify                                  |                        0      0.0s
    test_multiobjective_vector_of_variables                                      |                        0      0.0s
    test_multiobjective_vector_of_variables_delete                               |                        0      0.0s
    test_multiobjective_vector_of_variables_delete_all                           |                        0      0.0s
    test_multiobjective_vector_of_variables_delete_vector                        |                        0      0.0s
    test_multiobjective_vector_quadratic_function                                |                        0      0.0s
    test_multiobjective_vector_quadratic_function_delete                         |                        0      0.1s
    test_multiobjective_vector_quadratic_function_delete_vector                  |                        0      0.0s
    test_multiobjective_vector_quadratic_function_modify                         |                        0      0.0s
    test_nonlinear_Feasibility_internal                                          |    9                   9      0.0s
    test_nonlinear_HS071_internal                                                |   11                  11      0.0s
    test_nonlinear_InvalidEvaluator_internal                                     |    3                   3      0.0s
    test_nonlinear_duals                                                         |   15     5            20      0.6s
    test_nonlinear_expression_hs071                                              |    2                   2      0.2s
    test_nonlinear_expression_hs071_epigraph                                     |    2                   2      0.2s
    test_nonlinear_expression_hs109                                              |          2             2      0.8s
    test_nonlinear_expression_hs110                                              |    2                   2      0.2s
    test_nonlinear_expression_multivariate_function                              |                        0      0.0s
    test_nonlinear_expression_overrides_objective                                |    6                   6      0.4s
    test_nonlinear_expression_quartic                                            |    2                   2      0.2s
    test_nonlinear_expression_univariate_function                                |                        0      0.0s
    test_nonlinear_hs071                                                         |   14                  14      0.2s
    test_nonlinear_hs071_NLPBlockDual                                            |    1     1             2      0.4s
    test_nonlinear_hs071_hessian_vector_product                                  |   14                  14      0.2s
    test_nonlinear_hs071_no_hessian                                              |   14                  14      0.2s
    test_nonlinear_mixed_complementarity                                         |                        0      0.0s
    test_nonlinear_objective                                                     |    6                   6      0.2s
    test_nonlinear_objective_and_moi_objective_test                              |    6                   6      0.2s
    test_nonlinear_qp_complementarity_constraint                                 |                        0      0.0s
    test_nonlinear_vector_complements                                            |                        0      0.0s
    test_nonlinear_without_objective                                             |    6                   6      0.2s
    test_objective_FEASIBILITY_SENSE_clears_objective                            |    2                   2      0.6s
    test_objective_ObjectiveFunction_VariableIndex                               |    8     2            10      0.3s
    test_objective_ObjectiveFunction_blank                                       |    2                   2      0.2s
    test_objective_ObjectiveFunction_constant                                    |    6     2             8      0.2s
    test_objective_ObjectiveFunction_duplicate_terms                             |    7     2             9      0.2s
    test_objective_ObjectiveSense_FEASIBILITY_SENSE                              |    1                   1      0.0s
    test_objective_ObjectiveSense_MAX_SENSE                                      |    1                   1      0.0s
    test_objective_ObjectiveSense_MIN_SENSE                                      |    1                   1      0.0s
    test_objective_ObjectiveSense_in_ListOfModelAttributesSet                    |    2                   2      0.0s
    test_objective_ScalarAffineFunction_in_ListOfModelAttributesSet              |    2                   2      0.0s
    test_objective_ScalarQuadraticFunction_in_ListOfModelAttributesSet           |    2                   2      0.0s
    test_objective_VariableIndex_in_ListOfModelAttributesSet                     |    2                   2      0.0s
    test_objective_get_ObjectiveFunction_ScalarAffineFunction                    |    5                   5      0.0s
    test_objective_qp_ObjectiveFunction_edge_cases                               |   21                  21      0.8s
    test_objective_qp_ObjectiveFunction_zero_ofdiag                              |    7                   7      0.2s
    test_objective_set_via_modify                                                |    2                   2      0.0s
    test_quadratic_SecondOrderCone_basic                                         |   16     2            18      0.2s
    test_quadratic_constraint_GreaterThan                                        |    9     8            17      0.3s
    test_quadratic_constraint_LessThan                                           |    9     8            17      0.3s
    test_quadratic_constraint_basic                                              |   12                  12      0.2s
    test_quadratic_constraint_integration                                        |   15                  15      0.2s
    test_quadratic_constraint_minimize                                           |   12     1            13      0.2s
    test_quadratic_duplicate_terms                                               |   22     2            24      0.4s
    test_quadratic_integration                                                   |   13     2            15      0.2s
    test_quadratic_nonconvex_constraint_basic                                    |   15                  15      0.2s
    test_quadratic_nonconvex_constraint_integration                              |   15                  15      0.2s
    test_quadratic_nonhomogeneous                                                |   21     2            23      0.5s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_EqualTo_lower                |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_EqualTo_upper                |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_GreaterThan                  |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_Interval_lower               |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_Interval_upper               |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_LessThan                     |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_VariableIndex_LessThan       |          1             1      0.2s
    test_solve_DualStatus_INFEASIBILITY_CERTIFICATE_VariableIndex_LessThan_max   |          1             1      0.2s
    test_solve_TerminationStatus_DUAL_INFEASIBLE                                 |    1                   1      0.2s
    test_solve_VariableIndex_ConstraintDual_MAX_SENSE                            |    3     1             4      0.2s
    test_solve_VariableIndex_ConstraintDual_MIN_SENSE                            |    3     1             4      0.2s
    test_solve_conflict_EqualTo                                                  |                        0      0.0s
    test_solve_conflict_NOT_IN_CONFLICT                                          |                        0      0.0s
    test_solve_conflict_affine_affine                                            |                        0      0.0s
    test_solve_conflict_bound_bound                                              |                        0      0.0s
    test_solve_conflict_feasible                                                 |                        0      0.0s
    test_solve_conflict_invalid_interval                                         |                        0      0.0s
    test_solve_conflict_two_affine                                               |                        0      0.0s
    test_solve_conflict_zeroone                                                  |                        0      0.0s
    test_solve_conflict_zeroone_2                                                |                        0      0.0s
    test_solve_optimize_twice                                                    |                        0      0.5s
    test_solve_result_index                                                      |   13     2            15      0.3s
    test_unbounded_MAX_SENSE                                                     |                        0      0.2s
    test_unbounded_MAX_SENSE_offset                                              |                        0      0.2s
    test_unbounded_MIN_SENSE                                                     |                        0      0.2s
    test_unbounded_MIN_SENSE_offset                                              |                        0      0.2s
    test_variable_VariableName                                                   |    4                   4      0.0s
    test_variable_add_variable                                                   |    3                   3      0.0s
    test_variable_add_variables                                                  |    2                   2      0.0s
    test_variable_delete                                                         |    3                   3      0.0s
    test_variable_delete_Nonnegatives                                            |   13                  13      0.0s
    test_variable_delete_Nonnegatives_row                                        |   12                  12      0.0s
    test_variable_delete_SecondOrderCone                                         |                        0      0.0s
    test_variable_delete_variables                                               |    9                   9      0.0s
    test_variable_get_VariableIndex                                              |    2                   2      0.0s
    test_variable_solve_with_lowerbound                                          |    8     2            10      0.3s
    test_variable_solve_with_upperbound                                          |   10     2            12      0.2s
  test_show                                                                      |    1                   1      0.0s
  test_single_variable_interval_dual                                             |          2             2      0.4s
  test_solve_time                                                                |    2                   2      0.2s
  test_solver_name                                                               |    1                   1      0.0s
  test_supports_incremental_interface                                            |    1                   1      0.0s
odow commented 1 week ago

The fails are because Uno is returning the wrong dual for ASL: https://github.com/cvanaret/Uno/issues/40

amontoison commented 1 week ago

I have 758 errors with the dummy HSL_jll.jl, so I think Uno tries to use the HSL solvers by default if it's linked with libHSL (dummy or official). @cvanaret just needs to check the boolean output of LIBHSL_isfunctional (routine available in both versions) at runtime before using the HSL solvers to ensure that they are available.

cvanaret commented 1 week ago

Uno now:

odow commented 1 week ago

A new build is

odow commented 1 week ago

Latest version of Uno is

For variable duals, we need:

odow commented 1 week ago

Okay. I think we're pretty much there. There are still a few upstream issues, but these are mainly: