Skip to content

Commit 29cab77

Browse files
committed
First try to use pkg extension
1 parent 79c52bb commit 29cab77

File tree

11 files changed

+79
-86
lines changed

11 files changed

+79
-86
lines changed

ext/CaNNOLeSExt.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module CaNNOLeSExt
2+
3+
using CaNNOLeS, JSOSuite
4+
5+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "CaNNOLeS", :is_available] .= 1
6+
7+
function minimize(::Val{:CaNNOLeS}, nlp; kwargs...)
8+
return CaNNOLeS.cannoles(nlp; linsolve = :ldlfactorizations, kwargs...)
9+
end
10+
11+
end

ext/DCISolverExt.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module DCISolverExt
2+
3+
using DCISolver, JSOSuite
4+
5+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "DCISolver", :is_available] .= 1
6+
function minimize(::Val{:DCISolver}, nlp; kwargs...)
7+
return DCISolver.dci(nlp; kwargs...)
8+
end
9+
10+
end

ext/FletcherPenaltySolverExt.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module FletcherPenaltySolverExt
2+
3+
using FletcherPenaltySolver, JSOSuite
4+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "FletcherPenaltySolver", :is_available] .= 1
5+
function minimize(::Val{:FletcherPenaltySolver}, nlp; kwargs...)
6+
return FletcherPenaltySolver.fps_solve(nlp; kwargs...)
7+
end
8+
end

ext/NLPModelsIpoptExt.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module NLPModelsIpoptExt
2+
3+
using NLPModelsIpopt, JSOSuite
4+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "IPOPT", :is_available] .= 1
5+
include("solvers/ipopt_solve.jl")
6+
end

ext/NLPModelsKnitroExt.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module NLPModelsKnitroExt
2+
3+
using KNITRO, NLPModelsKnitro, JSOSuite
4+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "KNITRO", :is_available] .= KNITRO.has_knitro()
5+
include("solvers/knitro_solve.jl")
6+
end

ext/RipQPExt.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module RipQPExt
2+
3+
using RipQP, JSOSuite, LLSModels, QuadraticModels
4+
JSOSuite.optimizers[JSOSuite.optimizers.name .== "RipQP", :is_available] .= 1
5+
include("solvers/ripqp_solve.jl")
6+
end

ext/SolverBenchmarkExt.jl

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module SolverBenchmarkExt
2+
3+
using SolverBenchmark, JSOSuite
4+
function SolverBenchmark.bmark_solvers(
5+
problems,
6+
solver_names::Vector{String},
7+
solvers::Dict{Symbol, Function} = Dict{Symbol, Function}();
8+
atol::Real = eps(),
9+
rtol::Real = eps(),
10+
verbose::Integer = 0,
11+
max_time::Float64 = 300.0,
12+
max_eval::Integer = 10000,
13+
max_iter::Integer = 10000,
14+
kwargs...,
15+
)
16+
for s in solver_names
17+
solvers[Symbol(s)] =
18+
nlp -> minimize(
19+
s,
20+
nlp;
21+
atol = atol,
22+
rtol = rtol,
23+
verbose = verbose,
24+
max_time = max_time,
25+
max_eval = max_eval,
26+
max_iter = max_iter,
27+
)
28+
end
29+
return SolverBenchmark.bmark_solvers(solvers, problems; kwargs...)
30+
end
31+
end
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)