Closed odow closed 1 week ago
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.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
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
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?
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.
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
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.
This is currently blocked by https://github.com/cvanaret/Uno/issues/34
The build that failed had
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
Success
We just need to recompile Ipopt with the new version of MUMPS. I can do that tonight.
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
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.
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.
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.
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
The fails are because Uno is returning the wrong dual for ASL: https://github.com/cvanaret/Uno/issues/40
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.
Uno now:
LIBHSL_isfunctional
routine (commit cvanaret/Uno@20e0b2c)A new build is
Latest version of Uno is
For variable duals, we need:
Okay. I think we're pretty much there. There are still a few upstream issues, but these are mainly:
This needs https://github.com/JuliaRegistries/General/pull/117429#issuecomment-2418073575
But there are bunch of other issues:
@cvanaret: is the options file compulsory? This doesn't align with other AMPL solvers.
So then I did
But it's not enough to have an empty file, you need the complete set of options
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