@@ -28,16 +28,13 @@ const list_problems_PureJuMP = setdiff(list_problems, list_problems_not_PureJuMP
2828include (" test-defined-problems.jl" )
2929@everywhere include (" test-utils.jl" )
3030
31- @test ndef == OptimizationProblems. PureJuMP. default_nvar
32- @test ndef == OptimizationProblems. ADNLPProblems. default_nvar
33-
34- @everywhere function make_ad_nlp (prob:: Symbol ; simp_backend= " " )
31+ @everywhere function make_ad_nlp (prob:: Symbol ; kwargs... )
3532 mod = ADNLPProblems
3633 if ! isdefined (mod, prob)
3734 error (" Problem $(prob) is not defined in ADNLPProblems on pid $(myid ()) ." )
3835 end
3936 ctor = getfield (mod, prob)
40- return isempty (simp_backend) ? ctor () : ctor ( eval (Meta . parse (simp_backend)) )
37+ return ctor (matrix_free = true ; kwargs ... )
4138end
4239
4340@everywhere function test_one_problem (prob:: Symbol )
4643 nvar = OptimizationProblems. eval (Symbol (:get_ , prob, :_nvar ))()
4744 ncon = OptimizationProblems. eval (Symbol (:get_ , prob, :_ncon ))()
4845
49- nlp_ad = if (nvar + ncon < 10000 )
50- make_ad_nlp (prob)
51- else
52- # Avoid SparseADJacobian for too large problem as it requires a lot of memory for CIs
53- make_ad_nlp (prob, simp_backend = simp_backend)
54- end
46+ nlp_ad = make_ad_nlp (prob)
5547
5648 @test nlp_ad. meta. name == pb
5749
10395
10496pmap (test_one_problem, list_problems_ADNLPProblems)
10597
106- names_pb_vars = meta[
107- meta. variable_nvar .== true ,
108- [:nvar , :name , :best_known_upper_bound , :best_known_lower_bound ],
109- ]
110- adproblems = (
111- eval (Meta. parse (" ADNLPProblems.$(pb[:name ]) (" * simp_backend * " )" )) for
112- pb in eachrow (names_pb_vars)
113- )
114- adproblems11 = (
115- eval (Meta. parse (" ADNLPProblems.$(pb[:name ]) (n=$(13 * ndef) , " * simp_backend * " )" )) for
116- pb in eachrow (names_pb_vars)
117- )
118-
119- @testset " Test scalable problems" begin
120- @testset " problem: $pb " for (pb, nlp, nlp11) in
121- zip (eachrow (names_pb_vars), adproblems, adproblems11)
122- @test pb[:nvar ] == nlp. meta. nvar
123- n11 = OptimizationProblems. eval (Symbol (:get_ , pb[:name ], :_nvar ))(n = 13 * ndef)
124- @test n11 == nlp11. meta. nvar
125-
126- # test that the problem is actually scalable
127- @test n11 != pb[:nvar ]
128- end
129- end
98+ include (" test-scalable.jl" )
13099
131100rmprocs ()
0 commit comments