-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for MOI.ScalarNonlinearFunction #63
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #63 +/- ##
==========================================
+ Coverage 80.33% 80.59% +0.25%
==========================================
Files 9 9
Lines 534 541 +7
==========================================
+ Hits 429 436 +7
Misses 105 105
☔ View full report in Codecov by Sentry. |
I just tested locally using the latest version of BARON (23.6.23). Note, that the These tests were run on Windows with Julia 1.9.2. (BARON) pkg> test
Testing BARON
Status `C:\Users\HD\AppData\Local\Temp\jl_DZC7Vu\Project.toml`
[2e2ca445] BARON v0.8.1 `C:\Users\HD\Downloads\BARON.jl`
[4076af6c] JuMP v1.13.0
[b8f27783] MathOptInterface v1.19.0
[8dfed614] Test `@stdlib/Test`
Status `C:\Users\HD\AppData\Local\Temp\jl_DZC7Vu\Manifest.toml`
[2e2ca445] BARON v0.8.1 `C:\Users\HD\Downloads\BARON.jl`
[6e4b80f9] BenchmarkTools v1.3.2
⌅ [523fee87] CodecBzip2 v0.7.2
[944b1d66] CodecZlib v0.7.2
[bbf7d656] CommonSubexpressions v0.3.0
[34da2185] Compat v4.9.0
[864edb3b] DataStructures v0.18.15
[163ba53b] DiffResults v1.1.0
[b552c78f] DiffRules v1.15.1
[ffbed154] DocStringExtensions v0.9.3
[f6369f11] ForwardDiff v0.10.36
[92d709cd] IrrationalConstants v0.2.2
[692b3bcd] JLLWrappers v1.5.0
[682c06a0] JSON v0.21.4
[4076af6c] JuMP v1.13.0
[2ab3a3ac] LogExpFunctions v0.3.24
[1914dd2f] MacroTools v0.5.10
[b8f27783] MathOptInterface v1.19.0
[d8a4904e] MutableArithmetics v1.3.0
[77ba4419] NaNMath v1.0.2
[bac558e1] OrderedCollections v1.6.2
[69de0a69] Parsers v2.7.2
[aea7be01] PrecompileTools v1.1.2
[21216c6a] Preferences v1.4.0
[66db9d55] SnoopPrecompile v1.0.3
[276daf66] SpecialFunctions v2.3.1
[1e83bf80] StaticArraysCore v1.4.2
[3bb67fe8] TranscodingStreams v0.9.13
[6e34b625] Bzip2_jll v1.0.8+0
[efe28fd5] OpenSpecFun_jll v0.5.5+0
[0dad84c5] ArgTools v1.1.1 `@stdlib/ArgTools`
[56f22d72] Artifacts `@stdlib/Artifacts`
[2a0f44e3] Base64 `@stdlib/Base64`
[ade2ca70] Dates `@stdlib/Dates`
[f43a241f] Downloads v1.6.0 `@stdlib/Downloads`
[7b1f6079] FileWatching `@stdlib/FileWatching`
[b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
[b27032c2] LibCURL v0.6.3 `@stdlib/LibCURL`
[76f85450] LibGit2 `@stdlib/LibGit2`
[8f399da3] Libdl `@stdlib/Libdl`
[37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
[56ddb016] Logging `@stdlib/Logging`
[d6f4376e] Markdown `@stdlib/Markdown`
[a63ad114] Mmap `@stdlib/Mmap`
[ca575930] NetworkOptions v1.2.0 `@stdlib/NetworkOptions`
[44cfe95a] Pkg v1.9.2 `@stdlib/Pkg`
[de0858da] Printf `@stdlib/Printf`
[9abbd945] Profile `@stdlib/Profile`
[3fa0cd96] REPL `@stdlib/REPL`
[9a3f8284] Random `@stdlib/Random`
[ea8e919c] SHA v0.7.0 `@stdlib/SHA`
[9e88b42a] Serialization `@stdlib/Serialization`
[6462fe0b] Sockets `@stdlib/Sockets`
[2f01184e] SparseArrays `@stdlib/SparseArrays`
[10745b16] Statistics v1.9.0 `@stdlib/Statistics`
[fa267f1f] TOML v1.0.3 `@stdlib/TOML`
[a4e569a6] Tar v1.10.0 `@stdlib/Tar`
[8dfed614] Test `@stdlib/Test`
[cf7118a7] UUIDs `@stdlib/UUIDs`
[4ec0a83e] Unicode `@stdlib/Unicode`
[e66e0078] CompilerSupportLibraries_jll v1.0.5+0 `@stdlib/CompilerSupportLibraries_jll`
[deac9b47] LibCURL_jll v7.84.0+0 `@stdlib/LibCURL_jll`
[29816b5a] LibSSH2_jll v1.10.2+0 `@stdlib/LibSSH2_jll`
[c8ffd9c3] MbedTLS_jll v2.28.2+0 `@stdlib/MbedTLS_jll`
[14a3606d] MozillaCACerts_jll v2022.10.11 `@stdlib/MozillaCACerts_jll`
[4536629a] OpenBLAS_jll v0.3.21+4 `@stdlib/OpenBLAS_jll`
[05823500] OpenLibm_jll v0.8.1+0 `@stdlib/OpenLibm_jll`
[bea87d4a] SuiteSparse_jll v5.10.1+6 `@stdlib/SuiteSparse_jll`
[83775a58] Zlib_jll v1.2.13+0 `@stdlib/Zlib_jll`
[8e850b90] libblastrampoline_jll v5.8.0+0 `@stdlib/libblastrampoline_jll`
[8e850ede] nghttp2_jll v1.48.0+0 `@stdlib/nghttp2_jll`
[3f19e933] p7zip_jll v17.4.0+0 `@stdlib/p7zip_jll`
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading.
Testing Running tests...
===========================================================================
BARON version 23.6.23. Built: WIN-64 Fri Jun 23 12:59:09 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
C://baron/baron.exe: syntax error on line 32
Licensee: ***
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC
For NLP: IPOPT, FILTERSQP
===========================================================================
Preprocessing found feasible solution with value 7.92406
Preprocessing found feasible solution with value 7.75739
Problem solved during preprocessing
Lower bound is 7.75739
Calculating duals
*** Normal completion ***
Wall clock time: 0.10
Total CPU time used: 0.00
Total no. of BaR iterations: -1
Best solution found at node: -1
Max. no. of nodes in memory: 0
All done
===========================================================================
===========================================================================
BARON version 23.6.23. Built: WIN-64 Fri Jun 23 12:59:09 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
Licensee: ***
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Kilinc, M. and N. V. Sahinidis, Exploiting integrality in the global
optimization of mixed-integer nonlinear programming problems in BARON,
Optimization Methods and Software, 33, 540-562, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC
For NLP: IPOPT, FILTERSQP
===========================================================================
Preprocessing found feasible solution with value 10.0000
Doing local search
Solving bounding LP
Starting multi-start local search
Done with local search
===========================================================================
Iteration Open nodes Time (s) Lower bound Upper bound
* 1 1 0.02 -37.8684 6.00976
1 0 0.03 6.00975 6.00976
Calculating duals
*** Normal completion ***
Wall clock time: 0.12
Total CPU time used: 0.03
Total no. of BaR iterations: 1
Best solution found at node: 1
Max. no. of nodes in memory: 1
All done
===========================================================================
===========================================================================
BARON version 23.6.23. Built: WIN-64 Fri Jun 23 12:59:09 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
Licensee: ***
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC
For NLP: IPOPT, FILTERSQP
===========================================================================
Preprocessing found feasible solution with value 0.00000
Doing local search
Preprocessing found feasible solution with value -6.66667
Solving bounding LP
Problem solved during preprocessing
Lower bound is -6.66667
Calculating duals
*** Normal completion ***
Wall clock time: 0.08
Total CPU time used: 0.03
Total no. of BaR iterations: -1
Best solution found at node: -1
Max. no. of nodes in memory: 0
All done
===========================================================================
===========================================================================
BARON version 23.6.23. Built: WIN-64 Fri Jun 23 12:59:09 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
Licensee: ***
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC
For NLP: IPOPT, FILTERSQP
===========================================================================
Doing local search
Preprocessing found feasible solution with value -201.159
Problem solved during preprocessing
Lower bound is -201.160
Calculating duals
*** Normal completion ***
Wall clock time: 0.06
Total CPU time used: 0.00
Total no. of BaR iterations: -1
Best solution found at node: -1
Max. no. of nodes in memory: 0
All done
===========================================================================
===========================================================================
BARON version 23.6.23. Built: WIN-64 Fri Jun 23 12:59:09 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
Licensee: ***
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC
For NLP: IPOPT, FILTERSQP
===========================================================================
Doing local search
Preprocessing found feasible solution with value 38.0343
Solving bounding LP
Starting multi-start local search
Preprocessing found feasible solution with value 38.0343
Preprocessing found feasible solution with value 38.0343
Done with local search
===========================================================================
Iteration Open nodes Time (s) Lower bound Upper bound
1 0 0.03 38.0342 38.0343
*** Normal completion ***
Wall clock time: 0.11
Total CPU time used: 0.03
Total no. of BaR iterations: 1
Best solution found at node: -1
Max. no. of nodes in memory: 1
All done
===========================================================================
Test Summary: | Pass Total Time
UnrecognizedExpressionException | 1 1 0.2s
Test Summary: |Time
Trig unrecognized | None 0.0s
┌ Warning: The exclude string "test_unbounded_MIN_SENSE" is ambiguous because it exactly matches a test, but it also partially matches another. Use `r"^test_unbounded_MIN_SENSE$"` to exclude the exactly matching test, or `r"test_unbounded_MIN_SENSE.*"` to exclude all partially matching tests.
└ @ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:208
┌ Warning: The exclude string "test_unbounded_MAX_SENSE" is ambiguous because it exactly matches a test, but it also partially matches another. Use `r"^test_unbounded_MAX_SENSE$"` to exclude the exactly matching test, or `r"test_unbounded_MAX_SENSE.*"` to exclude all partially matching tests.
└ @ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:208
C://baron/baron.exe: syntax error on line 24
C://baron/baron.exe: syntax error on line 19
C://baron/baron.exe: syntax error on line 20
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 19
C://baron/baron.exe: syntax error on line 19
C://baron/baron.exe: syntax error on line 19
Test Summary: | Pass Total Time
MOI Unit | 3046 3046 12m12.1s
Testing BARON tests passed |
We test in CI, so I can see that the tests are passing. But what about regular models? Can you have a play with the |
Are the syntax errors important? If they're errors, why are the tests still passing? |
No idea about the syntax errors. I've had issues with BARON in the past when running the latest version. I'm going to test with the one before that one to see if the syntax errors are still coming up. Also, is there something specific you want tested on the |
Tested on BARON 23.1.5, which also had the syntax errors and one of the tests didn't pass: test_linear_DUAL_INFEASIBLE: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:1436
Expression: status in (MOI.DUAL_INFEASIBLE, MOI.NORM_LIMIT, MOI.INFEASIBLE_OR_UNBOUNDED)
Evaluated: MathOptInterface.OPTIMAL in (MathOptInterface.DUAL_INFEASIBLE, MathOptInterface.NORM_LIMIT, MathOptInterface.INFEASIBLE_OR_UNBOUNDED) I tested with the 2022 version (22.9.30), and the syntax errors are still there, with 10 tests failing: C://baron/baron.exe: syntax error on line 24
C://baron/baron.exe: syntax error on line 19
test_linear_integration: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:102
Expression: ≈(MOI.get(model, MOI.ObjectiveValue()), T(-1), config)
Evaluated: ≈(-0.1, -1.0, MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:102
test_linear_integration: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:106
Expression: ≈(MOI.get(model, MOI.VariablePrimal(), v), T[1, 0], config)
Evaluated: ≈([0.1, 0.0], [1.0, 0.0], MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:106
test_linear_integration: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:107
Expression: ≈(MOI.get(model, MOI.ConstraintPrimal(), c), T(1), config)
Evaluated: ≈(0.1, 1.0, MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:107
test_linear_integration: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:131
Expression: ≈(MOI.get(model, MOI.ObjectiveValue()), T(1), config)
Evaluated: ≈(0.1, 1.0, MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:131
test_linear_integration: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:135
Expression: ≈(MOI.get(model, MOI.VariablePrimal(), v), T[1, 0], config)
Evaluated: ≈([0.1, 0.0], [1.0, 0.0], MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:135
test_linear_integration_2: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:541
Expression: ≈(MOI.get(model, MOI.ObjectiveValue()), T(-1), atol = atol, rtol = rtol)
Evaluated: -0.1 ≈ -1.0 (atol=0.001, rtol=0.001)
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration_2(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:541
test_linear_integration_2: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:547
Expression: ≈(MOI.get(model, MOI.VariablePrimal(), x), T(1), atol = atol, rtol = rtol)
Evaluated: 0.1 ≈ 1.0 (atol=0.001, rtol=0.001)
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration_2(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:547
test_linear_integration_2: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:551
Expression: ≈(MOI.get(model, MOI.ConstraintPrimal(), c), T(1), atol = atol, rtol = rtol)
Evaluated: 0.1 ≈ 1.0 (atol=0.001, rtol=0.001)
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] test_linear_integration_2(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64})
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\test_linear.jl:551
C://baron/baron.exe: syntax error on line 20
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 34
C://baron/baron.exe: syntax error on line 19
C://baron/baron.exe: syntax error on line 19
C://baron/baron.exe: syntax error on line 19
test_variable_solve_Integer_with_upper_bound: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:397
Expression: isapprox(MOI.get(model, MOI.ObjectiveValue()), objective_value, config)
Evaluated: isapprox(0.0, -2.0, MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] _test_model_solution(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64}; objective_value::Float64, variable_primal::Vector{Tuple{MathOptInterface.VariableIndex, Float64}}, constraint_primal::Nothing, constraint_dual::Nothing)
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:397
test_variable_solve_Integer_with_upper_bound: Test Failed at C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:407
Expression: isapprox(MOI.get(model, MOI.VariablePrimal(), index), solution_value, config)
Evaluated: isapprox(0.0, 1.0, MathOptInterface.Test.Config{Float64}(0.001, 0.001, MathOptInterface.OPTIMAL, MathOptInterface.INFEASIBLE, Any[MathOptInterface.ConstraintBasisStatus, MathOptInterface.DualObjectiveValue, MathOptInterface.ObjectiveBound, MathOptInterface.DualStatus, MathOptInterface.ConstraintDual]))
Stacktrace:
[1] macro expansion
@ C:\Users\HD\.julia\juliaup\julia-1.9.2+0.x64.w64.mingw32\share\julia\stdlib\v1.9\Test\src\Test.jl:478 [inlined]
[2] _test_model_solution(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{BARON.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, config::MathOptInterface.Test.Config{Float64}; objective_value::Float64, variable_primal::Vector{Tuple{MathOptInterface.VariableIndex, Float64}}, constraint_primal::Nothing, constraint_dual::Nothing)
@ MathOptInterface.Test C:\Users\HD\.julia\packages\MathOptInterface\tWT4o\src\Test\Test.jl:407 So not sure what is going on in the recent BARON releases. Since the tests still pass on the latest BARON, I'm not sure where the issues are so that I can bring this up to the folks at BARON... |
Just, does it work for a few problems? Should I merge this PR as-is and declare success, or does it need something else? |
Merging because this is a feature addition and it seems like it works. We can always improve in future. |
I don't have a local copy of BARON, so it's a bit messy to test this other than trying CI, but I hope this is all that is needed to support the new nonlinear in BARON.