Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 45 additions & 9 deletions benchmarks/tables/bpdn-constr-table.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,53 @@ verbose = 0 # 10
ϵ = 1.0e-6
maxIter = 500
maxIter_inner = 20
options = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options6 = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false)
options5 = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = true)
options7 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner, reduce_TR = false)
options =
ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options6 = ROSolverOptions(
ν = 1.0,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
)
options5 = ROSolverOptions(
ν = 1.0,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = true,
)
options7 = ROSolverOptions(
spectral = false,
psb = true,
ϵa = ϵ,
ϵr = ϵ,
maxIter = maxIter_inner,
reduce_TR = false,
)

solvers = [:R2, :TRDH, :TRDH, :TRDH, :TR, :TR, :TR, :TR, :TR]
subsolvers = [:None, :None, :None, :None, :R2, :TRDH, :TRDH, :TRDH, :TRDH]
solver_options = [options, options, options5, options6, options, options, options, options, options]
subsolver_options = [options2, options2, options2, options2, options2, options7, options2, options3, options4] # n'importe lequel si subsolver = :None
subsolver_options =
[options2, options2, options2, options2, options2, options7, options2, options3, options4] # n'importe lequel si subsolver = :None

benchmark_table(f, 1:f.meta.nvar, sol, h, λ, solvers, subsolvers, solver_options, subsolver_options, "BPDN-cstr")
benchmark_table(
f,
1:(f.meta.nvar),
sol,
h,
λ,
solvers,
subsolvers,
solver_options,
subsolver_options,
"BPDN-cstr",
)
70 changes: 59 additions & 11 deletions benchmarks/tables/bpdn-table.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,66 @@ verbose = 0 # 10
ϵ = 1.0e-6
maxIter = 500
maxIter_inner = 40
options = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options6 = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false)
options5 = ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = true)
options7 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner, reduce_TR = false)
options8 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner, reduce_TR = false)
options =
ROSolverOptions(ν = 1.0, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options6 = ROSolverOptions(
ν = 1.0,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
)
options5 = ROSolverOptions(
ν = 1.0,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = true,
)
options7 = ROSolverOptions(
spectral = false,
psb = true,
ϵa = ϵ,
ϵr = ϵ,
maxIter = maxIter_inner,
reduce_TR = false,
)
options8 =
ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner, reduce_TR = false)

solvers = [:R2, :TRDH, :TRDH, :TRDH, :TR, :TR, :TR, :TR, :TR, :TR]
subsolvers = [:None, :None, :None, :None, :R2, :TRDH, :TRDH, :TRDH, :TRDH, :TRDH]
solver_options = [options, options, options5, options6, options, options, options, options, options, options]
subsolver_options = [options2, options2, options2, options2, options2, options7, options2, options3, options4, options8] # n'importe lequel si subsolver = :None
solver_options =
[options, options, options5, options6, options, options, options, options, options, options]
subsolver_options = [
options2,
options2,
options2,
options2,
options2,
options7,
options2,
options3,
options4,
options8,
] # n'importe lequel si subsolver = :None

benchmark_table(f, 1:f.meta.nvar, sol, h, λ, solvers, subsolvers, solver_options, subsolver_options, "BPDN")
benchmark_table(
f,
1:(f.meta.nvar),
sol,
h,
λ,
solvers,
subsolvers,
solver_options,
subsolver_options,
"BPDN",
)
73 changes: 64 additions & 9 deletions benchmarks/tables/fh-table.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,75 @@ verbose = 0 #10
maxIter = 1000
maxIter_sub = 200 # max iter for subsolver
ϵ = 1.0e-4
options = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options =
ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_sub)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_sub)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_sub)
options5 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = true)
options6 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false)
options7 = ROSolverOptions(spectral = false, psb = true, reduce_TR = false, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_sub)
options8 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false, reduce_TR = false)
options5 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = true,
)
options6 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
)
options7 = ROSolverOptions(
spectral = false,
psb = true,
reduce_TR = false,
ϵa = ϵ,
ϵr = ϵ,
maxIter = maxIter_sub,
)
options8 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
reduce_TR = false,
)

solvers = [:R2, :TRDH, :TRDH, :TRDH, :TRDH, :TR, :TR, :TR, :TR, :TR]
subsolvers = [:None, :None, :None, :None, :None, :R2, :TRDH, :TRDH, :TRDH, :TRDH]
solver_options = [options, options, options5, options6, options8, options, options, options, options, options]
subsolver_options = [options2, options2, options2, options2, options2, options2, options7, options2, options3, options4]
solver_options =
[options, options, options5, options6, options8, options, options, options, options, options]
subsolver_options = [
options2,
options2,
options2,
options2,
options2,
options2,
options7,
options2,
options3,
options4,
]
subset = 2:10 # issues with R2 alone

benchmark_table(f, 1:f.meta.nvar, [], h, λ, solvers[subset], subsolvers[subset], solver_options[subset], subsolver_options[subset],
"FH with ν = $ν, λ = $λ")
benchmark_table(
f,
1:(f.meta.nvar),
[],
h,
λ,
solvers[subset],
subsolvers[subset],
solver_options[subset],
subsolver_options[subset],
"FH with ν = $ν, λ = $λ",
)
79 changes: 67 additions & 12 deletions benchmarks/tables/nnmf-table.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,74 @@ h = NormL0(λ)
maxIter = 500
maxIter_inner = 40
verbose = 0 #10
options = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options5 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = true)
options6 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false)
options7 = ROSolverOptions(spectral = false, psb = true, reduce_TR = false, ϵa = ϵ, ϵr = ϵ, maxIter=maxIter_inner)
options8 = ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = false, psb = false, reduce_TR = false)
options =
ROSolverOptions(ν = ν, ϵa = ϵ, ϵr = ϵ, verbose = verbose, maxIter = maxIter, spectral = true)
options2 = ROSolverOptions(spectral = false, psb = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options4 = ROSolverOptions(spectral = true, ϵa = ϵ, ϵr = ϵ, maxIter = maxIter_inner)
options5 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = true,
)
options6 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
)
options7 = ROSolverOptions(
spectral = false,
psb = true,
reduce_TR = false,
ϵa = ϵ,
ϵr = ϵ,
maxIter = maxIter_inner,
)
options8 = ROSolverOptions(
ν = ν,
ϵa = ϵ,
ϵr = ϵ,
verbose = verbose,
maxIter = maxIter,
spectral = false,
psb = false,
reduce_TR = false,
)

solvers = [:R2, :TRDH, :TRDH, :TRDH, :TRDH, :TR, :TR, :TR, :TR, :TR, :TR]
subsolvers = [:None, :None, :None, :None, :None, :R2, :TRDH, :TRDH, :TRDH, :TRDH, :TRDH]
solver_options = [options, options, options5, options6, options8, options, options, options, options, options]
subsolver_options = [options2, options2, options2, options2, options2, options2, options7, options2, options3, options4]
solver_options =
[options, options, options5, options6, options8, options, options, options, options, options]
subsolver_options = [
options2,
options2,
options2,
options2,
options2,
options2,
options7,
options2,
options3,
options4,
]

benchmark_table(f, selected, [], h, λ, solvers, subsolvers, solver_options, subsolver_options,
"NNMF with m = $m, n = $n, k = $k, ν = $ν, λ = $λ")
benchmark_table(
f,
selected,
[],
h,
λ,
solvers,
subsolvers,
solver_options,
subsolver_options,
"NNMF with m = $m, n = $n, k = $k, ν = $ν, λ = $λ",
)
Loading