diff --git a/Manifest.toml b/Manifest.toml index 058a1a3..3fc48f8 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,5 +1,11 @@ # This file is machine-generated - editing it directly is not advised +[[ASL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6252039f98492252f9e47c312c8ffda0e3b9e78d" +uuid = "ae81ac8f-d209-56e5-92de-9978fef736f9" +version = "0.1.3+0" + [[ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" @@ -10,63 +16,64 @@ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"] -git-tree-sha1 = "068fda9b756e41e6c75da7b771e6f89fa8a43d15" +deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] +git-tree-sha1 = "4c10eee4af024676200bc7752e536f858c6b8f93" uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "0.7.0" - -[[BinaryProvider]] -deps = ["Libdl", "Logging", "SHA"] -git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" -uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" -version = "0.5.10" +version = "1.3.1" [[Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c3598e525718abcc440f69cc6d5f60dda0a1b61e" +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.6+5" - -[[CEnum]] -git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.1" +version = "1.0.8+0" [[CSV]] -deps = ["Dates", "Mmap", "Parsers", "PooledArrays", "SentinelArrays", "Tables", "Unicode"] -git-tree-sha1 = "b83aa3f513be680454437a0eee21001607e5d983" +deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings"] +git-tree-sha1 = "873fb188a4b9d76549b81465b1f75c82aaf59238" uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.8.5" - -[[Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" +version = "0.10.4" [[Cbc]] -deps = ["BinaryProvider", "Libdl", "MathOptInterface", "MathProgBase", "SparseArrays", "Test"] -git-tree-sha1 = "62d80f448b5d77b3f0a59cecf6197aad2a3aa280" +deps = ["Cbc_jll", "MathOptInterface", "SparseArrays"] +git-tree-sha1 = "558876c20597e6b66f2bbd68ec0a8a434451f5b1" uuid = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" -version = "0.6.7" +version = "1.0.1" + +[[Cbc_jll]] +deps = ["ASL_jll", "Artifacts", "Cgl_jll", "Clp_jll", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"] +git-tree-sha1 = "a3c5986d7713bce4260d9826deead060a17c8e2d" +uuid = "38041ee0-ae04-5750-a4d2-bb4d0d83d27d" +version = "200.1000.501+0" + +[[Cgl_jll]] +deps = ["Artifacts", "Clp_jll", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Osi_jll", "Pkg"] +git-tree-sha1 = "11eb7b7688925e9751b5d7a187aaa4291eae2664" +uuid = "3830e938-1dd0-5f3e-8b8e-b3ee43226782" +version = "0.6000.300+0" [[ChainRulesCore]] deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e6b23566e025d3b0d9ccc397f5c7a134af552e27" +git-tree-sha1 = "80ca332f6dcb2508adba68f22f551adb2d00a624" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "0.9.42" +version = "1.15.3" + +[[ChangesOfVariables]] +deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +git-tree-sha1 = "38f7a08f19d8810338d4f5085211c7dfa5d5bdd8" +uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" +version = "0.1.4" [[Clp]] -deps = ["BinaryProvider", "CEnum", "Clp_jll", "Libdl", "MathOptInterface", "SparseArrays"] -git-tree-sha1 = "3df260c4a5764858f312ec2a17f5925624099f3a" +deps = ["Clp_jll", "MathOptInterface"] +git-tree-sha1 = "3d8cd8fecd362f16e34d430a7125eae42050e635" uuid = "e2554f3b-3117-50c0-817c-e040a3ddf72d" -version = "0.8.4" +version = "1.0.1" [[Clp_jll]] deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "METIS_jll", "MUMPS_seq_jll", "OpenBLAS32_jll", "Osi_jll", "Pkg"] -git-tree-sha1 = "5e4f9a825408dc6356e6bf1015e75d2b16250ec8" +git-tree-sha1 = "b1031dcfbb44553194c9e650feb5ab65e372504f" uuid = "06985876-5285-5a41-9fcb-8948a742cc53" -version = "100.1700.600+0" +version = "100.1700.601+0" [[CodecBzip2]] deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] @@ -82,9 +89,9 @@ version = "0.7.0" [[CoinUtils_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "9b4a8b1087376c56189d02c3c1a48a0bba098ec2" +git-tree-sha1 = "44173e61256f32918c6c132fc41f772bab1fb6d1" uuid = "be027038-0da8-5614-b30d-e42594cb92df" -version = "2.11.4+2" +version = "200.1100.400+0" [[CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -94,41 +101,41 @@ version = "0.3.0" [[Compat]] deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "0a817fbe51c976de090aa8c997b7b719b786118d" +git-tree-sha1 = "9be8be1d8a6f44b96482c8af52238ea7987da3e3" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.28.0" +version = "3.45.0" [[CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" [[Conda]] -deps = ["JSON", "VersionParsing"] -git-tree-sha1 = "299304989a5e6473d985212c28928899c74e9421" +deps = ["Downloads", "JSON", "VersionParsing"] +git-tree-sha1 = "6e47d11ea2776bc5627421d59cdcc1296c058071" uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" -version = "1.5.2" +version = "1.7.0" [[Crayons]] -git-tree-sha1 = "3f71217b538d7aaee0b69ab47d9b7724ca8afa0d" +git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.0.4" +version = "4.1.1" [[DataAPI]] -git-tree-sha1 = "dfb3b7e89e395be1e25c2ad6d7690dc29cc53b1d" +git-tree-sha1 = "fb5f5316dd3fd4c5e7c30a24d50643b73e37cd40" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.6.0" +version = "1.10.0" [[DataFrames]] deps = ["Compat", "DataAPI", "Future", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrettyTables", "Printf", "REPL", "Reexport", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] -git-tree-sha1 = "66ee4fe515a9294a8836ef18eea7239c6ac3db5e" +git-tree-sha1 = "daa21eb85147f72e41f6352a57fccea377e310a9" uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" -version = "1.1.1" +version = "1.3.4" [[DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "7d9d316f04214f7efdbb6398d545446e246eff02" +git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.10" +version = "0.18.13" [[DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -150,24 +157,41 @@ uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" version = "1.0.3" [[DiffRules]] -deps = ["NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "214c3fcac57755cfda163d91c58893a8723f93e9" +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "28d605d9a0ac17118fe2c5e9ce0fbb76c3ceb120" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.0.2" +version = "1.11.0" [[Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +[[DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "5158c2b41018c5f7eb1470d558127ac274eca0c9" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.1" + [[Downloads]] deps = ["ArgTools", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +[[ExprTools]] +git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.8" + [[FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "cfb694feaddf4f0381ef3cc9d4c0d8fc6b7e2ea7" +git-tree-sha1 = "94f5101b96d2d968ace56f7f2db19d0a5f592e28" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.9.0" +version = "1.15.0" + +[[FilePathsBase]] +deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] +git-tree-sha1 = "129b104185df66e408edd6625d480b7f9e9823a0" +uuid = "48062228-2e41-5def-b9a4-89aafe57970f" +version = "0.9.18" [[Formatting]] deps = ["Printf"] @@ -176,36 +200,40 @@ uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" version = "0.4.2" [[ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "NaNMath", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "e2af66012e08966366a43251e1fd421522908be6" +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "187198a4ed8ccd7b5d99c41b69c679269ea2b2d4" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.18" +version = "0.10.32" [[Future]] deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -[[HTTP]] -deps = ["Base64", "Dates", "IniFile", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] -git-tree-sha1 = "b855bf8247d6e946c75bb30f593bfe7fe591058d" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "0.9.8" - -[[IniFile]] -deps = ["Test"] -git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.0" +[[InlineStrings]] +deps = ["Parsers"] +git-tree-sha1 = "d19f9edd8c34760dca2de2b503f969d8700ed288" +uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" +version = "1.1.4" [[InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -[[InvertedIndices]] +[[InverseFunctions]] deps = ["Test"] -git-tree-sha1 = "15732c475062348b0165684ffe28e85ea8396afc" +git-tree-sha1 = "b3364212fb5d870f724876ffcd34dd8ec6d98918" +uuid = "3587e190-3f89-42d0-90ee-14403ec27112" +version = "0.1.7" + +[[InvertedIndices]] +git-tree-sha1 = "bee5f1ef5bf65df56bdd2e40447590b272a5471f" uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" -version = "1.0.0" +version = "1.1.0" + +[[IrrationalConstants]] +git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.1.1" [[IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -213,34 +241,32 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[JLD2]] -deps = ["DataStructures", "FileIO", "MacroTools", "Mmap", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "236b8ca4b8f01ebc6f2fceedf344a077f0e69e79" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "81b9477b49402b47fbe7f7ae0b252077f53e4a08" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.7" +version = "0.4.22" [[JLLWrappers]] deps = ["Preferences"] -git-tree-sha1 = "642a199af8b68253517b80bd3bfd17eb4e84df6e" +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.3.0" +version = "1.4.1" [[JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4" +git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.1" - -[[JSONSchema]] -deps = ["HTTP", "JSON", "ZipFile"] -git-tree-sha1 = "b84ab8139afde82c7c65ba2b792fe12e01dd7307" -uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" -version = "0.3.3" +version = "0.21.3" [[JuMP]] -deps = ["Calculus", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MathOptInterface", "MutableArithmetics", "NaNMath", "Printf", "Random", "SparseArrays", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "8dfc5df8aad9f2cfebc8371b69700efd02060827" +deps = ["LinearAlgebra", "MathOptInterface", "MutableArithmetics", "OrderedCollections", "Printf", "SparseArrays"] +git-tree-sha1 = "b0a3d727bb2ab8e327fa29d97914f84f1b0257b9" uuid = "4076af6c-e467-56ae-b986-b466b2749572" -version = "0.21.8" +version = "1.2.0" + +[[LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" [[LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] @@ -265,48 +291,42 @@ uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" deps = ["Libdl"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[LogExpFunctions]] +deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "361c2b088575b07946508f135ac556751240091c" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.17" + [[Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[METIS_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "2dc1a9fc87e57e32b1fc186db78811157b30c118" +git-tree-sha1 = "1d31872bb9c5e7ec1f618e8c4a56c8b0d9bddc7e" uuid = "d00139f3-1899-568f-a2f0-47f597d42d70" -version = "5.1.0+5" +version = "5.1.1+0" [[MUMPS_seq_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "METIS_jll", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "a1d469a2a0acbfe219ef9bdfedae97daacac5a0e" +git-tree-sha1 = "29de2841fa5aefe615dea179fcde48bb87b58f57" uuid = "d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d" -version = "5.4.0+0" +version = "5.4.1+0" [[MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "6a8a2a625ab0dea913aba95c11370589e0239ff0" +git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.6" +version = "0.5.9" [[Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[MathOptInterface]] -deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"] -git-tree-sha1 = "cd3057ca89a9ab83ce37ec42324523b8db0c60dc" +deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] +git-tree-sha1 = "b79f525737702ff2a3f2005a0823e3518ce8b04c" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "0.9.21" - -[[MathProgBase]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "9abbe463a1e9fc507f12a69e7f29346c2cdc472c" -uuid = "fdba3010-5040-5b88-9595-932c9decdf73" -version = "0.7.8" - -[[MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] -git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.0.3" +version = "1.7.0" [[MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -314,9 +334,9 @@ uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" [[Missings]] deps = ["DataAPI"] -git-tree-sha1 = "4ea90bd5d3985ae1f9a908bd4500ae88921c5ce7" +git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.0.0" +version = "1.0.2" [[Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" @@ -326,14 +346,15 @@ uuid = "14a3606d-f60d-562e-9121-12d972cd8159" [[MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "ad9b2bce6021631e0e20706d361972343a03e642" +git-tree-sha1 = "4e675d6e9ec02061800d6cfb695812becbd03cdf" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "0.2.19" +version = "1.0.4" [[NaNMath]] -git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" +deps = ["OpenLibm_jll"] +git-tree-sha1 = "a7c3d1da1189a1c2fe843a3bfa04d18d20eb3211" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.5" +version = "1.0.1" [[NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" @@ -344,11 +365,15 @@ git-tree-sha1 = "ba4a8f683303c9082e84afba96f25af3c7fb2436" uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" version = "0.3.12+1" +[[OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" + [[OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b9b8b8ed236998f91143938a760c2112dceeb2b4" +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.4+0" +version = "0.5.5+0" [[OrderedCollections]] git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" @@ -357,21 +382,21 @@ version = "1.4.1" [[Osi_jll]] deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "6a9967c4394858f38b7fc49787b983ba3847e73d" +git-tree-sha1 = "28e0ddebd069f605ab1988ab396f239a3ac9b561" uuid = "7da25872-d9ce-5375-a4d3-7a845f58efdd" -version = "0.108.6+2" +version = "0.10800.600+0" [[PackageCompiler]] -deps = ["Libdl", "Pkg", "UUIDs"] -git-tree-sha1 = "bb40ed7cb3aac2b4cdf42f898c26a58ab797ac62" +deps = ["Artifacts", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs"] +git-tree-sha1 = "c497e2bb9c2127a411b74dbff56b11f258d67d12" uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" -version = "1.3.0" +version = "2.0.9" [[Parsers]] deps = ["Dates"] -git-tree-sha1 = "c8abc88faa3f7a3950832ac5d6e690881590d6dc" +git-tree-sha1 = "0044b23da09b5608b4ecacb4e5e6c6332f833a7e" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "1.1.0" +version = "2.3.2" [[Pkg]] deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] @@ -379,31 +404,35 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[PooledArrays]] deps = ["DataAPI", "Future"] -git-tree-sha1 = "cde4ce9d6f33219465b55162811d8de8139c0414" +git-tree-sha1 = "a6062fe4063cdafe78f4a0a81cfffb89721b30e7" uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" -version = "1.2.1" +version = "1.4.2" [[Preferences]] deps = ["TOML"] -git-tree-sha1 = "00cfd92944ca9c760982747e9a1d0d5d86ab1e5a" +git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.2.2" +version = "1.3.0" [[PrettyTables]] deps = ["Crayons", "Formatting", "Markdown", "Reexport", "Tables"] -git-tree-sha1 = "b60494adf99652d220cdef46f8a32232182cc22d" +git-tree-sha1 = "dfb54c4e414caa595a1f2ed759b160f5a3ddcba5" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "1.0.1" +version = "1.3.1" [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + [[PyCall]] deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] -git-tree-sha1 = "169bb8ea6b1b143c5cf57df6d34d022a7b60c6db" +git-tree-sha1 = "1fc929f47d7c151c839c5fc1375929766fb8edcc" uuid = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" -version = "1.92.3" +version = "1.93.1" [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -414,24 +443,36 @@ deps = ["Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[Reexport]] -git-tree-sha1 = "57d8440b0c7d98fc4f889e478e80f268d534c9d5" +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.0.0" +version = "1.2.2" + +[[RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "cdbd3b1338c72ce29d9584fdbe9e9b70eeb5adca" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "0.1.3" [[Requires]] deps = ["UUIDs"] -git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621" +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.1.3" +version = "1.3.0" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +[[Scratch]] +deps = ["Dates"] +git-tree-sha1 = "f94f779c94e58bf9ea243e77a37e16d9de9126bd" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.1.1" + [[SentinelArrays]] deps = ["Dates", "Random"] -git-tree-sha1 = "2ce5f07bbc1be0a1b5d5c0e281441d3bf8a7a2e5" +git-tree-sha1 = "db8481cf5d6278a121184809e9eb1628943c7704" uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.3.0" +version = "1.3.13" [[Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -445,25 +486,30 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "2ec1962eba973f383239da22e75218565c390a96" +git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.0.0" +version = "1.0.1" [[SparseArrays]] deps = ["LinearAlgebra", "Random"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] -deps = ["ChainRulesCore", "OpenSpecFun_jll"] -git-tree-sha1 = "5919936c0e92cff40e57d0ddf0ceb667d42e5902" +deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "d75bda01f8c31ebb72df80a46c88b25d1c79c56d" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "1.3.0" +version = "2.1.7" [[StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "fb46e45ef2cade8be20bb445b3ffeca3c6d6f7d3" +deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] +git-tree-sha1 = "8803c6dea034ab8cd988abe4a91e5589d61c7416" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.1.3" +version = "1.5.4" + +[[StaticArraysCore]] +git-tree-sha1 = "5b413a57dd3cea38497d745ce088ac8592fbb5be" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.1.0" [[Statistics]] deps = ["LinearAlgebra", "SparseArrays"] @@ -480,10 +526,10 @@ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"] -git-tree-sha1 = "c9d2d262e9a327be1f35844df25fe4561d258dc9" +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] +git-tree-sha1 = "5ce79ce186cc678bbb5c5681ca3379d1ddae11a1" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.4.2" +version = "1.7.0" [[Tar]] deps = ["ArgTools", "SHA"] @@ -494,21 +540,16 @@ deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[TimerOutputs]] -deps = ["Printf"] -git-tree-sha1 = "32cdbe6cd2d214c25a0b88f985c9e0092877c236" +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "9dfcb767e17b0849d6aaf85997c98a5aea292513" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.8" +version = "0.5.21" [[TranscodingStreams]] deps = ["Random", "Test"] -git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c" +git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.5" - -[[URIs]] -git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.3.0" +version = "0.9.6" [[UUIDs]] deps = ["Random", "SHA"] @@ -518,15 +559,15 @@ uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[VersionParsing]] -git-tree-sha1 = "80229be1f670524750d905f8fc8148e5a8c4537f" +git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" -version = "1.2.0" +version = "1.3.0" -[[ZipFile]] -deps = ["Libdl", "Printf", "Zlib_jll"] -git-tree-sha1 = "c3a5637e27e914a7a445b8d0ad063d701931e9f7" -uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.9.3" +[[WeakRefStrings]] +deps = ["DataAPI", "InlineStrings", "Parsers"] +git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23" +uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" +version = "1.4.2" [[Zlib_jll]] deps = ["Libdl"] diff --git a/Project.toml b/Project.toml index bc90f42..7e9d66a 100644 --- a/Project.toml +++ b/Project.toml @@ -25,7 +25,5 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [compat] -JuMP = "0.21" -MathOptInterface = "0.9" -TimerOutputs = "0.5" +JuMP = "1" julia = "1" diff --git a/src/bb/lp.jl b/src/bb/lp.jl index 7ed1a36..ccaaf97 100644 --- a/src/bb/lp.jl +++ b/src/bb/lp.jl @@ -16,6 +16,7 @@ end function read!(mip::MIP, filename::AbstractString)::Nothing @threads for t = 1:nthreads() model = read_from_file(filename) + set_optimizer(model, mip.constructor) mip.optimizers[t] = backend(model) _replace_zero_one!(mip.optimizers[t]) if t == 1 @@ -24,21 +25,20 @@ function read!(mip::MIP, filename::AbstractString)::Nothing mip.sense = _get_objective_sense(mip.optimizers[t]) end _relax_integrality!(mip.optimizers[t]) - set_optimizer(model, mip.constructor) set_silent(model) end return end function _assert_supported(optimizer::MOI.AbstractOptimizer)::Nothing - types = MOI.get(optimizer, MOI.ListOfConstraints()) + types = MOI.get(optimizer, MOI.ListOfConstraintTypesPresent()) for (F, S) in types _assert_supported(F, S) end end -function _assert_supported(F::DataType, S::DataType)::Nothing - if F in [MOI.ScalarAffineFunction{Float64}, MOI.SingleVariable] && S in [ +function _assert_supported(F::Type, S::Type)::Nothing + if F in [MOI.ScalarAffineFunction{Float64}, MOI.VariableIndex] && S in [ MOI.LessThan{Float64}, MOI.GreaterThan{Float64}, MOI.EqualTo{Float64}, @@ -46,7 +46,7 @@ function _assert_supported(F::DataType, S::DataType)::Nothing ] return end - if F in [MOI.SingleVariable] && S in [MOI.Integer, MOI.ZeroOne] + if F in [MOI.VariableIndex] && S in [MOI.Integer, MOI.ZeroOne] return end error("MOI constraint not supported: $F in $S") @@ -64,19 +64,19 @@ function _get_objective_sense(optimizer::MOI.AbstractOptimizer)::Float64 end _bounds_constraint(v::Variable) = - MOI.ConstraintIndex{MOI.SingleVariable,MOI.Interval{Float64}}(v.index) + MOI.ConstraintIndex{MOI.VariableIndex,MOI.Interval{Float64}}(v.index) function _replace_zero_one!(optimizer::MOI.AbstractOptimizer)::Nothing constrs_to_delete = MOI.ConstraintIndex[] - funcs = MOI.SingleVariable[] + funcs = MOI.VariableIndex[] sets = Union{MOI.Interval,MOI.Integer}[] for ci in - MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.SingleVariable,MOI.ZeroOne}()) + MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.VariableIndex,MOI.ZeroOne}()) func = MOI.get(optimizer, MOI.ConstraintFunction(), ci) - var = func.variable + var = func.value push!(constrs_to_delete, ci) - push!(funcs, MOI.SingleVariable(var)) - push!(funcs, MOI.SingleVariable(var)) + push!(funcs, MOI.VariableIndex(var)) + push!(funcs, MOI.VariableIndex(var)) push!(sets, MOI.Interval{Float64}(0.0, 1.0)) push!(sets, MOI.Integer()) end @@ -88,9 +88,9 @@ end function _get_binary_variables(optimizer::MOI.AbstractOptimizer)::Vector{Variable} vars = Variable[] for ci in - MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.SingleVariable,MOI.Integer}()) + MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.VariableIndex,MOI.Integer}()) func = MOI.get(optimizer, MOI.ConstraintFunction(), ci) - var = Variable(func.variable.value) + var = Variable(func.value) MOI.is_valid(optimizer, _bounds_constraint(var)) || error("$var is not interval-constrained") @@ -105,7 +105,7 @@ end function _relax_integrality!(optimizer::MOI.AbstractOptimizer)::Nothing indices = - MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.SingleVariable,MOI.Integer}()) + MOI.get(optimizer, MOI.ListOfConstraintIndices{MOI.VariableIndex,MOI.Integer}()) MOI.delete(optimizer, indices) end @@ -146,7 +146,7 @@ function values(mip::MIP, vars::Vector{Variable})::Array{Float64} return MOI.get( mip.optimizers[threadid()], MOI.VariablePrimal(), - convert.(MOI.VariableIndex, vars), + [MOI.VariableIndex(v.index) for v in vars], ) end @@ -170,10 +170,10 @@ function set_bounds!( )::Nothing t = threadid() MOI.delete(mip.optimizers[t], _bounds_constraint.(vars)) - funcs = MOI.SingleVariable[] + funcs = MOI.VariableIndex[] sets = MOI.Interval[] for j = 1:length(vars) - push!(funcs, MOI.SingleVariable(vars[j])) + push!(funcs, MOI.VariableIndex(vars[j].index)) push!(sets, MOI.Interval(lb[j], ub[j])) end MOI.add_constraints(mip.optimizers[t], funcs, sets) @@ -187,7 +187,7 @@ Return the name of the decision variable `var`. """ function name(mip::MIP, var::Variable)::String t = threadid() - return MOI.get(mip.optimizers[t], MOI.VariableName(), convert(MOI.VariableIndex, var)) + return MOI.get(mip.optimizers[t], MOI.VariableName(), MOI.VariableIndex(var.index)) end convert(::Type{MOI.VariableIndex}, v::Variable) = MOI.VariableIndex(v.index) diff --git a/src/solvers/jump_solver.jl b/src/solvers/jump_solver.jl index 8c50e94..efb56ac 100644 --- a/src/solvers/jump_solver.jl +++ b/src/solvers/jump_solver.jl @@ -14,7 +14,7 @@ import JuMP: value Base.@kwdef mutable struct JuMPSolverData optimizer_factory::Any - basis_status::Dict{ConstraintRef,MOI.BasisStatusCode} = Dict() + basis_status::Dict = Dict() bin_vars::Vector{JuMP.VariableRef} = [] int_vars::Vector{JuMP.VariableRef} = [] cb_data::Any = nothing @@ -64,6 +64,7 @@ function _update_solution!(data::JuMPSolverData) data.reduced_costs = [] data.basis_status = Dict() + # Reduced costs for var in vars rc = 0.0 if has_upper_bound(var) @@ -77,6 +78,13 @@ function _update_solution!(data::JuMPSolverData) rc += shadow_price(FixRef(var)) end push!(data.reduced_costs, rc) + + # Basis status + data.basis_status[var] = MOI.get( + data.model, + MOI.VariableBasisStatus(), + var, + ) end try @@ -85,27 +93,18 @@ function _update_solution!(data::JuMPSolverData) @warn "Sensitivity analysis is unavailable; ignoring" maxlog = 1 end - basis_status_supported = true data.dual_values = Dict() for (ftype, stype) in JuMP.list_of_constraint_types(data.model) + ftype != VariableRef || continue for constr in JuMP.all_constraints(data.model, ftype, stype) # Dual values (FIXME: Remove negative sign) data.dual_values[constr] = -JuMP.dual(constr) # Basis status - if basis_status_supported - try - data.basis_status[constr] = - MOI.get(data.model, MOI.ConstraintBasisStatus(), constr) - catch - @warn "Basis status is unavailable; ignoring" maxlog = 1 - basis_status_supported = false - data.basis_status = Dict() - end - end + data.basis_status[constr] = + MOI.get(data.model, MOI.ConstraintBasisStatus(), constr) end end - else data.reduced_costs = [] data.dual_values = Dict() @@ -439,18 +438,15 @@ function get_variables(data::JuMPSolverData; with_static::Bool, with_sa::Bool) if !isempty(data.basis_status) basis_status = [] for v in vars - basis_status_v = "B" - if has_lower_bound(v) - constr = LowerBoundRef(v) - if data.basis_status[constr] == MOI.NONBASIC - basis_status_v = "L" - end - end - if has_upper_bound(v) - constr = UpperBoundRef(v) - if data.basis_status[constr] == MOI.NONBASIC - basis_status_v = "U" - end + bstatus = data.basis_status[v] + if bstatus == MOI.BASIC + basis_status_v = "B" + elseif bstatus == MOI.NONBASIC_AT_LOWER + basis_status_v = "L" + elseif bstatus == MOI.NONBASIC_AT_UPPER + basis_status_v = "U" + else + error("Unknown basis status: $(bstatus)") end push!(basis_status, basis_status_v) end @@ -530,7 +526,7 @@ function get_constraints( end push!(rhs, rhs_c) for term in cf.terms - push!(lhs_cols, term.variable_index.value) + push!(lhs_cols, term.variable.value) push!(lhs_rows, constr_index) push!(lhs_values, term.coefficient) end @@ -631,7 +627,7 @@ function __init_JuMPSolver__() ) function get_constraint_attrs(self) - attrs = [ + return [ "categories", "dual_values", "lazy", @@ -641,18 +637,18 @@ function __init_JuMPSolver__() "senses", "user_features", "slacks", + "basis_status", + "sa_rhs_down", + "sa_rhs_up", ] - if repr(self.data.optimizer_factory) in ["Gurobi.Optimizer"] - append!(attrs, ["basis_status", "sa_rhs_down", "sa_rhs_up"]) - end - return attrs end get_variables(self; with_static = true, with_sa = true) = get_variables(self.data; with_static = with_static, with_sa = with_sa) function get_variable_attrs(self) - attrs = [ + return [ + "basis_status", "names", "categories", "lower_bounds", @@ -662,22 +658,13 @@ function __init_JuMPSolver__() "upper_bounds", "user_features", "values", + "sa_obj_down", + "sa_obj_up", + "sa_lb_down", + "sa_lb_up", + "sa_ub_down", + "sa_ub_up", ] - if repr(self.data.optimizer_factory) in ["Gurobi.Optimizer"] - append!( - attrs, - [ - "basis_status", - "sa_obj_down", - "sa_obj_up", - "sa_lb_down", - "sa_lb_up", - "sa_ub_down", - "sa_ub_up", - ], - ) - end - return attrs end is_infeasible(self) = is_infeasible(self.data) diff --git a/test/runtests.jl b/test/runtests.jl index 5122003..c942df9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -14,7 +14,6 @@ const is_gurobi_available = ("GUROBI_HOME" in keys(ENV)) include("instance/jump_instance_test.jl") include("solvers/jump_solver_test.jl") include("solvers/learning_solver_test.jl") - # include("utils/benchmark_test.jl") include("utils/parse_test.jl") include("bb/lp_test.jl") end