Skip to content

Commit 9661e35

Browse files
committed
Fixing problem initialization
1 parent 945d7bc commit 9661e35

File tree

3 files changed

+68
-90
lines changed

3 files changed

+68
-90
lines changed

benchmarks/OptimizationCUTEst/CUTEst.jmd

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ using CUTEst
2121
using OptimizationOptimJL
2222
using Ipopt
2323
using OptimizationMOI
24+
using OptimizationMOI: MOI as MOI
2425
using DataFrames
2526
```
2627

@@ -37,16 +38,18 @@ We will be testing the [Ipopt]() and the [LBFGS]() optimizers on these classes o
3738
problems.
3839

3940
```julia
40-
optimizers = [Optimization.LBFGS(),
41-
OptimizationMOI.MOI.OptimizerWithAtributes(Ipopt.Optimizer, "print_level" => 0)
41+
optimizers = [
42+
Optimization.LBFGS(),
43+
MOI.OptimizerWithAttributes(Ipopt.Optimizer, "print_level" => 0)
4244
]
4345

4446
function get_stats(sol, ::Optimization.LBFGS)
4547
return (length(sol.u), sol.stats.time, "LBFGS", Symbol(sol.retcode))
4648
end
4749

48-
function get_stats(sol, ::MathOptInterface.OptimizerWithAtributes)
49-
return (length(sol.u), sol.original.solve_time, "Ipopt", Symbol(sol.retcode))
50+
function get_stats(sol, ::OptimizationMOI.MOI.OptimizerWithAttributes)
51+
return (length(sol.u), MOI.get(sol.original.model, MOI.SolveTimeSec()),
52+
"Ipopt", Symbol(sol.retcode))
5053
end
5154
```
5255

@@ -70,9 +73,10 @@ broadcast(c -> sizehint!(c, optz * n), [problem, n_vars, secs, solver, retcode])
7073

7174
for prob_name in unc_problems
7275
nlp_prob = CUTEstModel(prob_name)
73-
prob = OptimizationProblem(nlp_prob, Optimization.AutoForwardDiff())
76+
prob = OptimizationNLPModels.OptimizationProblem(nlp_prob, Optimization.AutoForwardDiff())
7477
for optimizer in optimizers
7578
sol = solve(prob, optimizer; maxiters = 1e7)
79+
finalize(nlp_prob)
7680

7781
vars, time, alg, code = get_stats(sol, optimizer)
7882

@@ -83,7 +87,7 @@ for prob_name in unc_problems
8387
push!(retcode, code)
8488
end
8589

86-
finalize(nlp_prob)
90+
break
8791
end
8892

8993
```

benchmarks/OptimizationCUTEst/Manifest.toml

Lines changed: 55 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
julia_version = "1.10.4"
44
manifest_format = "2.0"
5-
project_hash = "2f2184fc8ad8056c736a80290dbe460e489d1949"
5+
project_hash = "9f2e041a137334db6af44822a99b9eb016bf9898"
66

77
[[deps.ADTypes]]
88
git-tree-sha1 = "99a6f5d0ce1c7c6afdb759daa30226f71c54f6b0"
@@ -152,11 +152,6 @@ git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd"
152152
uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
153153
version = "1.0.8+1"
154154

155-
[[deps.CEnum]]
156-
git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc"
157-
uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82"
158-
version = "0.5.0"
159-
160155
[[deps.CPUSummary]]
161156
deps = ["CpuId", "IfElse", "PrecompileTools", "Static"]
162157
git-tree-sha1 = "5a97e67919535d6841172016c9530fd69494e5ec"
@@ -181,12 +176,6 @@ git-tree-sha1 = "961e9464a40f2009ad5f70edab16888a61d99121"
181176
uuid = "bb5f6f25-f23d-57fd-8f90-3ef7bad1d825"
182177
version = "2.0.7+0"
183178

184-
[[deps.ChainRules]]
185-
deps = ["Adapt", "ChainRulesCore", "Compat", "Distributed", "GPUArraysCore", "IrrationalConstants", "LinearAlgebra", "Random", "RealDot", "SparseArrays", "SparseInverseSubset", "Statistics", "StructArrays", "SuiteSparse"]
186-
git-tree-sha1 = "227985d885b4dbce5e18a96f9326ea1e836e5a03"
187-
uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2"
188-
version = "1.69.0"
189-
190179
[[deps.ChainRulesCore]]
191180
deps = ["Compat", "LinearAlgebra"]
192181
git-tree-sha1 = "71acdbf594aab5bbb2cec89b208c41b4c411e49f"
@@ -315,6 +304,12 @@ git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe"
315304
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
316305
version = "1.16.0"
317306

307+
[[deps.DataFrames]]
308+
deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"]
309+
git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8"
310+
uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
311+
version = "1.6.1"
312+
318313
[[deps.DataStructures]]
319314
deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
320315
git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82"
@@ -639,12 +634,6 @@ version = "0.4.12"
639634
deps = ["Random"]
640635
uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
641636

642-
[[deps.GPUArrays]]
643-
deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"]
644-
git-tree-sha1 = "a74c3f1cf56a3dfcdef0605f8cdb7015926aae30"
645-
uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7"
646-
version = "10.3.0"
647-
648637
[[deps.GPUArraysCore]]
649638
deps = ["Adapt"]
650639
git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950"
@@ -686,12 +675,6 @@ git-tree-sha1 = "7c4195be1649ae622304031ed46a2f4df989f1eb"
686675
uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a"
687676
version = "0.3.24"
688677

689-
[[deps.IRTools]]
690-
deps = ["InteractiveUtils", "MacroTools"]
691-
git-tree-sha1 = "950c3717af761bc3ff906c2e8e52bd83390b6ec2"
692-
uuid = "7869d1d1-7146-5819-86e3-90919afe41df"
693-
version = "0.4.14"
694-
695678
[[deps.IfElse]]
696679
git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1"
697680
uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173"
@@ -707,6 +690,19 @@ git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d"
707690
uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9"
708691
version = "0.1.5"
709692

693+
[[deps.InlineStrings]]
694+
git-tree-sha1 = "45521d31238e87ee9f9732561bfee12d4eebd52d"
695+
uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48"
696+
version = "1.4.2"
697+
698+
[deps.InlineStrings.extensions]
699+
ArrowTypesExt = "ArrowTypes"
700+
ParsersExt = "Parsers"
701+
702+
[deps.InlineStrings.weakdeps]
703+
ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
704+
Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
705+
710706
[[deps.IntelOpenMP_jll]]
711707
deps = ["Artifacts", "JLLWrappers", "Libdl"]
712708
git-tree-sha1 = "14eb2b542e748570b56446f4c50fbfb2306ebc45"
@@ -738,6 +734,11 @@ weakdeps = ["Dates", "Test"]
738734
InverseFunctionsDatesExt = "Dates"
739735
InverseFunctionsTestExt = "Test"
740736

737+
[[deps.InvertedIndices]]
738+
git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038"
739+
uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
740+
version = "1.3.0"
741+
741742
[[deps.Ipopt]]
742743
deps = ["Ipopt_jll", "LinearAlgebra", "MathOptInterface", "OpenBLAS32_jll", "PrecompileTools"]
743744
git-tree-sha1 = "92588db78296190d27668a560df3997719fc2a25"
@@ -814,24 +815,6 @@ git-tree-sha1 = "e2e6f53ee20605d0ea2be473480b7480bd5091b5"
814815
uuid = "5be7bae1-8223-5378-bac3-9e7378a2f6e6"
815816
version = "0.4.1"
816817

817-
[[deps.LLVM]]
818-
deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"]
819-
git-tree-sha1 = "2470e69781ddd70b8878491233cd09bc1bd7fc96"
820-
uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
821-
version = "8.1.0"
822-
823-
[deps.LLVM.extensions]
824-
BFloat16sExt = "BFloat16s"
825-
826-
[deps.LLVM.weakdeps]
827-
BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b"
828-
829-
[[deps.LLVMExtra_jll]]
830-
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"]
831-
git-tree-sha1 = "597d1c758c9ae5d985ba4202386a607c675ee700"
832-
uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab"
833-
version = "0.0.31+0"
834-
835818
[[deps.L_BFGS_B_jll]]
836819
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"]
837820
git-tree-sha1 = "77feda930ed3f04b2b0fbb5bea89e69d3677c6b0"
@@ -1324,7 +1307,7 @@ weakdeps = ["MathOptInterface"]
13241307

13251308
[[deps.Optimization]]
13261309
deps = ["ADTypes", "ArrayInterface", "ConsoleProgressMonitor", "DocStringExtensions", "LBFGSB", "LinearAlgebra", "Logging", "LoggingExtras", "OptimizationBase", "Pkg", "Printf", "ProgressLogging", "Reexport", "SciMLBase", "SparseArrays", "TerminalLoggers"]
1327-
git-tree-sha1 = "e51c209075bf413ee1dbf4a2473972276965022c"
1310+
path = "../../../Optimization.jl"
13281311
uuid = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
13291312
version = "3.27.0"
13301313

@@ -1360,6 +1343,12 @@ git-tree-sha1 = "830acbb62243562642427903ea16d79e969e87d1"
13601343
uuid = "fd9f6733-72f4-499f-8506-86b2bdd0dea1"
13611344
version = "0.4.3"
13621345

1346+
[[deps.OptimizationNLPModels]]
1347+
deps = ["ADTypes", "NLPModels", "Optimization", "Reexport"]
1348+
path = "../../../Optimization.jl/lib/OptimizationNLPModels"
1349+
uuid = "064b21be-54cf-11ef-1646-cdfee32b588f"
1350+
version = "0.0.1"
1351+
13631352
[[deps.OptimizationOptimJL]]
13641353
deps = ["Optim", "Optimization", "Reexport", "SparseArrays"]
13651354
git-tree-sha1 = "43870d726f883a47d158beebb1fc3c9fab1da9d6"
@@ -1436,6 +1425,12 @@ version = "4.0.11"
14361425
MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b"
14371426
MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0"
14381427

1428+
[[deps.PooledArrays]]
1429+
deps = ["DataAPI", "Future"]
1430+
git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3"
1431+
uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720"
1432+
version = "1.4.3"
1433+
14391434
[[deps.PositiveFactorizations]]
14401435
deps = ["LinearAlgebra"]
14411436
git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20"
@@ -1466,6 +1461,12 @@ git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6"
14661461
uuid = "21216c6a-2e73-6563-6e65-726566657250"
14671462
version = "1.4.3"
14681463

1464+
[[deps.PrettyTables]]
1465+
deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"]
1466+
git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7"
1467+
uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
1468+
version = "2.3.2"
1469+
14691470
[[deps.Printf]]
14701471
deps = ["Unicode"]
14711472
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
@@ -1667,6 +1668,12 @@ git-tree-sha1 = "20ad3e7c137156c50c93c888d0f2bc5b7883c729"
16671668
uuid = "53ae85a6-f571-4167-b2af-e1d143709226"
16681669
version = "1.4.2"
16691670

1671+
[[deps.SentinelArrays]]
1672+
deps = ["Dates", "Random"]
1673+
git-tree-sha1 = "ff11acffdb082493657550959d4feb4b6149e73a"
1674+
uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
1675+
version = "1.4.5"
1676+
16701677
[[deps.Serialization]]
16711678
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
16721679

@@ -1744,12 +1751,6 @@ version = "2.20.0"
17441751
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
17451752
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
17461753

1747-
[[deps.SparseInverseSubset]]
1748-
deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"]
1749-
git-tree-sha1 = "52962839426b75b3021296f7df242e40ecfc0852"
1750-
uuid = "dc90abb0-5640-4711-901d-7e5b23a2fada"
1751-
version = "0.1.2"
1752-
17531754
[[deps.SparseMatrixColorings]]
17541755
deps = ["ADTypes", "Compat", "DataStructures", "DocStringExtensions", "LinearAlgebra", "Random", "SparseArrays"]
17551756
git-tree-sha1 = "996dff77d814c45c3f2342fa0113e4ad31e712e8"
@@ -1839,18 +1840,11 @@ git-tree-sha1 = "f35f6ab602df8413a50c4a25ca14de821e8605fb"
18391840
uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da"
18401841
version = "0.5.7"
18411842

1842-
[[deps.StructArrays]]
1843-
deps = ["ConstructionBase", "DataAPI", "Tables"]
1844-
git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be"
1845-
uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
1846-
version = "0.6.18"
1847-
weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"]
1848-
1849-
[deps.StructArrays.extensions]
1850-
StructArraysAdaptExt = "Adapt"
1851-
StructArraysGPUArraysCoreExt = "GPUArraysCore"
1852-
StructArraysSparseArraysExt = "SparseArrays"
1853-
StructArraysStaticArraysExt = "StaticArrays"
1843+
[[deps.StringManipulation]]
1844+
deps = ["PrecompileTools"]
1845+
git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5"
1846+
uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e"
1847+
version = "0.3.4"
18541848

18551849
[[deps.SuiteSparse]]
18561850
deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
@@ -2032,28 +2026,6 @@ deps = ["Libdl"]
20322026
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
20332027
version = "1.2.13+1"
20342028

2035-
[[deps.Zygote]]
2036-
deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "PrecompileTools", "Random", "Requires", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"]
2037-
git-tree-sha1 = "19c586905e78a26f7e4e97f81716057bd6b1bc54"
2038-
uuid = "e88e6eb3-aa80-5325-afca-941959d7151f"
2039-
version = "0.6.70"
2040-
2041-
[deps.Zygote.extensions]
2042-
ZygoteColorsExt = "Colors"
2043-
ZygoteDistancesExt = "Distances"
2044-
ZygoteTrackerExt = "Tracker"
2045-
2046-
[deps.Zygote.weakdeps]
2047-
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
2048-
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
2049-
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
2050-
2051-
[[deps.ZygoteRules]]
2052-
deps = ["ChainRulesCore", "MacroTools"]
2053-
git-tree-sha1 = "27798139afc0a2afa7b1824c206d5e87ea587a00"
2054-
uuid = "700de1a5-db45-46bc-99cf-38207098b444"
2055-
version = "0.2.5"
2056-
20572029
[[deps.libblastrampoline_jll]]
20582030
deps = ["Artifacts", "Libdl"]
20592031
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"

benchmarks/OptimizationCUTEst/Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
[deps]
22
CUTEst = "1b53aba6-35b6-5f92-a507-53c67d53f819"
3+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
34
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
5+
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
46
OptimizationMOI = "fd9f6733-72f4-499f-8506-86b2bdd0dea1"
7+
OptimizationNLPModels = "064b21be-54cf-11ef-1646-cdfee32b588f"
58
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
6-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

0 commit comments

Comments
 (0)