From 49f9784020188eb2bfea72c50469d6900f50139c Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Wed, 20 Nov 2024 22:19:20 +0000 Subject: [PATCH] build based on 7eeee45 --- dev/.documenter-siteinfo.json | 2 +- dev/JuMP.pdf | Bin 6313660 -> 6316502 bytes dev/api/JuMP.Containers/index.html | 30 +- dev/api/JuMP/index.html | 556 +- .../algebraic_modeling_languages/index.html | 2 +- dev/background/bibliography/index.html | 2 +- dev/changelog/index.html | 2 +- dev/developers/checklists/index.html | 2 +- dev/developers/contributing/index.html | 2 +- .../custom_solver_binaries/index.html | 2 +- dev/developers/extensions/index.html | 2 +- dev/developers/roadmap/index.html | 2 +- dev/developers/style/index.html | 2 +- dev/extensions/DimensionalData/index.html | 2 +- dev/extensions/introduction/index.html | 2 +- dev/index.html | 2 +- dev/installation/index.html | 2 +- dev/manual/callbacks/index.html | 2 +- dev/manual/complex/index.html | 2 +- dev/manual/constraints/index.html | 2 +- dev/manual/containers/index.html | 2 +- dev/manual/expressions/index.html | 2 +- dev/manual/models/index.html | 2 +- dev/manual/nlp/index.html | 2 +- dev/manual/nonlinear/index.html | 2 +- dev/manual/objective/index.html | 2 +- dev/manual/solutions/index.html | 2 +- dev/manual/variables/index.html | 2 +- dev/moi/background/duality/index.html | 2 +- .../infeasibility_certificates/index.html | 2 +- dev/moi/background/motivation/index.html | 2 +- .../background/naming_conventions/index.html | 2 +- dev/moi/changelog/index.html | 4 +- dev/moi/developer/checklists/index.html | 2 +- dev/moi/index.html | 2 +- dev/moi/manual/constraints/index.html | 2 +- dev/moi/manual/models/index.html | 2 +- dev/moi/manual/modification/index.html | 2 +- dev/moi/manual/solutions/index.html | 2 +- dev/moi/manual/standard_form/index.html | 2 +- dev/moi/manual/variables/index.html | 2 +- dev/moi/reference/callbacks/index.html | 2 +- dev/moi/reference/constraints/index.html | 2 +- dev/moi/reference/errors/index.html | 2 +- dev/moi/reference/models/index.html | 4 +- dev/moi/reference/modification/index.html | 2 +- dev/moi/reference/nonlinear/index.html | 2 +- dev/moi/reference/standard_form/index.html | 2 +- dev/moi/reference/variables/index.html | 2 +- dev/moi/release_notes/index.html | 4 +- .../submodules/Benchmarks/overview/index.html | 2 +- .../Benchmarks/reference/index.html | 2 +- .../Bridges/implementation/index.html | 2 +- .../Bridges/list_of_bridges/index.html | 2 +- .../submodules/Bridges/overview/index.html | 2 +- .../submodules/Bridges/reference/index.html | 2 +- .../FileFormats/overview/index.html | 2 +- .../FileFormats/reference/index.html | 2 +- .../submodules/Nonlinear/overview/index.html | 2 +- .../submodules/Nonlinear/reference/index.html | 2 +- dev/moi/submodules/Test/overview/index.html | 2 +- dev/moi/submodules/Test/reference/index.html | 2 +- .../submodules/Utilities/overview/index.html | 2 +- .../submodules/Utilities/reference/index.html | 4 +- .../tutorials/bridging_constraint/index.html | 2 +- dev/moi/tutorials/example/index.html | 2 +- dev/moi/tutorials/implementing/index.html | 2 +- dev/moi/tutorials/latency/index.html | 2 +- .../manipulating_expressions/index.html | 2 +- dev/moi/tutorials/mathprogbase/index.html | 2 +- dev/objects.inv | Bin 53002 -> 53045 bytes dev/packages/Alpine/index.html | 2 +- dev/packages/AmplNLWriter/index.html | 2 +- dev/packages/BARON/index.html | 2 +- dev/packages/BilevelJuMP/index.html | 2 +- dev/packages/CDCS/index.html | 2 +- dev/packages/CDDLib/index.html | 2 +- dev/packages/COPT/index.html | 2 +- dev/packages/COSMO/index.html | 2 +- dev/packages/CPLEX/index.html | 2 +- dev/packages/CSDP/index.html | 2 +- dev/packages/Cbc/index.html | 2 +- dev/packages/Clarabel/index.html | 2 +- dev/packages/Clp/index.html | 2 +- dev/packages/DAQP/index.html | 2 +- dev/packages/DSDP/index.html | 2 +- dev/packages/DiffOpt/index.html | 2 +- .../DisjunctiveProgramming/index.html | 2 +- dev/packages/Dualization/index.html | 2 +- dev/packages/EAGO/index.html | 2 +- dev/packages/ECOS/index.html | 2 +- dev/packages/GAMS/index.html | 2 +- dev/packages/GLPK/index.html | 2 +- dev/packages/Gurobi/index.html | 2 +- dev/packages/HiGHS/index.html | 2 +- dev/packages/Hypatia/index.html | 2 +- dev/packages/InfiniteOpt/index.html | 2 +- dev/packages/Ipopt/index.html | 2 +- dev/packages/Juniper/index.html | 2 +- dev/packages/KNITRO/index.html | 2 +- dev/packages/Loraine/index.html | 2 +- dev/packages/MAiNGO/index.html | 2 +- dev/packages/MadNLP/index.html | 2 +- dev/packages/Manopt/index.html | 2 +- dev/packages/MathOptAI/index.html | 2 +- dev/packages/MathOptSymbolicAD/index.html | 2 +- dev/packages/MiniZinc/index.html | 2 +- dev/packages/MosekTools/index.html | 2 +- .../MultiObjectiveAlgorithms/index.html | 2 +- dev/packages/NEOSServer/index.html | 2 +- dev/packages/NLopt/index.html | 2 +- dev/packages/OSQP/index.html | 2 +- dev/packages/Optim/index.html | 2 +- dev/packages/PATHSolver/index.html | 2 +- dev/packages/Pajarito/index.html | 2 +- .../ParametricOptInterface/index.html | 2 +- dev/packages/Pavito/index.html | 2 +- dev/packages/Percival/index.html | 2 +- dev/packages/PiecewiseLinearOpt/index.html | 2 +- dev/packages/Plasmo/index.html | 2 +- dev/packages/PolyJuMP/index.html | 2 +- dev/packages/ProxSDP/index.html | 2 +- dev/packages/SCIP/index.html | 2 +- dev/packages/SCS/index.html | 2 +- dev/packages/SDDP/index.html | 2 +- dev/packages/SDPA/index.html | 2 +- dev/packages/SDPLR/index.html | 2 +- dev/packages/SDPNAL/index.html | 2 +- dev/packages/SDPT3/index.html | 2 +- dev/packages/SeDuMi/index.html | 2 +- dev/packages/SumOfSquares/index.html | 2 +- dev/packages/Tulip/index.html | 2 +- dev/packages/Xpress/index.html | 2 +- dev/packages/solvers/index.html | 2 +- dev/release_notes/index.html | 2 +- dev/search_index.js | 2 +- dev/should_i_use/index.html | 2 +- .../benders_decomposition/index.html | 4 +- .../{690c2935.svg => ad239277.svg} | 670 +- .../{d1783e5b.svg => cfc15da1.svg} | 1002 +- .../index.html | 12 +- .../algorithms/parallelism/index.html | 2 +- dev/tutorials/algorithms/pdhg/index.html | 8 +- .../{2fc79911.svg => 6471625e.svg} | 132 +- .../{9215bf2e.svg => 841b6e7b.svg} | 650 +- .../{e34a8753.svg => adffdf9c.svg} | 200 +- .../algorithms/rolling_horizon/index.html | 4 +- .../{9e6a1b22.svg => 3484d8d2.svg} | 142 +- .../{c989df19.svg => b986777d.svg} | 142 +- .../tsp_lazy_constraints/index.html | 6 +- .../optimal_power_flow/index.html | 6 +- .../{50575fd1.svg => 202ec9c0.svg} | 124 +- .../{1c57cf03.svg => 91489e30.svg} | 56 +- .../{df9e0f58.svg => a2783cd6.svg} | 120 +- .../applications/power_systems/index.html | 10 +- .../two_stage_stochastic/2269588c.svg | 94 - .../two_stage_stochastic/3e08f75e.svg | 108 - .../two_stage_stochastic/536ef413.svg | 122 + .../two_stage_stochastic/78bbec3b.svg | 86 + .../two_stage_stochastic/a0364194.svg | 80 - .../two_stage_stochastic/a20a08b3.svg | 108 + .../two_stage_stochastic/a33f3e28.svg | 90 + .../two_stage_stochastic/d627107e.svg | 76 - .../two_stage_stochastic/index.html | 62 +- dev/tutorials/applications/web_app/index.html | 2 +- .../conic/arbitrary_precision/index.html | 4 +- dev/tutorials/conic/dualization/index.html | 48 +- .../{6734ec1e.svg => cac1f42e.svg} | 4854 +- .../{92c6e5f8.svg => ce421d53.svg} | 4856 +- dev/tutorials/conic/ellipse_approx/index.html | 12 +- .../conic/experiment_design/index.html | 2 +- dev/tutorials/conic/introduction/index.html | 2 +- .../conic/logistic_regression/index.html | 2 +- .../{85dbe7de.svg => 5ecf042f.svg} | 76 +- .../{b6b8c0f9.svg => eb7ddd65.svg} | 70 +- dev/tutorials/conic/min_ellipse/index.html | 6 +- .../conic/quantum_discrimination/index.html | 6 +- .../{f0910408.svg => 37020ec8.svg} | 70 +- .../conic/simple_examples/index.html | 4 +- dev/tutorials/conic/start_values/index.html | 16 +- dev/tutorials/conic/tips_and_tricks.jl | 38 + .../conic/tips_and_tricks/index.html | 22 +- .../getting_started/debugging/index.html | 2 +- .../index.html | 2 +- .../getting_started_with_JuMP/index.html | 2 +- .../{5d7512ef.svg => 957ec2fe.svg} | 94 +- .../{6e2da3bb.svg => c4173e99.svg} | 88 +- .../{f37adcb8.svg => c8e2640b.svg} | 118 +- .../index.html | 10 +- .../getting_started_with_julia/index.html | 10 +- .../index.html | 2 +- .../getting_started/introduction/index.html | 2 +- .../performance_tips/index.html | 2 +- .../sum_if/{c6b61de1.svg => 483f1421.svg} | 108 +- .../getting_started/sum_if/9e2d3955.svg | 55 + .../getting_started/sum_if/ebfe8752.svg | 61 - .../getting_started/sum_if/index.html | 8 +- .../getting_started/tolerances/index.html | 64 +- dev/tutorials/linear/basis/index.html | 10 +- dev/tutorials/linear/callbacks/index.html | 2 +- dev/tutorials/linear/cannery/index.html | 4 +- .../linear/constraint_programming/index.html | 2 +- dev/tutorials/linear/diet/index.html | 8 +- .../{f9627275.svg => 4752c994.svg} | 108 +- .../{719584e5.svg => 6801f100.svg} | 84 +- .../{22600a3f.svg => 8fc0e932.svg} | 108 +- .../{cc00d154.svg => c854701a.svg} | 94 +- .../linear/facility_location/index.html | 8 +- .../{c3604db2.svg => 287e8962.svg} | 296 +- .../{9f188528.svg => f201f1a5.svg} | 124 +- .../{bd186c10.svg => f6b52661.svg} | 292 +- .../linear/factory_schedule/index.html | 6 +- dev/tutorials/linear/finance/index.html | 2 +- .../linear/geographic_clustering/index.html | 2 +- dev/tutorials/linear/introduction/index.html | 2 +- dev/tutorials/linear/knapsack/index.html | 4 +- .../linear/lp_sensitivity/index.html | 6 +- dev/tutorials/linear/mip_duality/index.html | 2 +- dev/tutorials/linear/multi/index.html | 6 +- .../linear/multi_commodity_network/index.html | 4 +- .../multi_objective_examples/index.html | 8 +- .../{3a2eeddd.svg => 722c5e12.svg} | 80 +- .../{b90aac08.svg => e9f3a4f7.svg} | 78 +- .../multi_objective_knapsack/index.html | 8 +- dev/tutorials/linear/n-queens/index.html | 2 +- dev/tutorials/linear/network_flows/index.html | 2 +- .../{36b004c8.svg => 129a6546.svg} | 66 +- .../{8aeca66e.svg => 14785561.svg} | 92 +- .../{2be403ba.svg => 5b04a8e7.svg} | 70 +- .../{2e00b171.svg => 6210895d.svg} | 90 +- .../{83e8650c.svg => 762b214e.svg} | 62 +- .../{6bbe3aae.svg => 7e68421d.svg} | 56 +- .../{e9ea94ac.svg => 7f0ef46c.svg} | 60 +- .../{0a2b28a2.svg => c48d0523.svg} | 96 +- .../{d9c11c2a.svg => cd8ef147.svg} | 96 +- .../{9c355a93.svg => ce323b42.svg} | 58 +- .../{bb5b83af.svg => fa2b12ce.svg} | 66 +- .../{3134899c.svg => ffe3686f.svg} | 100 +- .../linear/piecewise_linear/index.html | 24 +- dev/tutorials/linear/sudoku/index.html | 2 +- .../linear/tips_and_tricks/index.html | 2 +- dev/tutorials/linear/transp/index.html | 2 +- .../{d6937925.svg => 0905b344.svg} | 1070 +- .../{4e2b8e35.svg => 17755274.svg} | 1056 +- .../{77831c51.svg => 2a92d095.svg} | 254 +- .../{7113d6a3.svg => 670b5718.svg} | 1056 +- .../{02c85c7f.svg => 867e2e12.svg} | 41796 ++++++++-------- .../{e9cbcd7a.svg => a15726be.svg} | 2054 +- .../{e837abaf.svg => d29c570e.svg} | 1072 +- .../{7eed76aa.svg => ec8c7763.svg} | 256 +- .../{f5e4bc31.svg => f22a5ff3.svg} | 1058 +- .../nonlinear/classifiers/index.html | 18 +- .../nonlinear/complementarity/index.html | 4 +- .../nonlinear/introduction/index.html | 2 +- .../nonlinear/nested_problems/index.html | 6 +- .../nonlinear/operator_ad/index.html | 2 +- .../portfolio/{7c9380df.svg => 0a61651c.svg} | 1126 +- dev/tutorials/nonlinear/portfolio/index.html | 6 +- .../nonlinear/querying_hessians/index.html | 2 +- .../{25623bde.svg => e3692c41.svg} | 206 +- .../nonlinear/rocket_control/index.html | 4 +- .../nonlinear/simple_examples/index.html | 4 +- .../{73fdcf1b.svg => 89113b58.svg} | 66 +- .../{a8d6513d.svg => 904b28ce.svg} | 294 +- .../{4b1b0325.svg => dfb65594.svg} | 148 +- .../index.html | 6 +- .../nonlinear/tips_and_tricks/index.html | 2 +- .../user_defined_hessians/index.html | 4 +- .../transitioning_from_matlab/index.html | 4 +- 269 files changed, 34831 insertions(+), 34733 deletions(-) rename dev/tutorials/algorithms/cutting_stock_column_generation/{690c2935.svg => ad239277.svg} (72%) rename dev/tutorials/algorithms/cutting_stock_column_generation/{d1783e5b.svg => cfc15da1.svg} (69%) rename dev/tutorials/algorithms/rolling_horizon/{2fc79911.svg => 6471625e.svg} (90%) rename dev/tutorials/algorithms/rolling_horizon/{9215bf2e.svg => 841b6e7b.svg} (87%) rename dev/tutorials/algorithms/rolling_horizon/{e34a8753.svg => adffdf9c.svg} (86%) rename dev/tutorials/algorithms/tsp_lazy_constraints/{9e6a1b22.svg => 3484d8d2.svg} (80%) rename dev/tutorials/algorithms/tsp_lazy_constraints/{c989df19.svg => b986777d.svg} (80%) rename dev/tutorials/applications/power_systems/{50575fd1.svg => 202ec9c0.svg} (86%) rename dev/tutorials/applications/power_systems/{1c57cf03.svg => 91489e30.svg} (85%) rename dev/tutorials/applications/power_systems/{df9e0f58.svg => a2783cd6.svg} (86%) delete mode 100644 dev/tutorials/applications/two_stage_stochastic/2269588c.svg delete mode 100644 dev/tutorials/applications/two_stage_stochastic/3e08f75e.svg create mode 100644 dev/tutorials/applications/two_stage_stochastic/536ef413.svg create mode 100644 dev/tutorials/applications/two_stage_stochastic/78bbec3b.svg delete mode 100644 dev/tutorials/applications/two_stage_stochastic/a0364194.svg create mode 100644 dev/tutorials/applications/two_stage_stochastic/a20a08b3.svg create mode 100644 dev/tutorials/applications/two_stage_stochastic/a33f3e28.svg delete mode 100644 dev/tutorials/applications/two_stage_stochastic/d627107e.svg rename dev/tutorials/conic/ellipse_approx/{6734ec1e.svg => cac1f42e.svg} (57%) rename dev/tutorials/conic/ellipse_approx/{92c6e5f8.svg => ce421d53.svg} (57%) rename dev/tutorials/conic/min_ellipse/{85dbe7de.svg => 5ecf042f.svg} (88%) rename dev/tutorials/conic/min_ellipse/{b6b8c0f9.svg => eb7ddd65.svg} (88%) rename dev/tutorials/conic/simple_examples/{f0910408.svg => 37020ec8.svg} (79%) rename dev/tutorials/getting_started/getting_started_with_data_and_plotting/{5d7512ef.svg => 957ec2fe.svg} (84%) rename dev/tutorials/getting_started/getting_started_with_data_and_plotting/{6e2da3bb.svg => c4173e99.svg} (85%) rename dev/tutorials/getting_started/getting_started_with_data_and_plotting/{f37adcb8.svg => c8e2640b.svg} (82%) rename dev/tutorials/getting_started/sum_if/{c6b61de1.svg => 483f1421.svg} (60%) create mode 100644 dev/tutorials/getting_started/sum_if/9e2d3955.svg delete mode 100644 dev/tutorials/getting_started/sum_if/ebfe8752.svg rename dev/tutorials/linear/facility_location/{f9627275.svg => 4752c994.svg} (79%) rename dev/tutorials/linear/facility_location/{719584e5.svg => 6801f100.svg} (80%) rename dev/tutorials/linear/facility_location/{22600a3f.svg => 8fc0e932.svg} (79%) rename dev/tutorials/linear/facility_location/{cc00d154.svg => c854701a.svg} (81%) rename dev/tutorials/linear/factory_schedule/{c3604db2.svg => 287e8962.svg} (79%) rename dev/tutorials/linear/factory_schedule/{9f188528.svg => f201f1a5.svg} (86%) rename dev/tutorials/linear/factory_schedule/{bd186c10.svg => f6b52661.svg} (78%) rename dev/tutorials/linear/multi_objective_knapsack/{3a2eeddd.svg => 722c5e12.svg} (83%) rename dev/tutorials/linear/multi_objective_knapsack/{b90aac08.svg => e9f3a4f7.svg} (87%) rename dev/tutorials/linear/piecewise_linear/{36b004c8.svg => 129a6546.svg} (82%) rename dev/tutorials/linear/piecewise_linear/{8aeca66e.svg => 14785561.svg} (82%) rename dev/tutorials/linear/piecewise_linear/{2be403ba.svg => 5b04a8e7.svg} (87%) rename dev/tutorials/linear/piecewise_linear/{2e00b171.svg => 6210895d.svg} (78%) rename dev/tutorials/linear/piecewise_linear/{83e8650c.svg => 762b214e.svg} (85%) rename dev/tutorials/linear/piecewise_linear/{6bbe3aae.svg => 7e68421d.svg} (86%) rename dev/tutorials/linear/piecewise_linear/{e9ea94ac.svg => 7f0ef46c.svg} (81%) rename dev/tutorials/linear/piecewise_linear/{0a2b28a2.svg => c48d0523.svg} (80%) rename dev/tutorials/linear/piecewise_linear/{d9c11c2a.svg => cd8ef147.svg} (92%) rename dev/tutorials/linear/piecewise_linear/{9c355a93.svg => ce323b42.svg} (85%) rename dev/tutorials/linear/piecewise_linear/{bb5b83af.svg => fa2b12ce.svg} (94%) rename dev/tutorials/linear/piecewise_linear/{3134899c.svg => ffe3686f.svg} (84%) rename dev/tutorials/nonlinear/classifiers/{d6937925.svg => 0905b344.svg} (62%) rename dev/tutorials/nonlinear/classifiers/{4e2b8e35.svg => 17755274.svg} (62%) rename dev/tutorials/nonlinear/classifiers/{77831c51.svg => 2a92d095.svg} (72%) rename dev/tutorials/nonlinear/classifiers/{7113d6a3.svg => 670b5718.svg} (62%) rename dev/tutorials/nonlinear/classifiers/{02c85c7f.svg => 867e2e12.svg} (69%) rename dev/tutorials/nonlinear/classifiers/{e9cbcd7a.svg => a15726be.svg} (61%) rename dev/tutorials/nonlinear/classifiers/{e837abaf.svg => d29c570e.svg} (63%) rename dev/tutorials/nonlinear/classifiers/{7eed76aa.svg => ec8c7763.svg} (73%) rename dev/tutorials/nonlinear/classifiers/{f5e4bc31.svg => f22a5ff3.svg} (62%) rename dev/tutorials/nonlinear/portfolio/{7c9380df.svg => 0a61651c.svg} (79%) rename dev/tutorials/nonlinear/rocket_control/{25623bde.svg => e3692c41.svg} (89%) rename dev/tutorials/nonlinear/space_shuttle_reentry_trajectory/{73fdcf1b.svg => 89113b58.svg} (88%) rename dev/tutorials/nonlinear/space_shuttle_reentry_trajectory/{a8d6513d.svg => 904b28ce.svg} (88%) rename dev/tutorials/nonlinear/space_shuttle_reentry_trajectory/{4b1b0325.svg => dfb65594.svg} (88%) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index f8526560a7a..a38bd219930 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-19T20:25:24","documenter_version":"1.7.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-20T21:56:01","documenter_version":"1.7.0"}} \ No newline at end of file diff --git a/dev/JuMP.pdf b/dev/JuMP.pdf index b7ebbd8f8bb6a054320b28c99c260987ec23e2f4..af2c518033e3ae228b1a3c590c60907eb78a83b2 100644 GIT binary patch delta 2183051 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
h_Zc;h>iu!`x@s5T#cGLO{r$4a9ab2xMp>u5 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�Xe;33jsL>Rrvx@#boCb;CP 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ΞduWl1_-ySVSP%PsGQ)jjgeF&OWcq3>~n~&B> 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%0D$h9T}~j=L1-qAEsmMT{v4JB>rXXLZey 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

S~e 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 z%0D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�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 z%0AFtXzWu7E1l}mn4`Qipmjt$Q_3c2!+QW${Q-Ccq_KA~2I~?4Rz%N+M7imI2z<9@ zP3-_g(#jFIHZ1u`otjEO@d5PQL-FZ%S?m-*48x=70CFgT5ZGlCfaU$|vZMkisn@$~ zz!r((;da?x)Tb4kLB#{dhbMMs>}{K6pWB=O&GRyr5z3Ob3}wsGneRXtD-73Z95M@~ zZ8*c{rQvBO{KY2^s|kPp@ywThCj63@2|xD-zPV54xjzdo{iD*K1<%*LpI42R=Lxdd zzOeFJf^m5IFPK%CwNGX}Qa& z?AF9T+%B`1CM=Kl?d;VTdRmE=6Ly(P-pdCo(Y^q)Z$@%GYNp0p8{-ikOkvZ>eq2km zi|_gFfY)nWiyVqVX5S<%IR6JGbMu$M{XG)`H#wIv8dwtoGBB6GMFA+6+s;A_my*^) zhkqQv<6rN;zsPK?6yAh?!(0F9?fvE7muk8~p^YC5N};40{{HzAz97)TSU->#4siJO z&+z@_k6vokC3#8uqvi1H$Iy*@%fWM&gC~vAdJ;Tkgw}2_#tRHzrQp$5DK!U+uKZ%> ziG!$M;v`FiMTy!7MBhu~C`!$tB@P!w$$v?jpkQbD6V0EDu=!Q8gSgS1WF;qd)!AMO zwA9bWnH@a9X(HK6c*{234(ZK!k`;t@&v;HH_VElp=q2AS*(Z&|_$T@_8ENBOd_W_} zx*F$DNG=zJN|B6XHWf%H8u*%COHm%jj-l4b9bb)9X#?|r+jUe&Ig;pj7`1VR-+ztg z+DR@geeZlc>o{Kyn?n~3+ff0t^pLm1{3^I;~|F*vKpJRzNmwo z`H#XRr#~Y+^)Sg^^2X~MIN7}?On-!}8rBFb_XArPsxo?7B@;VhIeLmyQ{kT2Xh=A+ zz2sDn%lK$9lu5rLR5a;a0yd{Vjr+KWpVwtCr5DDGMHM6klroQdmoc!DxZqtV`GV9+ zC#jQ>E$l8aoNB?6$u)!T!)<2-s96x+rlI08(jK|fJ7J~1cN0{ba{Zi39)GuWV?Gv? zY@xHlQbn4;hGL1!WNAwJM*`Cc>~pB7wMJNH?+#1{fPutC@TOd^l-8_iGg>(1TCNc3 z;N|g*&DGUO1X!s>1~!0x_RU%}Iq-J121#>H^Im6(ykIsnqaE=I50ySw-mnCwtIeSR zHB)h}*_Mj0w3=51q4CEKaeq#vKtZGjan12HQ3b$r_B*mCH>NnFNm)U;PODT}D3da4 zTpRTVMDul>-|k=Iy17o>>`5~(7UhDsTTLDVh0xSTv%}G~y+BU_XKQVWYKqu2>TSf< zBi{O;gI9Rd4_++5&9Wk9Laximja}-eQ^}dxc4KM3de)nHWg)&biGSBZq#1S5xZbc_ zq+hOF6&pz&0t~t~&Hy)sF9tJXvX~|~+a-ex0iY+RSH@FSJ)$NJL&BYya5>kdAUdB% zVtby=Pv6%6?&>0S_9Z2BFD0%zO0pDQDm~zq9Tud?Ik>3}j%%6&MDsx<$D)CdS zSsHgargNQ}5oxczQQXZGnBK2RN$k5P$}53>rZI!aEZ*dJ)_=&h&)JSsj(O7^!>*#T zhml~Fyw+|4EqlZb7zz#B)!Fw6IjxxCIX6>mOC!pur1T++RXNqtNN(x$c0`?T6`F7E zXtJzVqv`dp9LZLjttDZZNcUb)Ykext$tQh`WkjcjO}hzy=h>!f)oJ8*tDfu5g_lN} zEd;rotjNWLZhvwsvOuAFU~s*?2^2O-Rb3ZhzJ97?s*cF)`#Gi(im!1Ju}Mzn5KM>%}m4yE!~ z>@p*t!-fEs%1%%oGLc2(?mL zDw9J!HqF&s^;UR4+w7fh1IZ{p#KY1aET>RSg(uP{$9FNMB^SV0kgJTt?$0>Ftx<4& zYQq0XIFJnk>J-*H)%`EWmFI|9yW{1!Vy+}_C*>qi<3Z-0i*ZFp81&CvjBjdPyA+q) z{;|{gNq@KEd=z1eTz@OBl<=G-dtZtxV21PT)-C-^_4w5qqpx$=Te9P(zMs@9!4XrX9!yAn= z^^cuR*Z~eT^im>&zBJt)W{mj8$%zqx=WbiKeQF}&Y?+1k&igkoPGIx%bnv0@c$rDS zwLzFipUEJBYW7>BM`6f+$|D)Tq#glxe1xErxZ@)ko#Y#jWOTDX>5&XjoMrxzM_jmD zSbrAJmO@aJ`bRtR?T(mFwJIFXiv@@%gKnFxv&fM!YUac0Lm#oX#52YD@m_*ffW?{R zFx%IMq>>jNO)s^3;-l+ly}LUnghWAh&u4TxiK#bqKgpgSW}a}U4-$Nc(Ug6i8u<*P z$-6TZR86#)N+kY?CQe2sw8aS`J(JWNlV)|kGy&B>dUI%!dNF}eG6(RpJ&t!NV{t69 znGZcP<(1Gd_9Wl@dQd|7yCQGoy7D9($szd*^=qA8WvTm$7tE6Bjo*GBhACAa7!73Oqb7Ol59obZ8(k zGnWw=1t*uV3qu8$a_B>mf0+G0uYc}z5mqbqntZ1fvGrEoHfZdA%k1TumuEShhl{5} zQfxzKolzoBJspd5ERqU2%_5JEb^EsiZPN!05)=+!9mcw`np6ve_|X7W9Ao>6J1_*>qr7Q6CI7b^sYO#e^uz1%T
  • rXOlVi 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%0D&%1x76>iZS#BQ!kxvQD*kzAm_{9 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%0Ag>^2V17s2Q)+xQ-5|@ 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

    9j`hN9MTiAkRLp-jmdf*(;$TIPTRxA^ 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 z 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�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¨NjCY>Lk{)-_T17bB1^B-xpol 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≥RR89l+jeUf62th5NcT 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

    SmUZP~H><$3<+aC{UsQVZ4^D^zC9M-#* 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%0D;bn84n3gbHJb=!Ly3)3ZO-i$%YapKnV@q9H! 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 N8l1> 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%0ArUwswK>@l&Xh&v9zcr7({ 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 W8GqG@eE2fu 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%0Dyzap~}g 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 BbprqZ delta 2179902 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

    ^%ieMP&)4Uh;rVUa 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%0DjxB_7&*{AJ1eP6iZ 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

    eEz5Gm_b@1K4vFp!%7}@>Z z{myp2Lf8`|Oc;cheu=Q`ln7*ciR?fEbr8~o{UkPW#%_nmFOsD`0b9C@z6?m;G!Zuf zs)&t32P@SyW~Nqld zv#VEzZHtwzL3miy6$HJfMNvHlLKBoweVkrHXfptp3}=bh2gtVg`8CK6%eI1p~*x7Tzj;$@_Peq>!9(^g} zc_?L|tAc)h=L(&KYd<4Zo|ao?QiB2eI3ubg6&vT_e=uHa^PmL9fVYHayGd+|NR0sz zmZQFF5osIxZYVo*vB1!h)>oE>DWw&&tgMweMKwB?wxVRB!qS!=lPVHkc$>m~2qIN#T zqJ$|6e`?I}CcK+b>r7}^b6ywy`qtVpRfxf=1>G~3X*n{*vOgYkk3CRjMiK*Hg+(cwDVWotMOGJ4QaK`)vPd1rTeXq zk1G}Rm3T*&Ks;nxlNI(X*)yIQuxDD-#9eV#3`kYABE*Z!Tdg@5X+e zJ#yv4*5p3S--_Il=|4zpP(mv|5gT`ie|?m_HK{pkhMOG5UJ@I9q(lnH)c=%KDQ5(& z9(`5?)iyY9T}qsZ_(}3=^FD8?F2>*13#8nw84b_NF}9(>96dBXAos|76S^r_UhD+fA+l- zg-QC?_hm`KqIwuo4OJKoK3)pt_CV?G#8(|$x zc)iO;J~%%4(4tEtIe=qH5Cjm2`u<4}cs`tjx5PBNNo?fIk>8UK+Dib>e@995Pzg$L zHEHnXJ(T18t;uajk8es#cazwtghW=sU26AB4r^v$t%P)sI-mxc^cP2!;p$jIT6=P> zX16DcaoUk;Ts|%~=Ix3vQ*Pq}?R8 zaYpMmpTT~JHwzTh$~`+2A*;^qFt^Jf_z=(T-Y`3RDQwe6qKeB@H#@fG{vW+LNJf_t zpdb?gG?&q#MiZCe4=Tlf;`7tbZ$CWfLcUhP#@G00f4#gt{PUqbjJ2e+^W87s9^wZk zP~@=#s{+~XkH2@nJ^ZzWI%JgxVU@Plm=UW$3;$T42SxEyW|a}P7|Mg=yBwC~uq;o5 z<-4$jg@sy}W@OMyKA>U&-T(RH_pX`w`sI2yCo^DM>|jQ$x~^t_WgWDuh38s77u<8l z2YJHaInQ1&ij8a8i=;$~Dtjx0>m~Yx&dd7@NHQv<3;XG3-Tf-xevq{!Q~ydUzx7yj z_mA$!czrkEdbz*|7nKXR23U6}s6zpJ1z{*C&0#-?jg%oMPqYqJBrcd1?y87_LPG-F zD8OEufupXs$lMmOW|B738HXzYIV;moeO0DXvtx0Yf5K${>rf4K8-1 zAic;OzS|oz173ONyQFz9h>iLyU@e;?3OqFw%hrC1*hE8r2k&I*#dIt0U2o|{D$Mi1 z(nl*FidEn31(HM^a0CKOL2xZ`3yuIai>-!sb#?@2I0J(=Ny~}Oz_3#W@O*Dzm=)n& z`m-CvM#_j3S@S;Lz>rl|o;9|MqA7RJV(d`FmtTu0a}@Dy7VbE`xA-7HoW1LY_JY_b zlmZrr)XJXSk2KE*#!!@q4sA zX_S3@>A%{t9tvbvEEr!`r#aj2cpm;Tv-BmJ^l&!KTw!pfH^I;Jf_*HzBJS6^0zYRP zno$;*||Z{7v<1c(MM<@!sj`6aXTSn z0f&ZC9Crw~lLn)QCPl2kaHvQoz}kDI(=2|8Nby<8R=9Oe5=e-aI&nIR1( zy0i)3O%BzyY3c?$4rfJ$te-&sJby4}m2;DW9lcLcG8vN#U5My>P*Z`vnc08;YOxD4 zhn9y5g5HS|iYS8wijd)b_wNtcI5^*liaPRtBb~xP%A%Y;$|2;K@;fM7MB8Vuh`K2u zc7)__LUG08W;coMqH9RQiU;Snm}F>1TmF0li-aDC<1Km}i$u3_(|dSEC<#(%c!ukQ z#hM5;XZg#AkLcVj`b0~(W%ms(7?!Le%yVHqR-vGkS&CJBjYewzQw(h~u*vwwRc;i2 zQTQAiWLZYzV@RbqMrLG+eVELC{j%&Gorx)8LuRZ+R%hNPY|oj%SeuMQ#}TWZQLj_b zFxJQ=#)vCU`rKeNmvYF&pjC&CmgEA%gy!Q8owOum23v^ZK+#P?Iln0sx?WmMa_dYA zdw9TIF6RGrh+&dg$CAv;u~37I#0O@7l8(y9VD2smkQF%oT29>&LF_5@mgu6vw%}yJ zS_NVU4$+p26s8m^_;ZO_%K8}3uuX-E;#(#Rk-#qCrV7b>G0T(WWuc`6V4hjx?U*KX zw-)ODvPjf7(a|%@BGKy@^A2SZLV;rMDvRs}v5_(zd>qa}zGlyP{cPJtYMTN$+f2Y#@jF(w23?B%=N}lM?^ntOO0S3Ug~W%X(yvbOIw z5@QQ-%VQm9%`KK|rNP`K40}OrlYdFkm0x#+Cwi=yS~#9d?2+wC6C!_q9p;v0W}yjj z{aPI&a&m|Zc}dzEhLlvdSm>Iibl8r_@M}Aw;_p`v+7Yg4N8}Z4JEH7csQseV8`=>K z?L3^_+Kw1-a?p-IHpkl$U|6|pUb&+k(d;~-9nnBM8Vdj#+Yvx0NqZQ!BQ^;8 zd@F*I`Zo}7w<40QFG?tXv-|%I!7Hb2i?{jLy{2W+EIwKq$zUUX>~op{luY1Beo=)?sHy2DxbLK+om+Ngjr%QnWHa4)fcyCWubWI?O%{k$ z5{{du3uFt61<#0oh(CS!h=@13pujFQ8Fz3fc1`>)4vD3=&Ar{=kVq|=H4fDU0}kP8 zTN%XUYaVlG&{kfc-1)S62j!lW4MG?zQ+uQ9{cZ?4g_H|~&0j*y8HvY)@#;}f8%1b$ zTyzZEbl7vzv8D49uSZyJgB8VIc| zv00dI%?F{a-ew>SDq-)d;cW)OsE|1C9rF7yiIpn@FNpL$Cc-FxAnvn;KcaJ$d86p@ zL~<|dY7OAe-53CPxk-^W7-D=ayJPX@#YS}zeNTN$dV*S7M=$J^WlV{U5j zXlYgb46HL&0lOW4fd;bP2y4_%$a*h=t_EWXMDL&%&fND9ESs0#fW>KH1MUQibELUp zhKqS3E}Pfiz=a}PN1oF@xLE2`s=+V42o+2mKRXsg&8Eh4G;jF-iSJSLF5Hhi@5~qS z{4i)cF^xjM%ny7o^KvYc{`x_8U=n&j&JUJU#0r$xxdQzQIt2VyIRuyqTd41+5kvg7!Z{{U;2y`QRH2rGs$ZzQ_4~n8dnx zBa$`ueflQ`&l)Iz?Ukvz9#i<50%+F=fu$fhm{Mp4&PsrrP8!6`mczp9ECSY?+Htj| zgp{^VYZjk>lq2hT6h5Ty=lRR6F*RB%yoYJvi9W@|?~SQ3P)zOmT(07{x-7oLQ0$ne zaHkbxTSp54>_AA_eUGaewfywyFk6M!0-%Nj3i(iMzDmx`jML(kiq_;mPl=>u+nipW zpFJ;K4Nt#MMQdLckkiqZaZc|R0`OWq^VnKbkXOckMbmQYPr_x?GQdRzGIn8(i=31N zWSnZ^PeFRrLKNxz-O~A^R01VV-;hGBk`VHvx833-gg^oZQ%cMYvy*lxzzot__l2e& zo@c~mpKXmbhw(||!+KiEC-IfDvuqZHYtn4Y`Jk4B8&f0aIxZIOl3bS@e#zhaf#fz^iS0XVAV+Sb#pk&wb-hof zTh}Wo=yP_blO_oYR^K>j*H=)IuCOalZu5%oBasw1_-7+QZlP5~oH}K-*`>l%^kh!r zS4+flV0_7vA78WrJrV-)%2&a)eOnE4ryxxCX<;{TC}i*J753@PPt89r zGuSLim+JrJTY*bXK*uV-TB%01qtHOtf!K=`9l4L*jZ*G@;JE2r=!{-6vtwZ7Bf@>M zeBe!U%cA-oc+o8^H}1KCq@^AWJ7HrGRED$-UbeT zI$Pam8>VN|t?Q*|DJa~>Fe$Bs0+<^nWhc?ah3`ev_>qRW=?2%5)R|qBo626=oCm4C zZ;L-RTthUP)myR(BSgAIeq8 zLpg*RroRxXe(cam&W*w#%Uja8{54Y=gAX`=o8h<*Glc9z>;f|cFR;&V-QeO?;Hw+p zPu;*hu-}eR1ACu+j%OS4XVb0gjp?JEzDodSh3>yg7zCInw#1P|UT+6hgScXUW%#*y zI}Ma<_DJ@TC~Ji7zgED7w0i&9Mm5TQJABKTPD=RPsF6(X1l>P_(Mv1}Wo~41baG{3Z3<b%zI}a>x%-OtitS(DUjBTk2Ve~d<8AZX_m_A9jG{x` z01B%^^VffxZ!iBG5el*tKK`P=U)CU<6<)gt`OB}e`JFC)rN$=s=I_+>`}i2y{I~fx zJzxvi3z>io89TfOEE_F?4;glXKof+7a2#T1&#V^KzmKY<2w1~^CKvOHTufSvICC*_ zEsch-Q3L|dE~dyS$Xg_kTfygHkNFts0=mZsE2DFnkXzY!mNs%Fq^9^vZbW+^hXZmg z9R{R$9bjlnw@CGAa3?nMnG20JJv;afo1zjJMYSymbWe?Uk`a7aoR_;{&>n|7?bxArq9QLLD;;<{M+Y!`aMAQ`LNBmhPUD( zDz^fEkUS{Azl#xS>uCuO^$4+xN?*j#vivfy`Q_7jBe#{Giy}C?lHX#G`Pu8%HI!ic zg>j>T4FR%(jRV6Q7#A5g8EljzClkev7_fyO7G5}*VbfS@&%~_sWRN|_Ng2$|C(_hz z@i1whoktA@TDY4F!ojHgCkYlNb~=pt-Dy>Sk=N79ULnPaNnBHoTG|g?AFTlE76>O3 z5rgz5LwHgmV$cbtC+}Ub&)jLC+r~eC{n1os{`F<*x6ui)LMG>&mqAKvOT$rh>%@3F zmH-`iKANN1wmfJX)i0dhv1$i}R|9G?7DX7A};R@eBF8_Vl`| zI}3p(=KiSePv4D}0_`QO_AtcGp2;Argy-b%hCI**{qt4=&yW6nt7;2i@cevl_>p%MjO=s#h+ZBd zQ84o(V1DFR=&)t8hO7o$cyFn`F}2e$H*A?`>Q=ZaugdY+3KMDPwcnPpZDjO+*m04R z!8+!HVVd-w4WMT)4u|3eaAYqTmlYCA&$Ypmesp@ixBLi*4Y@1v=P<;+kQ-rR_3r;e zxiu;QdJITeg3^nr0y(ymBZtg?z2`O0ggbIz&H=}Y zY+4idm!nRO#msJ~AMPpAF6)U|b}kvcGt@Da|D;rTc4n5*(;0eWs$NN~oI?+}OriFr zr>SSrL2x~-#<+?v#(ai(SP-;I)kw27EUowJ{qQJgTlAx!ix6do6#2n_r0D)EGc@nj zo*7ELD^K2-p$h%N49$^_&QR5lAIy-n!u!B$^GR$f@|Mi|T&pJ@_u~MbKw-ZbDN)b5 z!SqVVJkr@2&c1Um60aUpTy2Vq##|;%(mE*zAlgx346@@9RqS z9G%yd?z2zUmF_i9(Uoe{ZC$ClCS9&x{lI zD60OHca3TUdyM5wd;92)L`h=dH`$ft9j3ooBia|L#4o9z*p#m1kTZC()w*QXHAo)HC>&DH42S z<-RcXaxGEYbfeSrz2Qf3%FUC$I9G~@fS$Qg%iPFS{|XT5e@0-MPN?)h_Fo0Slp_9B zxvM@2@0bjPm2k!M8pFQ3LEr*Z$Ie6b;YG`&$H4A|Nu3N;GhosySChD6X;(JCR40$P z(dp^law9DeE>$%SL+p&V1Z&`yFVO4#{{SQ66&#l_t11+i;;mK`mn@?~D1XITIkV)r z4bI=MP`EDFaEOaX)zqtc=TvRx@ypg5+1^P!fj6;#zQIdUOX}9q-RnRtwM2rzM-T)) z$#&m6+kJg_{&@KOPTYAD1Uz;hzjdGwtp0-4n@&0pU>rgB@uU0Yi?!(Vc-DihCDOy| zb6KeZZIN24J^I&j z7<#hHdaPmRM2zDByChMOLGg7Q_Vsv~YL!|gZPH!AzRz(xi~izq7j_Ujn(-_m;LXxSeAW|dcC=h;>Pol|AmTE z#VYwuw!gQz^r`)0!+)x^$a0>>{??Bf9w9${uH(Djx|ydj85dl$M%FwXwtIS6&5X&% zsL2Vv4As$%bd>6ad7g8t?6)t)+R`V-5MPhx50b{w^K0pAdoAT@3n;U;F#E zRxW#*(?H_m6v@jmL$BW^-q^1cYn{F5iOjC}_GIqPtgOMB@qfyK*Afv;bSWsN)7Qzr zw~vQ^&m9KX_$b}qe>|iIOkgNr2hK!t-S7YGetY=KRO)!s$RJv$tLP-~fmJ)Xa|p)z zesN`|z#8g8cEO@FYq$RA_wU{0&bP0F-sDt4m`X-_vLW=XnN5hZ#!nSZ7}j9(Dw?U7 z=C-QoqUvLlQhypavYID%zNMWg_$5G8qJikAnyl6~RG)NrKsk?g$qI z+fL!q&{o6_B7~x`9QTXZsF^1tD*mEa4gOK4axd-{pzcO0+?g<>>Bx_toW+Gy%-K{@ z(7D}YFn{305qfA2+pvO-LoGq>1dS6De5lYwPYs%!N46X!R3LCMKWMOBpUJF4d=!cm zgr(G=_kmbg15jLm_)OY9Kssz%8{s)@#|l2I5!~aQ@X_=%x&?T!=BKYit=aol9C@T0 zvaWVLf-n~TAXojaas*P(@8z6026`#da+^^2gnx3q5&FXrtw4{_c;GuhPo$eNEMPyb z5pakGeMZZ5Zr)q{J;oepBW8zfTfq#1@gjG^3{jQGbXSwz3<2U0 z4a1Da@evj#ZD)E1bL;ajwn<(V}5yu76C0sbeI zv_4Kp06x)Ym&B;aSO_zTn2y6zQCA-e%%naYmzWA2|<3erYQ4^|(Y`MV{xN%Q8N!%WIA(+x^&xXtB*3=4O{v7mOY&*6fm~1-AG8)_<;^ z-lWWpcgvth(tUUyA+Dx(NUM6VFb$zB#$i0h?=a}JGTxrwNn95RUz0TK7O_z?tMA&Z}_BJAcc`j*|9*QS@A~`?!89cKc}9`#aekbbrx7rgqB? zyASKPX1CML^eW1Dw}@>~G>O$M;udwtrL=lsU_uQ$e5Y5Nq}huM-@~*o59DbShH$x1 z$m#I0EDXHf0XH3el7$VeHQ;)f>3Wm*DHv2Z(G*_P&;W33!zC*Q$hTe&@)~$A$uikb3qJxM)>2S6|ydz z;O-QyG-c6;ed;y)E(=Q%lp@pqNS2eNBPC`1C}N`AnPAo`>PhPo%x)3TAUXqc66TtK zhB|#N_}d3G1Tq}sRqJQ3h<}ZmS=6HGPVeYYH;91Yh970E2f)MjT*e8aR?Tu%1l%oR zo6{z-B=`pr$KW(Q^nRH*ZZRkqY^UEVx)WM>`}>+-mjdz`dB%JSAP^fuaD8OllPBMfR~CZ{&PEsq;SOG>$w&6Se8?2kk1 zP=fE(Hn*=1r{iA78WU*rM%Xxmq}h#lIqS7c5$*H4PE^!;>MSQ;cLr-bg)SD>G>Q5N zKYxZlm5-k_Wn1W^aa&9Wrjt(ptv!6`bS3x{cu#sb-JVnf^;9nV#!qdGWyMG{9jjaT zc#J<^)(X=H7rV5=U|c-a3fma6I0lLC9(*#!-*o@GY>LJPmXkivAnv`To^>btA0yjn z!w>Yl%MU*1cpEUqV9MoO)5IsEpx^Wk2T#~XyFM2CB4D8H{2e=frBWBh-3FZJgB zsd`KjbaH_INEjQYZyWjYaa9ljD>|GxH&sijwU>IxC!; z19@zh=vm;JNmTJ_mm0i~W@e1Eyw$W+Ld*G9%d=Ya84o9`I@qZN&|_x+hbf$f@hXL7 zS4q~Jf8Rzy52t9W^}(Fvg6Dy*&Gk|(RFf&?Zev!|FO?9%A2)Arw>auvL3A>;5zW-b>k* z{kdiDe<9!~SsWGX%nA!5ys~?)?E=D`M)$?3X$N`}^lWMpK~(8sZi9%k*YRmQkKYS$ z!JQ#jh%&!?mEG@n_z5pZukcTL^?Mmdc7JuhMDSJwBY;Q2)(UT~$(5ZF!G|pMEP-`M z6yT*2HtGeUmi_l-u~_ZEQ@K~oBT_{T;X#lse~$F*CI`paQ_)Dp6F1C`69l;;{Cyfw zxZ`;`m01*=nrF0vlrh*zdMBieM~YH_%8_Fp!wPUQ|56(PX;yp%5UsIm&8-26iGzc1 zCz8uMp^ShC3SObibCl}OJ5GuzrT=<5#H0ysI7afqMT;~bxxM(EBCiCLU_97R3pxuT`yZ$Slpr_lG)mlZRXZhFbqZFMTvE$%RQ=X9C(EhbJPjPn_w&L_Yf=}hX6(!~ z^U*#fWv@-@v?AfotUW2KN6O25&%_jaZ#~Iduk_5chKL70rF9g_ab-yA@Bf3Xv4 z8A<8bS1ql4R$PtOKL0;FPvajbi%R7DlrgwI|LNRR2+>&226^2~io&^=#6unx0XR-a z?-jgRmQ4uK)-QaHf;)1qEz4HcVg23hv+Ve>!1(YQKl@@48#QBW*`1O{#TI7ni&HGT zT`yQU^T6NF{62j!jUP!jvhe1~f2?3+6xLM~9w3(4jler9U#G+Z}6)apIW^WyyZY{UyYZ)vv>=T}lBnvWb9-x$+ zFz92x4<5%?p5`L$Emhm6fBa49qSKeQuZ>EcH-nW~<#jEV%DZ2ZOAUA@s0JebeiSp)p~H=UHcx#8Qr#1VeIV6VsNy8_fBLbE0p)OZ`)LjE z1Xk*69_L5(y|59*=Gm^GsCr^>^Vo1>xkX>m>rVyS_B51xJnH) zs3EyPQb8!r(j~rFxf4#S!s)N?!`ao#YIV97pAy@EZSEdt$eDRaKAiPZym7`$DTZ8x zkdvXvDrCbYs8Eb&QXOYPsmf$h$SSZYq&g*HxUa7;-eo!v2Z31hl|YJ6^A3_Y%;kRx z13Xmljv!H1DHsaDsf1rcuJ6X?W2{ua95snQzrz6-I=A^%JGAy}{h2))68`y`y>OEsb4C+0W#WB|r-f&`_4=S8u z^`IEeq_c<^aZyx?Mkp55E0C(ESeAbXGi(SM@m_aBf{~EahOm+7bcA3;^6G(yUKW)k zL#o!iH#j{Vq5JQO&f>9Xs%!IbjXlAJPR~i_^Li+({?*OaM;|aEh)NzRq3)1wY}C{D z5qe3%03G8qRSC;4UhM)3!NmX@p_o9f&KDq6pRxSF)l)zqNT?D+sy<^<7&s2N1gR z#bb!2O38#A)B|iubS$s|mFOZi0!JP@V@V)&#xkT_r-Oveg#-jd&uTUWNWMzZ#89Du z(~gOBmW=t5k7^=8s_?@+1`-c=yx0IBXA3?)ix4PlX_9v0#!Nj*yJR|@qV&Lo9W zC2tbkI>63jM8YmXVv}<99x8t@EBX$4rBo@J?7DZ!WWAbzta14m}qvmLOwYXlMO|QBL)mJ}E&u5cw7ava? z9wP!N6+XrIB}PIE##HO&e7@)=s?RT89Guj&0l7;Xy-<3gxEq0P1Xh3H^wz^VV{?4{ zuGOc1%;q0V^X+1JK3!H%+-dXo=5_Pk33U%g)3f%3eXvQ>OJpk=4S{Te%fN?q98Q~; z2Gbum-!I-Snpfs4#GJy=7v!pva&#{J#kIxIyGNL%n}NalsPe68X;}29O>t*Mvuw9i1Kw{BK^~&R)&Jk$)Y%*1uo9 zZ`;eOzc$UU*S}rb^XY$^A13Yle_pn)fs*CVle4M)^`g0IC+{w%@bh4MN0B@&;)~c> z0hl>E>##w@#TIPL){g!%Yu{hLvuBInnxB``^X2Tr^utm|!{2{NtM2aTXBJzu81;@K z-Qz@eaJ0Q{7t7h?;;K1Y%x7oK`Ss*t_P>d0t#EEjtOjs)A z+BU$uJ57Tebg_R}9$x}orsf-i)Y9Vo=7zh+zkO`KKW=fHrppw~A+i>19O|+a_G;x2 zd76Ym{{VjAyL{3dA|>J+smn^uo8{u{c-o#cZ(bcXZ>JyI(|afIASrt1A0|a52-_z` zB{nxn(RZ$VTAl+d!-f{MY@JtLR4h_!WF&w`GR&G&R|bD}cT_raeB|hdTHS$yj#(uf z>orjpZHiCL84zqyG}zc`d0(%Il3@cl*#?>^*#JVYUXu$TN_i8_Bo;h#15JW;rMeqv z24|JjJ)ubfn&7&OUGn8QLg`+>JP4&hkda0{_hZ24m?-xT5rkR#39v()xt}0v(r4)( zlxuT82JC+d52^p9PF?y3P;CnR1mJ^A;&%yVrcp3c*&vvGzsB2O?!4@RnR zRD+({+CLPl-4-~T?Z}}1FROTi6>n(|tOam(pnMuCwe^T(og_3A3Dk*Kvlet&gJi<) z=@N2Z;RekSWlLM44KzU^K-ZtpyvsOZlceW}ko|u`e*o|S^anvP49gYeZrh-cafK7! zB`D-xh2x&&YcJai`>1)ycqnyf7A^J#8wSFI?huS0P<`g$K%Zbagd5`$Jlc!2&iL1; zW3mV1NDJtydfOh1&!OGj%C?4xtSj=*!^KurlWmde-59BPbEMwehq5|9Jv$xUdex)0 zTyKA7c8E`(@8Z+%q0>f7-!&S_tVnM*&~PL$QIrdbWoruR{U#LDKhk}GF3M+phG9%R zeAxxL!F@r<4QaIM5OzUsba%)N(ifEA_fb&1&3e5IBstVy6k#O!qSw-(7_u4T+1+|T zz<>gPrI071R}KUwfR-l7leYaJZu(V;(WJJ5PfQua8A^HrK9T8@9^ ziy?%mj4+?lE||}JhxrtG%%`{qjuf&Rmp3yi6qlGrRw$SGLn@qq z6YjfTpME+>B43K=(rx-%KYe^U{B>9}q?A~W_8?@>fH6yk-&W%cLpZ_8@r=TD7pqlMCL zjTyz;i=ja~WJj%`B_0UiB_C-28G8zU|5f)t6(2+p8g*eMJ`2L>$l_xR?T|v=F5vy- zM2r^>H4jn#@~d2a$H|`%*u=2>n?axJHgfsC{3o5y8N>lkC?U4O26GCrT(pQG6556W zOcc__>rq@tnKlA6oJNZ(6=99{qz)>f!60%cg3?t}(7@30Q1^-+rhlMkzzOhwcQ;NZ zLp710TpGm-%@Pn4J{B`gnw-Y%1I?*UyAei1nX|`Y=moo!h%R6118H9q&7fmd=r5Me z8L2BRz`3`UItY*+kpp@FQ>Bh_QJSuJA>S{i?+o7({Wp^MK730nLbQXnG2iY&zF$n= zX}%!_;Z%5y{a=mZGMAUoS`}Y^;_|k>bw2=3HU@{$58f&Ifzudus^>{Q!X}^aVe~86 zf3UC7vnWXsOA-#BBWH3^3FHle7}BfkMhfV5Fx7ck5CbEHbK&iS7-)|X=v6v=C58*> zLY)Dv-Y0~CiXzBZol3agnZBI9b9`fPGOtQ1u10a83L;u_8twZy6|_%(5#u}g6zjdv z7!-Fi>f$SsZ%MJ|_0GX+Kx*F7H(1P$A(*%K4c4N+jqn;>yc)%Ylp#OXxcBi67L#(X z?T~7@>pjHFX*|Qb#^7%Kt4`%w6c;KYqSZFMg@?$;1YwE7YK`VHX&YcUfo`rj@!S+h z&iw8s)gx5@0~HOqB*}(DVp^;#~I~PEd^kq^meV8)kd&=s%R2p&NmH+#)DiE(_hfuh%R7lw)X*Eum zkWLL;aQN?{)TM1CN8NivU=CR&!CrxVKO7OF%Yt;;;#>6}kGhVZwWv$CWw*&A*2#RTL#nl0ah zwDz>kN)X$*;V@&sq85O^T&NZa6{Ujw?|Iq&A{NVW01a=NGOocE1vo%^)Gjt^>- zvk#(?l@FT8Ds0;%xf>eP#GkZND0|frqNmVTv=wxf_4K?kdg$7wO$)0zH$hbKRn|z@ zvbilY3bd#NvHjTQGP4iWToP2Q#>UKtW=@^iRg-HYjpEUNA@=)B)v`IrYR0|EXUw)` zi;d?Br3cD8iYm8*dv0pej>W>*T}wOfnWa{_R9pv`L=Qy9&BkU(j!dzWJ;eon9ij@% zxe%4tPS)r;#{ofN#J+9H%tki`in{8a-SZr4cH7X09EQv1R&Ye3U9GwXx|m4ATV0T^ z_^b0+b2gEG@+|ovTDs(;N@GYq3f>(DL~CqKJ2qM%BUTi(UpUYgSSvG)enMl2XPwRf zRdt}#?ZjEAuBO80Qz$Ek{!7^>IWlM5Ep>Q3Q(N^YRIO57N})O|zT#)SC>VgbUr{lU z@L=;rT4X0}=ZdKd0)+9{>?M1G`--LaT4ikz;~Bo7N^QZGXa?<}TCoFro2c=+Le-@g9%l=2dh2q4xt%w`@D3t6sB$(SD!C` zmV`oPOHc8PB-W)$Cjpzhl-!JB8M#-u zDWu0}yWXkK8?4@mJ3DVHD8{o4_IT7Pq~lp_+y^Kf3BoAnE*N+XD_PME*moxQl_ z)tpGu(<+gq9nK_UtF@Gj(P-BJVcsZzNOb8y!;nH+dD0)suK7Cu&pgMVi%H z`iD@<>P5=frCl%SIBM6U#&;tFE)dS-keTZ}Rn0 zRO2^5w4MWk*Rz07V9ppT?YUVqQaT!F*I`&0X$QS4x>A=~88$M}T^(B@dc`=^s~83ME{U=s`*Znu%59VC71Y2-Sy)T6sCzF>rIuT(e#T{l)1~4_RU5pCG?1gbG$uiPmkU!p@Z#@zKXi`bk`zu zx0CJnUXRSgsfON8S*b`MsJ`#)Zo=&FGHdK9tfGbjp!X*H@}47L%b@-b98LM=mocj< z6qm8`2Nahe1xF}aZ7%_eSZ36m&(_i2;sMTZu zm`0es|CoOH%(>9?y3tE=jz}*ofOGWaOBqt^OShHKA3`5G&F^~(&il|AOD2hZ8s})Gbl4LF4 z)AxCG8dIuz&iS!duS`GHGaJa#bbgCuJZWj-xO|UHGwH>W{{(3@BP6Z70bw*V#`GJ2 zFaFhtpgds}qgVd~E_k7VbYz%NSyw9Y(~MO7fS}WVLe`*_Wk_crQRj3ZH5Y!JB&r}% z<=67x1PRGJCyO_T9FxeslHbY<c_d7f{XRv2-!GW^p)St==Po`v&_S*4kupj0ty z?!oa|>|Pos(Ujx#kehT=#=IOo58xDY5_=8=?~Gr&Y=Wf8K(QJ5_S32{3ND#cuvj5U zCmP~^F5?pdn51PpO2IO2$1MRR6DXEDr`K3pLTcvdjIL;_w%Ev1Wf9wWwkp4Df9PsFn* zTn0TzG2RtS8_BeR1=IUI5m@hm2Hv!Wx+4W>V5J%g@HdU@UW_x}J(Zp%)KO15SO-x}X<7?#l`PI6}{4=gjBXjw#ts4&qu# z?=oxrUc0i^<_0q_I9U1c3(c%8v9Poy0z7S2$zDM*hmAS3px;G9h6n*pQ0O-!-yRrX z-U%IaXXd(RoihZJ9*2(>85q}pKh1MWYcO&V{sg|7k$T_R?RS(^DnAtmRUvYN)lf3G zg>!nV@{$JIAE19L-@tV^;Hut79(kCWD?hl{m#-tc(JBw6wUxeis{o((1pK-^Nt!{Y zbFe4W*X_yIc`2&y_XKswD!-;3F7jM|c7|sbeYtJH`vsT~Emu0pIEX8MAt5CKl8lWj zxk-6Dep&^Cypj=&J2j{T=a{WCxjJf$Y49`UlM+VR97@%+BLF79Y4%lq>xgt*P>C?` zAm|%i7c2p2;HU=K_Z4ZOB;W?r&!vSOky0|93+lsIcl`$CiehWZ&-)D?2-;Fvxufu8 zNxv7JA^PWS4&v!7fNE6yJRJLYCyU+3J6QL|y7%QWH^nLbGO6AeV3`Or18`g4W zm;S5n4bn)xS+KjV*~`rLYSd<1EtG@Te-)6shTi7D#T!oUk~-QB2js#mF52M?FoW>8 z8}1=&Mb{;yVvd*S>w-ox%3X*-=qaz1PgAhdO&<1$-D2@1G%M=kY^9=Kx6;}Tb1Llh ze2q}tzkiv3fwzF+c6oE53`zm#0*0?WZ;x;gf%9IO)M8^@l?6=j-mJGme{NPD*xvDG5lt@4BqK(3imW3hv9oV4r6{W&D})l<$ZXhZRc0sgL4 zyz!XoVt!Z^Ddv=}x{eILCG+?HD!rGV-~exa;Dc3KzS<2ZsxY;!i{Sv!veVv_{%I*~ zNM8s>sB^LOrN6JSL|hRi)!#(%dzQXXRhc})d2>1LlVJW9dyh--FREtAe7*4A{}ih+ zxCmGM4xn6yqpf<{>)#;gO27A-Za5w2BMtv~r`AqOcSCE0Yas0hfhAB@I^PNZAD53; zDir~_m!(%KCx7@@F_iiU{1~-3!4wSJS4;1V7lRhLnP`^ES`oQz#mTsLT$*Qh{aBX9 zGGX9jgh|P-n(zPXi?i07*AgkeRl_+s$)~)Nn@kZzYVr?|;eCc_F1pQKAoS|&SRzP7@=RQbcM_~GZ{)|`!&Aw5X{};{{!LJD3rFQRQl@@ zw2hUu5UgyJFRL&I`|8-7`94}}pQ27nbdjre@Bal92|=otF{>&R0W+7;94`|BGc=cR z?*u1*T*+?aHW0o0EA#_qxD+>FV8Gqu9$;=kd<$|)GPz_9$tAy^;!Z6VWp*=zVEQ1d zyG50#_gJirG@bsK==AB~^!o6_MZlzqkxcXH^~=QY0>!_K;*UyBnlYjTn_j<8KYyT< zD?Cnk0Hs3Uq4Bf9vwV6K%wP+KR~dVH)WBkYd%^Kw`1$OKoD?k(_q7I0<#Ea5l^YQ6XQHM7J zhtm3>7uSM2dB}w1@!lvKE>Z5sAa^dWx)*PNQ@G#t#q}w)<>}e1Jkv{}@w*MoRj|(3 zlEM;-EcGMXU`$Gap9e7}4N6jpF^{N!iie5lMz%bYI-<=38=lom{O&%#;NjaoISRa( zmo1VDF;}3)AOK-OjRz12nt;%mKoyZfh@}WfB}73dROEA| zjHj$3Jlx?V=UDk2}UQoKvWSyI9kXX&X)uD@H(`gM$-ZX6r@2tk--H|7TvjSrUs zg)0KuWPUDX^tuVgO@Z=Um*H9}9e#bM!QeX zv&q4(tV`A2S^3i5TZy9+N%vbe&~sx-i$MdG0g>4dc;k1I!yAIziTgGp5Axp4PlI=g zLKxhdchnY&T0;fF;hiU_nU9tY#-%m`e&#vPJS*2)|)GM60_~cGaBSO;Ce)2+_tE;=vF@b5t*5h?in(X|^NA zl#Q|P3#|KJr2&!fA;lPkgeC@ZTs?E_Vtnnq$$5&=W5)}YC0E3k(+n)9nc8LLG&_`k zakk8?h*^M{ronTua#`Zc38pW##3hj%eUxwZ@fhX3)HE39E||D=Dg`W&=($R+h%xqP zDy2#QCJT7pqF|PcR8^wUtYjspUJIWJnMSoc?TyVB$IYlyV-^A>gOt+J(DNDSYYI3;gm=bc?^mU6GPqw8JR z`W>_5Xx2UOD;s>)RHQokb9(PNe#NQX=#x{j73Tm%gR1BCxB41ZQ0({BwbE%U@D;F=irGA-VG_oZfBx>vIWZJTrv8>DzrZ7~vh`vDL_gu^MqeG$SRm3GWYh`C?cCI!+=(V)r8z44U{T^htn}G(i zB6#OxR2n<4f!$U58kO!Qs6jjrZvPnKxgpx{|9@x$ME|QaAaZ-E#h}FljA>%H7_tLG zZtbJHdIyBK$qtCqdXM2k;xW#;YggE{ZhH1vHz9}^!ny%s=gVZfwm&TNCLj8^H`x7_ z`!L|S{m5gW(}GxI?h12-!gP|;_}?U&XvVHtxcOcQ$Cj$1RLS@)_B<@l{{lp%0hyOE zt11)$G?y`vK@^wkCs-$!OJXXY0nE4SVk%7tf474O-h-@HY{(nl2rwA@-0(t7Hg%dy zmYkZk3Try^g=&}7a7`n>*YZ*Hj)Lv8c`>@}Cx1Y{R`ArJSSua%_RmFA8_8^xb6fZ` ze|=X@Umak^(8!d#$Ljs71jse z(?H_s#~YnA$h&hXikx9%62I0K+!s9jc#te?_=)FP@@x7mXkN3o8dxea#EPT{RR z+q2%tZJ^nGWcpdSr6`^uExj7tvv>Y>Y2hYa>o*BMBIl?u3WO%+cQGwr*9Bl&I~K-6 zE~W<|`?Vad+GvW~=D_Ei?X6kZb4{bOQ5()?Fnab*Q-9OA(Xw`PVH>Kv4CZiPqGo!V zsw9N$JqTDirmBtWq>0UhVEV>{y0igB_dsp zzI*yKUw%UHGy>=;z?YwYoQ5(U6aSEa{3P9Y~Bci3-pd zFkgQA_REVb;!6>1{2D*_fA8O3{`~NcW)p`7;ja?)<&z(*x;KT5C+FPmrW!eX%wOjE}NDHBD82eb6WA#*mIQ=~9yh zjLDkN@!4y+Z}R>49O78giY9FvRmS-*QRODyey7iCCQpmeEA93?2BD1?NZKeuOH(gK zS<=shiGS!@qTJmf%A_8*s~+uyM%UC6h>0(%p?MisRHfp*j{8*cItb7M<)|e?)ODn& zwv^dxQqnVg%N&J&juWbX(mcC6D-9~?g_D+Zhp+Ks+Owf5OqoozyR)M`1x_e1oJ%qw zQ|9Uxc@H9OX6ry6Ik#-%(t#Xvyzp zNxQ7M7CsDv5Bu4PZf zi72jGsbU09^Ns(dumQ!bUhDJd4oOF$j#DLKkt5{)$Ys~}DZZx2gl)9^TE8ipjnf- z`#Zop7!mZS!PloFL*uCs@wy?yiVEFfP6Oo_JFNWyn3GXXF|OdtoK!RRG!=)vEm+hP zi%!pN1_K65tbA=?KgHwXmdOF^6oeV=g_jMgA)HQ*jM9E~WP{UOqBg(g`7iUCOy=W6 zdd%5>i*W`$0bv=Tv(XR4VuSRl{TPd5F{~>LC~KU)7Yx1vW3EQp7L#}Ml4gXc2zkn-aZQQF}`eRUTY_7Gy#70L6mvhDD%jGD8E=rPvSVG2!?m zy%BVA4wL+-0ty%OAdgy%BE_Y*+|=rD+x;>jDk1&A1-5M!HN~2M2X!=f7*MWWV3RD) zUjxVqhchTJct&{UZx%$L_}UM~L5iYUTY87~ynl6!Zn;-4mCC`crGD8bt?2o)EK3A` zgM%*J@l<|YwU{73OW}P>7uB?^%iTF>u%^4Sk%n}LRZc4j6c*5-mu8PH4WiOL++MZ} zY8kbuydO2O#I6OtpKh2jek^$(q6jK>ayh|?_m@r@8=XA;<8*j^;$%<@h3ekflwiCu z8!fxV!s2r4D&X--O?wnn)py7`I)S-=6Gf*C&51lgyb`wt$^*c^XKAM5SI_CWJh1q+ zWaJblg`U$CBY=-CxSuQ8Q9cT0FKngntwU4phXv6lH0zg^B{_esP~^wDEl^DFc#9|D z1STnz%@77zc&mr~>X|l9d5w_g&ARk<0G}FCIbL=Jg6c0cF6Pue851N(66mc+XV*?drH>|X7+|^c?gwyLVYhe8 zbyT;~O>NBWwhYiJLLv)-Y~BCknl2086PzizdO<%L-#GGIoA}!KuO07 z1`6jI5Cs=<$z~`r?>n=9(HjNN^>p8oFDINw$fdW*=Y~()t*h9Duhg;1zv2{5!PMGPs z!cjHcl&0`{Uvw5rqw0Obs(Ahc5TkTsBK_d~iJacxXIx@IAocElCO?6gzU`imOtJ%~LmFmOCo=>e%ZML5!Hx;Zz1qe_ z+oh>~<5qSXzVGunD5&7SYpdjvqAu=?D7Q9-N3h`p$wFio$#r%)*@{Cr~P z=>U>IZNK{lNlS3wxk&QY-{j?=^zauN94mnTrJ>&&8+rN9k=SgT#v)VsJ8_MsRDzbf2H}8%dd=3;fF0hkuy$> z=~|sF-IM@jIo)aLCWS@AM?dS3?wQt8!Sqa`M^59F11OxLpBxv-hfDbA6Eh+F;xydg zdt�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 N3bbwsfVw_n9xjI( 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%0Dh%Lxi#r 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


    EHv0ABt> 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ℑ4b~DWEra=oz7`y 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≈F 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%0D%EoDD`?b+yk&FEBSac~$pd|onY~(W%Qq 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 =U&53 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

    T1JZdf< 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

      >eveAvwvmPf@9TZ%&&-PJO&${aiwBEh~m4Ds9q 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 z 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 z z`H}pl;l|DPfywq>%g6iH8;5?%>wgqFX?}yh{?jKQhG|R52gYS zGmZyyF0_b}$8yHxqS>S!xycsgDpJ!^uRQ(}DGh6fWbd0wLuk~QQO&fUQh%uHZjpE5_{2EQY+V)CGxMb+=b zXl@^b@i#kIr4d&C2K0)m=dmr_D)viIEBhtrMJ{+SZEy9C2Y5=RYrPVxj`(W?s?}po zl~4qq-Z``lro@gVx5TjMEPo6Y%jIb=Tw>)=bG(Bc4_@5Y)**=G&9sf*tF5zFY^OOV zg}dUV1U~F|d2cJW8r9OnRilZAquTvzp1?`duVl2}(!n=vXFjYH&?NyJHKF={xIGAP zmSFG*NWG)(Sp^1Nvb`Yns;FC}Z<-~glU(X++>iAR5Z@~1sqr1ak$-4e@w$r(^_`18 zlkPE<70ZPvV*g!^I5`~=qJ^F!xa~HyNqA$ahtTFb31lSn-yu| zhP^_pdn?VgX9U!~RJZB;jCvAmA#!m4lVbPe26 zq4B)S-j^U5mqZUoMMN+w6!=d;^}G1vPm4{FlY-)Pb`{1S_*xbhx$i4IqWLF<*jlHc z0J(vFDDOdgVG#>J4;V1PfVi>wngi7vq;} zQEwc_4Sx5pn8);GZiXC^Ger;}iR&~)3kbFgv^9)EaW07(S7*p)#QpdE$UUvjy}MYl z?u15wE$(V|hRY#8e&lRzy>Ke2;&)4xTS$^fH6%?uhD)_1;TTtI5{+?{k`@bzlgjkh zmUM7Pl8p6{&tl0eW+6ORm_o#j+CqPd|SnA$}QGnwvo zh{Jp_!s5NfV~o4Q;zh6!l^!DAk!tB7;zg;|7*GZDP zp_$9`0Bas}0=M$puZ48ijv#ItFx!x9IMAJ#^^sy&4YGVOqRpOorVvm^xPL$z<{~ zJYhQRF<#4TvoK~Dlc@(mjF%sUQZK!Ps0ofcX;u?FJJcDL;56}?qbKZh@zoGQurbGD zC1FQfh%NQeBt(H2Au_OgScXCzY1G)3fuI`{N)ANbpfTyt(_oHy5fXo+>3HO#r6C$K z!1hCitAlZASdAs%uOs3Q18{fPG%s$H8vZ%l;)OVtb~6^9#<*TZHe;}EQAGIXpD&*O z=go5Q<>lpSy?FNSyR~2a`Qq~DwD@Xu_5JedMFGT=my16xzFmC%qD~i2m#@|@Fhh1f zYSnVYr;TiWO_J;AFBgAbCQScq@y+V_YVkOIR-vMM1)SKy!iq@y-52<|mlmWg!>nwS z8AeCgWI-TsuX!}uQ37FKO4TMnKO#Ia`u%li)Up7O*ewCyftTmu0Z*EZ>%%C)m9mEg z3=yaSL%@4FWvjfq7X_}xLRuKRq85IAYS8F5kU={c`^Z zsgf10soFE5@>WAz&lRBZD?@9s?4TytO9%B^3~i-Bfp(jr+(stb9-0{~@+l_v;jDzv!(RufX> z<^nl~xlR{=Lh^t7IQ_*_5b@^1Qyy)eF=VeQo4){i@fX_+i*?3y;b7zWBQ6}n8EQ-y zfq${i7hf#Su2!#}E!Qs=XOEvOo-g08Uv4?x+4+x4SmAQLyj;JH>^#l!boqAm?&{TY zx;N?am*w{t=U=Vfhf8X8q(!`)onPTu46|NhSoreW4Q+o26&}5qh=Ut&;tkhQou$zB z<^7PMj;x+}{CDwGJ+fy*C2TzFPD~&VAnzb+np#0BB$6XQgOn`DA+5Ds;3T3oGxBZ| z&d6`Ofr%t1MHqQekfM-d=>AFojWbXgTm%pSGQpJtxg9j?*ab=0V0cb;lGj)azFd!h z)LfA#;3j{9XvX5LX7lVSnfBO03A~fR5k#1ffyL^F00nk)6VjfEbT3MMFl+-7y=P}n zw-^et36wesNNh#r|HSK7B;Pq+dF;k3+o#2Aqpf)5b{(56_m53*`>Y59kI6+r{+S#oFv_O=d}tkP;BiLE4?WrDAH5i^?hP!EC>=0WTcbMyhn-s z>!N=YNcB1sbx)4T8TtJS|3e|q=&;{5T&4?n;SuYNhd`rhUIuh-D?(Y;x1$q0H>X4&hQ z)=H-4rBeoRzLTvY{#w6P(r9}~DEO+BTMd6j$Ytcr+YGH$Gvt#5{{aekzu>pN8~mo9 z7W}<#1;5yJpi7^nnIr1V5q0K>O0&eXGy{juz@am&=)8u`Yv{a&&1=}ahRti(yoR+s zKy-`vYse~?MZ7Qrn6;sK0P;K##m4_@09HXYk5U%yulS8ZF{?Mm1W4N2P6Qe^@HT%? zCT~E({p1K7nmy>{Mh8&R?ERBNI=o$m$ufo=0k7e?DB`>K|FU{51}0DD?Y;ust`A}X zQptj(c&!67K-;em=x~}=idxjm(7~#vxHX!V#k#o}~gQo8~yts5LX~Vb|5VNrAm+=uoi6 zqW~qWAHDZUi3Ur64;|8BsE8vpiVYg5FS{JWBS4X@Yw9Bl_z_+a^wm!ca;vhZz!pze zCQ`92#i+OAVYR^zP~*eYSzLc3gR9;N8G=2VeXO|N8Zj5wumY-p-%fEo+AhD|EOKXl zJ#>p-+sudi%w+q_mix_LXSUpDw%lj7+-J5t$`QIiemVgnab1pkK5c~$*5fAuZa=hv z%Ylyb%z-q>x zTz-;7hN)ovS%s!v^Bh*8^h%6fLJARv2BRFK>Od$s#K`cRk$@+e3iz&ecq{Gm$^jeH zA%v=<6oLmG!7C9H&a8i~wO|Bne9Uo3i<9hz4o3rrII!!ffHwamLM)e}cQZvKioqZ0 z0-d}GbJx5u3h(5Fu{rF!YhLirA8zu(n0p;##``hj{kX<^|M=nlc#nd8kR?UEWT>B< z5h&^>MIp&jAIPca5|ZK6NPO4dE%@O>spFxFX=qU^&ssEZ3%7s6T9_)TJ!Hu)VhY&j zW5hRVM+K@l!Z(i8S6dKw*!vSz_;@FbVDMJF6K%mwgD(4LS6E#>p%cBl%)eaxeDTKP zAg``|T=>=EZ1wu$?N9%NM(6(AO)JbHzzgPIXOr6_ZjNe@7y3zn;v}c{qn16W(eHp7 z+x8f@X`O#KY-4{m<~&Z+8d<4+$-dleo|Ee<%5?G4Y^hsFaAYqrL zgRTJzOp!`k|M>XV7l{PZccW4pp6 z0~#&RVSzsN_IR*9Q|5qt=jvMrJlYFmdK+Hx4e;Xv_NL#NKbz&_V0L@Pu|EH9 zZ)9CF_n+R-nDVx@dZhD;)I_ANtyNmim6H5B&zffkf8AvH+|s>?UIY_oxn#W++Rn6A z)_LYSTZ0Z{0cACdJiI%W9_9Ij<2;SC2|4g6srIJGQPGS=#usJIs;#UQ@u!d~kf)M` zubqCq7BXt$qsjPEN88i!0QUIGTIem)ai*_YMDCqe*Ke`)ioGnoDSRPqB=a(#MtXhq z4=XcwfBI5+MH)Qo7pg`J#W;_=qVA$v>P~8*l$v=q4y85NN&Su5yK4~^EF$g%NhawV z@l6E7LKk{pm|(_e;f;C)#TFxIy<#U$N$hD^TXslUdS(IXCiYV|30k`;J2uL0yXew* zoD@noC!o2@C(w7Mrx-MHYo&kX&O+~7_`6U`e^E24n+&O~VXKqXo)mJkxm4pRGlm{c zvL0|&$!1XeP3af->YN)k14QNmRYp4)-trr0>80ORq^ zg>zC|;9!k>?X64$mA|DXO%%nh*P1L=934>?t2TkE8j#Ku{*PL}?&+g|RcC0PLBZrY ze}$X64q0y$j`%_#DvIt}9VYD`?xZGM_PIDldEQO(f zNiC8swV9s_oi$k9Nb6dQC;=2GEu8AmrFjWSzD1{d0hNG|OI9T9eo;VG&Io7BJS)-G z{DMUolZt&)vPlR#QhaSuxPTr3;)CQZe}!>AdieH9>g^AJLhCnw>u^c~*o!{wc|8_j zc9UP0p3Ty;v(DiAZAqUTnzfaa1R?2p<>KiTDui+U5_L3Mv#hdE6i=J9iZ3OS(h_=A z`JpyT2C)b|>YK~(6gy`W_v)JhSPg>LoTks2DEMHs_60!B(VEd^cP#`hu46PKe|wBt zB%fL?CJqu=cK1%R%SNUE54Qqz6_OC3lTQP>nl20a?paj@hix4KHJ4e^nn{t17S_0AwVjZ5@%lgw; zo}X*Wl!=-jw~W+gT3BbDgQSf8ChPP&>%`6Ih?ioc=sJui8DQi&&N}ozfdZf3o9xhVd)$ z`z?zKb)(v&7LDc6s`2D5egD9=)D-0#FGO8=!p=_{g_mJtjkaI>;L3U4 zbCNT`dL^=`5(%7Vwg{uE4o^MrFV*eZ)f7&riSRZkp)ZU!2^njM6SDuxa{l+R$SF_%Ua|*U?8j>+Y z*KBXKZ;LXX$8vl(*$DDav9HOTtezrWMQ$}ll|9qE_EO8n31z$2^P+%a>r6_-J5$=Ve2PPOyJUXZzq##lsBgO93~iQ(65C2YTcWn~ZFe`a}Nw~Q-1w34wW zN#Ttk74cYYh(2=`4m`)q(Y?fxKyir2 z{}zEf^%!hDBqotoX0NS|R|H!tk8`z!d^@D&>{QU-Vd8kd$f~W-X(tSe9z=t?d>w|!g4Lqct4{n&#iZXZByQ}Wofw5(+n$nE(x-dO2LzRrCSsY z_Mb-7-}ep7pS@e5PR}cZ$m>n)#QQTOam#*TpfEY;V^on17_TBN%{Mf0o5 z+0w5t16NFJdp)FB!D+Hn)6Zts@*1N7Vz~?F=0UCj;0zWt#){Z?5QtqBtM;9496{dT zwj;@o`fecH#7>5$BS&6;j>4so;l#dTY^@eH_G9ICe||$dL&Iuz%}!X(ZeDz&&Q0q; zHj+twhZocOlIPalDaGCTHLacVQ*zudchyG~_|a;QmnzJM-UC(&tggb2g56F_njxJq zuD8%{t&wXNqu!*j@QE2rmiqXvmDk2If{k{^@pCbAU+?xJSu@W@)$%ohuN7^qIHlII zv)v|Bf5nfjncdz$=`b-0CDX5owYBm;O6kah^YZ%!e;wa%r8i7qQgqw@w%n|;(R&XvhGwf& z%0BV(=09IP|K-zfO2B~s<`EzY@Dr8d_N_iT2g8y!+gE&!LaP8gDUqb{cJuiF9Y|>d zTf?XA1r`$4XwABP&86I${UHQzC_`vk&&PBEI2kl zf5Lbgl^^qmKT}s2^{?&a^Y-$g$uk-Fmk-*4^eb_~qAFw{)7VqK$4g=0I9` zc-UQ}2xs~xP%Cn#pR4wmVx^SXH_totn)M3Qt1qMdqBf3K0k z;p&-WR{{BHp{5$et`;(%8tR5}_>B>M>Y|5?ewl8zp!TY&hoj&Qg!sXDKWLi^hP~vw zhffVmTn317VOwv<3%%^gEbcU_S&)>ghmwv8yRz{wD$d?<FEI|` zT@Bav_8T`|%(i1OgdaAzxE!5!5rGHL#Z|QVPH!)J2X=7uJx4)zkD-@af6r%*k>`UR zlC%RrWc#JF3ol*p3$u3%5BfnVrX8KN=o#>$!`rpj8vw`wAfExlQU2yV`5RHkx>Cp( zM|Y{bU2IwtUDd50O3lL-^M>XeY%z_gCJfPoOynScU%lj2|m4uFJW+LAu4w7o# zP4ILV)~nswuzL2^u2)Y9e<}BrPn_74yKsq;bGe(+R-l>~&J^*4dA_yc+x79CYE{e; zg=uyyrZXG#56jCcLUz(_o^-C#KUZnepf?9mcbsg>t&rd&BVo@8@+qNdr-ZS7TA<#^r8`pY zepMMf1ZbRQSbNpVrS99ehWHoatQgv`t2F&FQQ6;W{+C|EWnasC^pIGu7TiBjg#hf8 zo4H)a+`DI}#)7HM9Q6x9i4|9hff@FP44u2@EP#54aTh*c7dAxe_f~+shqF1B1Ewg> zw%Gp%jib?fmr<}+6#+Mwp{r9Amo@`fy??!)|9t=LMHhtYy~7en1&@vMs2G=m5S--5UeNV3`qpdm-8pIz)yH7a2YOkKJaVg^ZCz5&YRua@ln46@Rc(jOdbd z((SAG_xAqs?~9Z=5h>$*^Vg4;^a2eVijR%8DjIBl{@r|k`CUR4VL=b$T9%o1j%ci7 zP7x~$IinD9uSSfS*l}bUvi_Geghi`@j=U110VP4)%UiD@!3*W+n0!fS~my zlhGAF0uWU4Jc7U3#(cSKmES#?3qLb2QPilcnXFh$VIp_7D@T1!Rij9(!Fb*4U{KzZ zgp#SMUIz!^Y~s7unX$aJPy27oa{-6y%D=PlcAOy`G2h8*i8bouen{xPyA`dkYV5! z{J<@|9%ghHB4=J^qTI(B8G%!ttX$y(6A_NgD#oxQ5s|3@dZR4-s?^{KkGGr?pfa4E zj|m&(1U8-tssLh_9a1(918{sCAG9D#@qlXDzT8>=0w<2N7r$w zt>f7Dpm>(8gbRD6RsauEyOM57`-BK8#JFe^ zU7M;;lxo!zhJW*+2(GVTcGW|pHrBmVf{9la-6Ng=QAH0DLRRUD*Qk;jwES?`)9H)! zNvCJ6lB;b)7^IOjl2QHc*ecEju5&nsNV-9K;=`*saHs&ST)C681u{*d_$T zg&hXVwSO5zJ6V6Rb=I}bcH_mljtgchUKmvbH^-MrvVKWvIYW9oOwUs0%4jQqEq|(%SI!tQ`5BF>N-_ets8Oh#m5lrd zKLx3S61HJw!7Da3DUCzABj?(GC>@EtgaByey`*El;{a)w(MnM~V0x^Y%6h4u+Rv|w zoW_CV-UE6J=#>wWR+M?y4uHg^GfKlS^f*ALbJ-~P^7aJ4s5D7NFSs~J(ZEc^dmZ$% zxPSiWf7(XzaAat<)umBXzCR6fTsybjj$O3qM|OH!TN*``_H0e1e@9Vp*VVI62nLSy z^<#+7xZLXS#}Jo%ZcQS@`XAtQOE-5LUY6^-30G?UOU3DCCrT~ZmYIbS2}H@Wj5a@Q@QO-hW&`U+}`!WedHnmU0!IV!oI@e#6OXPRKkQ zc=E+~$7m0G+18!59MIZy^2M+}1Y>^D_7-e7X|{I{xomHZ3HzucFUDHsBmGbNS;lhs z^tM-phq?FIwn_x9P^>)d!ftTov`hQ8c6P0?rK{OK(S5I6XWk{Yn<;vtWzEtPEr0kd zoNn>rbW5S_;L|NOu+IvDoihL4K=7tkDAz02i?z}|2!ycz=n5mItVH~nb1TSkJ2*ST zl?~@s(mub9lBJ1-9X7|i8cK;NNwX+nSlUi7D*FC}^0tF4hNE0$o{T@9JI9i>W&I3` z@uUcY#ALkZvgrs*SU$q?;PK?)IY`*0qsjiR7idq&4Nk{xQyyT(L>;$txpa=Lu3h69 zf>u=>Q*5&9lISwSnZ2Omq3E?6nK|(Nk>`6+fyEt3j=Xa){SRK+*~phsuvZnAG8{b? zm+381D3|{WSPTM4k(Uh&ST=u#PEL6Sho`siCy*CfK0(W%<&y(Y*1+lQpVRLzTBDWc zRUXpX7Gk}_+pkYL3;gNo;g+=4krJ7Tw2>PLH5P94+Hq#n{f!s-hWt(>VBvpAp_@;(8v}W7 z;vDSe()AoSM0shPlE`y6H7#}d$*juz^sO_io@LtHk_j*bMdYeYeZEFjfs4inXEyT9 zKFeb>?aLstm?0@p1sio3zrI#~{qpwo?^CZyG>UCFS>u#;aQgF~r}%<^m385Sr~=UG z$6u%KPrubvvytlWiMRTLHXG#B zO3bO1jx>-vs*{m#DX!d{ebBKY+h_wrmK}%qN-^)|qP3xFG%HP{Ms|JKtp%ecM1tR8 zEdeRnxNYpU!NUq-6r1wvTxj)sU%=H8U*c!%2aVD>g>>ij=VxM{;voJCF9Y20=YC`z zT*^!rEtR2W9zPMCmkkbBG(5(E0AaJKnBF`^lS%4JX{#uoJLRWjm=cT~nX_{kWbZLL zvpn8N6elNdM!zj5JQ5%_0cxopapM)orGS@x4p1OiKE)4563K4p=FFOcX|(s+H^L z5#XgSA3j|rN#8&-cJfk(9?g8GxeQ&SJzkqa2627y)rfl<(WsNSEi*2j_G$ z8TnQ!6nCpaVP<8V@169^fKSOe-q@ zN+U4>Rg)XN?I}`?0yz;(2?EU5r@5l7xKEBXb7z|UQjvtE*kPMg6jU&FMkh_#{5mQP zB`XdeNt(&X*h0mZBvZ16QK41*c2xuU0N8p2dyA-gq;^e?w()0Dtm9S)`Uf`I3#Z49jWwVHuoP0wgms*fF1+ zz_UKaRZAnoLP3(2|l8xTdrOf|A1x+j{l`D40`RMQ{Oc3I^Bg z!^o|(B2$=MI~Qwzi{%JNcR*u@cD1ZDkBxGUg2qA*U?2%HJ0Dt|XN0>;2}yhy33jBr zOX24o9O>>;ic-|y?e0@bYwkXseSo`939h+&#r_?#K1Q^pjdG!h7l^Ha54-S7*KE75 zk)%dI3(X#=ix1%Wt0cop>WO;QBXJ5*J9zx{^|>64Zx%X#yDksT@KU3}yFh_}lL~7VZ5xyvwHj^5IKGtb4n7vxCU^msjR8d3C>q!zNbRS~5?y zdUD%IhC}1+u>LA|uL3qw_abZnWMvA#dk41eduISSWu}xB2RJapcXH!#o_lQNcsAZ&OEi zK879V`G$kCa<-~CXDioM1u2OchYpcDgH8VnGBo(do%!r=gPXUVbJv7O_pbx9iRjv| zD2lPG1q`PDEy7xKz75ceK;f(+(@@*knFk3>r_FnH<^`UOoLB3{ye4G@^M6KT9@tAo zi|=OKn6J4!+?cNj{!be7U_>2!CV^u->*HtQLfyv zn$gR_4SGNp4eXoAKIUn_+}0Vw&%B;dnNn*2Z|%+ zCYMpLR~47i!3YzVO)*U>e_F|oh1u!CFom_Q;?a{95VlZ z2qjA{oAOpJ_vGMOY?AVUSJa+G2JKzVJKSA?NXFCs| z96|T~z5DaC*68?p=F4bJ#FyvafxqqL6G7k+z#|~?1(#3W0N)|Le?vS5Eq`mikbnDf z@2$M=`2C=bNfeki*h1-g`Ro0+CtVoUD!TMDeaU~X?@#|e4eTQ+>tbhvQ{-It_xGpt zz<^cG$1aj`CU!sm>ApVwE~yT4X?~^uu)6#4trK_tC<+Xo6{wxFcA`LZ%G%I57Zs&P zy#mdP)|Le}EV#Myf5pNgOoU{LFiX+0EEFY0``o{+OyaA4WOgTanB9SrGb$J_DWRV5 zF^u-aqnsQ)nDTo6{A?9KNf2Ou`luCo(@Y*SDqzqV}CCJfrs>C3qX=Y`t5EBNLz)58VO!zB_JJ@i49f`tWE+_-ZmE1etupE z4CO}82OKCNe=2m)pdG||x`!gKAFz!E?Qx1^74OrHZeEX5G`y)&Yvp-gNX9GA&O*+A z9XZ4k{0$i1=+AUF6M|=Wn+d@!XEUAs1AWaNu8OOf3_aP?d~zB-myPK>RM?0tC7lQh zLGc7!2#OoPkn?{WGWPM+Lqm-HkX@*nJ^#9)q28Isnx#p}&&LSpsE| z#<^U@kS&(Ul+8^?`JT(OEb?2a^IjbEBu>jnELu;i#ZvztN7PM~r-ZVmU?_*T6O`wW zwFP=Ve{`=f(}?&2xBY)96DA#0)F9;h@|H4I@JUjC0hK$aAW0%l%mcfab@!dSme+^^o1@k<`74}Q^(m$)%^~3x&A*U!1 zZ3viLGhcyfme|}~aUaQjAqJt=EQ~J~?iPCLUFPj*G%$wbga!YNv56fa-YO1XrkjC< zbyvev_+TWJEL3$hsd)6#U({?Xs|y`9vBM1wbyG38${QlPdfqq)K*fvEm=ReP-+*l7R9c(GKM8Hgyi%zZQ*mysA)6@Q_Ub937)jAv+AP&5M9yn8-U$QG1) zhr60ji8p9D18Jl%iHiZ?39w_!FTI6PnYm2qewj-~Dk#p#oK}5Jm)Ln^s*^iwnRM0c zbQY?T4%pt8MfU}Nsf5?5svNtmNV!aBf;l7AuEw5HTuik+yFQSkQ;d>99!8$5cqVg(^AXlY zme2$pu|?yqa@_ogR!iwcg7Zrp?50j!FCutaCUspLRVM4a0H;v3ECQRr#IP$cj)j_Hn+Hx4L^?xlj zUC)qNM%VCf@2fMAG0N(O$J8)m`hub@cog-cp|<5dz%~@3ikwm$vdwZyaI1L4s~WX! zG%BiWMOs%aS#6dN7s6n{a9aVhc5VCsr0$?NDRqQf_e8(v?I=O)s~lpjI_7`Xx7R)O zIy@;G3{lmF{=kZfmux6ZW zoNx*&D4tP42$0KGg7Q);T zUYe@PbKe63ujk>6a2({HfwL*a2U;uzrHvL#G5YZqOF?j>#ZpfHb6YGWud6MVV({6B z0zFPk&Onr)=#C?5N@)vG)6pj&YD#bmQDXWJa8#vUwvR8QbdcT}_;8_nb`yfn$GRv> z51~|d@W+#fbJAMJN@Ob1Ms6(Bj8Nj&p0lC;8IN*@{7xh=!jVJY zpKad;@}6QJ?ECWR5C_Eh)7T}EH+@&mr1+Fcrsp((H8rEPe~OH&1b;b2b%2Ws4+leX zH$L;UneK5EOH`edq=JolinlM-)91IRf1d_zAt_@+XUVDn*!}bKDZXGZ%DT`YN-KB2 zzIET9{;a9yiKy?%lG5C0YmJ%B4O(T4?<|u7AIjV;D@!I!=1KIK1~>M}17smN{QUaS zRV`n?jAL|8e_4QH}&-k%rUZgVo6r>}J6bwF1%5^@1UKWi8iV zL{}^pV6s&tBj(XUr-oieU_`EGsXu+=!dDv7MO5T_i)@#(`^`rjLHGk z7)Hd(vAFMxmrNhZ1wEL*vIpsNVp7b^!qj1+8q!skh}FK}~N-xrn5(H1x8dQ}TW zuQP&sL>><*7nu`Ay&QCcR^+(q+~{osOltvKNhIb30hS|+I5Y*Uxz945rF3VzR4i^O z^KhM198@5?ppzyLPeYlZZv08o%vz>1RBTC5e>qH|1`l?7Q3E+QY^^2xfqBVaWpAoN z(h)bLDLTWH7KFq z@-InELMv0o+h5Z(c?TH;^py5yL53@nu||gb5s|G|VE2T?iek=fHesL@*JW2zS_45x zf3gU&b?-Y+Fo(E`;0oRp46fOSiCJewCO6ATlU?3aG z>2zpyo)PXQB_#1-BG{e)dO(H0=1#Jz2(YKQR}}5-=02x%$=v6?cQE%k!As^|v44lC zpBJvz$%Pd69oh-zY+dof>ydV4A0b)g_N0!Y^=E-;hO)Bqm2lx2bGQKq)fbHe~|U84BHJD+Z>0I6+H5TpbYcTFbw&)SU&DWc_S}AM{1?e3PcN+Zp%F~Ehrj@2WM#ddUDzjh7x4&9rQTHj5nXo-mHrCVzp)AeLvXs!{MKRbG(9fD1P#@Qb!sGQ^m;-(idQRbUWw zg3tyP7(1_A{7)+}5S_6EA61HB4cQQT_XbFjTz*O=21KvE$RAvZ>7}f$#B>aQkxC3u z(2-%oN=(ObgGx-t@k%A8m;Z5*2^9i1G?&r66DOAwC|I6A_-^c zv+c@*F#mSDBP<#!Mv1)8bdjF}B>7d@)*Gzt4|;mvGtP?O?C5kM2&?RY(+#hC4yLR?^cTcHG^&F=r`uMsWDCi#DWXgp}3M zcp|SbnK~VMQkS7+^0(m$ksSNb`fmHqS-U+#q2W_vC#Q5)r9eCR!8 zaqa1YS%yat7@G?++x&DFxN^Ax$FVLTon#|3Ol-Kl^gQfABq+KlZz82vt z*NxJkgn7fj;Okl7HKy;|!MEfdCCj25t&I3Imq%ijgI60%0a-#C=$mSiDOXo^p**dB z?!$S`lh!jzWkH~UaW73!+|mN&pTdNBW!ZV$<38`8gf%!(SdTJ$nVxfQq*7APn8o^t z`B`I$_7&`Vrtfng^-G?MHBW4+h^>84?Lqc!r+uuaM_cU$S*VsPeH)QgqKN{o5VF=o>vZxgFT66Uxr#WwQLs?(wRBpzPX} zD)kzhCE2=KJ>9xJA8NfIZn1LK8Lt32#Lr}1nlQ%))k*6{OwFgar!$}uPf`Uw&^yo> zcq#n2h8smj>71YDD89*;Bi%ru&7L;VS`tR#>h{xN?E*D{3?26x+a~eYWNpa2!a8p< z4fWmy!qP-=rJokfJ)2PcCS(|YtH)M@{U$(@frB)Y1mPgCIHA>KGBa$r(t`0>TD?@# z%RY*(@xCvsCm^S4W8kWB>7pD4l9beqyWI?k(JAjGjo60@q{2$UB;7s$8{}d$tQh`k zg`dNS<}M1tlVPM^on7P)hY~u~*m&!y=TwjMiC6$Vy*q+0Tn!q_=vvT!K-2Nq3>ry- zwNpntl?ELoJxV~BG;sicI#7}${iMG(Xrx_LWaxv2Yl8+(L4(%jL>U_oP5W(oU~O9D zn$J~lF>%|6V$?<;`@*o7eN?ITNkwH?n$|9KBMbwab(#c`eaKc$wvA*4?!F}O+-SlwO=vFsY`hv(o_N3Lop@|%!qIx(L zIl^k>2)mJ^=dm3*!e-&HqeiO!^)zN0~d(J zJqGA5eez{bcMAW_Zigc1HC{gnIQ{BPpaEF^9s->pg0Ul)DHwUxc0Rl=Fp=IJK~bDF zLD4drp~$pQlsKAyeW1{RiVZVK|6qU6q6l`GCywiB}uWPgvRWzi z_>nk+%bizwu%w`j4sDhZa|_7NtKg3m=4`sS`(|bQ<~2bu_3`YmjhcBY$f1bd!HIB} z=8xg78C}VLyfbA}x!LCNsSMAV!lb0bD?DShaMLl-(Ht0(6yW^0DkrB!;?L$vGFJ&F zF7}X{%@QVwK9?Z6P+AfmdEb>7jgQxb1J&uGJR2>~)@uD)!sRYel<2ec68w9E3$`T8 zb+kx-zS2>Y1_acTEFbaWJ|VB%$9sOjfpX%3!bVzu-(8=SK1fNGiXCUvD?2;e6-)Gv zOBZs~bV|dX58{L4#}d!(^Ht@Gp#)R<>3rB0Po59=C_;dd!Vw%(RI%Y%G;SA99SU`O z0Fax9J~@3Xpm_TkAk5F5(oiS;{}h9<+kM&kfxYlO(r^T%@`Dt@Qp6q?wRpsm&3H8I zu||l0_`S-$krIEa^P?i|UMh!=rAW?s;woM$DV$y!E2RY@n;Z-tDuN*J#??q!HQu$D znfZQX^QT_mN ztQXqBxVrYazbBoPI4SSt>`CF-64)+cVRM+P7W7i@Cui?xw^|vYtsP}&9t0h^Jy(i< zP32;2C=rokgVQVZbe`Ar0n)sh;o8m z(rJqT^#u35A1R2td0z*49zUK8?%A@tUwy`N9E^+li_)6x!*bUlmr?-RZiXKWY$+Eg z?3C~4i`VjeYV8C1C0I>`SN*<8P_ZpWew&}CG_$|g#Aj(_+2+?eum8OjXbvUe5B%N= zfE#!C|NMKaG%W^_ke76)T~Ga}8_z$2>hxaMd*A)DtLmc?+W5gpC(zOG*NU=g4j4Z@O9#6 z2147^7T+-tI$Wx0qx4N|&)?8#A8;g}yFeBjE<4`kF=ADfB8Gp!>cMCy6kB#dsnD)Z z32i|vqW=8+K6EW#zl@_;D-1wC3j7+b$=uZ*&IrK1gSvo&+Ekm3KQ9|kR*cxc+r`D6g(vxw7m(csgO0OPzw#dd`13t zXn0DT>IFR-8Eu48z8?iSj%b%>xP+urUL0^8T3!leX{P_%6s{5$fjAgfOiPei3c9Q5 zD93Ycr%}UX)n&TVxi~GSlbB3W49O#+b`HZ_@a2?N3C@36>(^@dTn~0>X=T;GlMtsRYpg6obgpe z;ej5`SIJv}a&+JiVcP;5NN5TeuMcIJsI1^T-z&VqGLaZLw!Z7}0Gjz?Bz&Ao@}@~x zdxatQBz{i%0>BdoDI4m5_dB$&GX|EKE0FL3eQ* zG9Z6=j_PdXfLc;UbhtwZLZ+s+nqE>GjBiRh%)FvWEt#jTrU(y0FcJt=thf0{`wlHy!#>ZFttUe7RESvRYC z7|q^01G-^pQHaZnyx}oV<`u+SBarG2UO|7HJUE+RD36lqM^Sd> z7nd>$GTk(WdP({%Nn_wz@=>w79T$UaoxcK?F`5GBxY@i0Ho^I>Xml87IcZm!LAHND zo>Lzq@5qt7f`m~xp>w_&^_*D^l}(>s+yuuwDM$Z{c^2C~ar;^_X!<^fjhKT|OXsCE zcCTb5si$1=|CNv154uVf&6Nn_#yhdS+u=;=DWCCp{ zd5#O@L#Qu7o@QbJmX%{PG)j=QPd-NLM!9^9)^&K&F&b)Q0_h%fjMhne(lJ^$%KgV^ zoxnAy2-tD!k%&Hi^lYdTwB-uyE@{ICYI6uSej`9pCB`hz|PT~{U z3otF$chx(>ss;ByW-o_v`B8R-vEXzSdznD+N$kbyn1eoryZ}>N@Q+R-FBS1L5i`(N z$qN7pRL>?a-6)sIOV{B^n7;%Ho0}ye3Ccnxu|3Hz_*_)TH9l^4sdP|276!Lc2DSt5TYTRYI;!R7XVRz(nYi zlG76KJ%_eXf5ZhW{Ynh6wxyD7N3n@eNZdrhWhtj7V%gkpW*3*`r^RuoYMV)Q%-q&Z z(Q!=8nj{cwzix6YW*tP_s`Tcj>^L#ISQXzVZOf(rSA@1%hL~e>2DaoPWSe1euF{s( z;38=+l8aoM35pdZwp+t@QKfCB;$kk`#Dp!W?WPKMfA=1NhlRD-sKrUF&5xO#D78;> zgqZBIg4IQ<8CeLrS$ZP{Vv(kR%S!JNtq^lF2ivC*+G0grqUE|7V(NFpnR9JM!bK@j z6H9POrP+(sQ_lSs)Y!aJlhdHh4;8^gx!P_eJLPuzwG^kK z{bEo^f3?L6*3sPGMMWsp-chhGhte*?>1L*0H@hsc*$c;H$pkG}niB~&D>$*7QojH` zRSRP{1D|FK42W2uNG}G6W(`C_#Ft)74vx2*D9J>Nf#%K<`*XzyMK~Rl!X_;jU{?~g z&G3KGeg}j*!noh8K>?)fDDKPRc65NPSp&Km%ASPE^ z97DuqxwL4(J~)j2vH%eQY6|$YhNg=Irx5xj%o$jx$;b`DC2eoZ$`GR-{P<({>bFmm z?$LBQTXZikUN7w3v(xE+T=&y#{$?^i48WIg)cv)4+WmY;{hJq)lf@x%^bvbXs@}pi zf0FoEEUv3BtVi7=hvi>(zsz3Ey2tJZ${K+Jij33}lL%${<3s%0$qK3DGazqeg);ew zJHE{dj!f8`72%yF1qAu-Mo>^+EH{NcTTbTcv%OE`OO2bZz^MqnfYHe8kV8tcyA_;^ z&+*a<3DGOC`!*{O$_UmN7=gkph>pC6fAfGVGUAJC#W?`aYVis15<~IG_DxqP3WG`p z5HUdkaJ`4~5b}yt;*veQ0OTi+@&Ti=M^bDU5tWcJ1=tsGYy=SD8;rPlU*xr;)d{5R zaUUpE>VB8AtQj}ETfNB3x0{$z1Fo5G-fym)GVKfGToKAr!$>ponZf1Mt` zIeq)q&*tx7(!s7Fl8QI5D8&&Ik^XzOk zfBEV7Wa8Qdu6usGSWM0V8~ERNO=^!f3-32c}yCey`vqc3e+oZR{BVtz6? zUs4+T?AOVg)8n6JU)oVCYE8D>dVV~|wWbCpVQMW#&X;VgnQ(B}^D#5Of2U(BDGyQ^ zq-xU9ozsAVFWDFafCzMffzbu4YQSsJyQjgs)5ZIX*ZySovHN&-@%nU%eLhd-=aa`s z4ICIG|KV&e`H_&Y#dsWEK`CqUBA{Z#9zeB`A?K53@}E2bxVC}}V)hA)z;*@{8)f!J z*ID7K5O?y`hl`J&9=w@+f9`%gUcCSNr^Qo**8DBP8_w!ppUqx(pHVEuhwglS(*12V zJv*IFj^~#W^#1THKX^v62j7ZBParYKdZy=qf{eQWt?hAttyRBWfTbfebXqJX%i*2ZikXNt)XP9D;(4?NHj=1NO6#4kOqX+ z0bzAOSS?%O>Iy3~M&J7HC03{ej~?@0u)?-GZ#V%$0i;NE4^R;!cp4HDdFPP>En=-T z1Of4At2Z+>B%DG5e+EY|Yb|I*_rM|rEJ>_M2DPysEk$E@#TslBgLEglw9PT2LjZ3d zP8nh2W2O5(WhR_5mpz;^;N62`v_1vivZ;>G=<2Q5mQ=R%?_EPpvsVz&l@WqmO7{L1 zBhbym1vdH896)k#%^vC!`V=hXA_`Ni#YF`fK!QiBOkvXqf3`VJQuMv(q;rWxyKxWj zvSib$756}|7Bt^WqOsl@jnGcn7p?8EY+t5dlI^ zudQ0sxSS}-7_}G!;<1iWMTeTDes!2wLxwAuac7vQx(O3iwu6aU*I=RyFi{4WC<9E? zp*yNWcT|V&sK%XoorD&cF0(f&d(Cvu*(?0uS&n;YbkJYh^F6UC2wnqw382I&`4IT_ zd6UW>f5st_t4AmZ8wFN$Tg69YkpMs<*SpO_wrX$)h}E7*Ejt_n?+kL^)F?)qc!hn8 z6FH%yF&xZ|0&>Q&BJJTmc(`oq;kyQzF(Z4zzO+JYv?%#jE5?o9zDNFhnZcmGcF1y# z|JF2$|6WmBKBWN75Rj-bswmWGBFCr-p<1zif0YunUUhDxt#>Rz3E6wS1huE;Ta=*o z5PwyI+GG4yP})=cT?z`CcVF!%EURW0pd%sOcRVUe3Y>lu=#0O&5^WAR+#0BMy&p84 zeVWXV7qj_lGRT%}`AV|2-)sC&ns-IxcA9si8rAAUA%ynASpuWCh^8&D%fyKux6fyQn3fK%0h^_FKTYMk-?24a5l@YSzmq!2~+a8t;2x zkunNYy^i6Oe-FdgG%g2#Hq{%YN?d)^R{Xv6;K_dHw~;?ww#%QWYx%>x${&t{G~^Vg zLDJoacA)+~WOfPtO0v!Y?Wtg4^d~~vq+4ZLg&c@$Bic69Q&qSAf z!+!zNKICkd!6#T10W_D+E0(Lt0uK<CV85-a^0E`O@hh%S|9t~BBJWaY!j$8DQh%df9rfVrNIb4SiNi))VrSB zv$gqA1Ve7(vsQDCvSV*?S=Ss*&#UuhNCs&V!_e7bjhO9XV~t}Uy&QeA*!+|{n7{Jv zWzqJUE$j_guD1K)hdw5KUFAu>m1^K6azd=tActS|`Kin79FzGRpF6MfFpv7&^j#mw zbqD=w%)JOBF9X|M{fT9@sKYNu<=1wQ%vIK=ReK&hd;E?vV8j3*84U_ ztoO|081aT#W@yQT^p=HJxqQyw?J|sAo{LxOl4=CWe~e{PoScag;_pu~Ye+=YpEgZK zJ>Lew9D?xxT1!_v=fgir;-DVjR%?3R6W7dc>+S61Bbq4dJFTD}nk1vKk+ig#N#^%I?sy()U5vxx>aoBjR|PN$tEWyM_Yz66 zJ0)i=e-NaCI+xUd3_;q$l1{Sbl9IJx+ULWgw>a5iyDiJxHb=g861|-(7u9_W*w)t! z9HsGfU{vxomU7k?>CXm8vV$13r02W^kSH39pe1etq>zlq1uNIBNg&Za8Tr`&DGA1; ziO;qGl9ME}QA^wrkl1>`9NGX#B;||gQvs4Kf9ZZ!saeCK6R9`u^|)A#SE+e1CFP4d z!4g?EM0bKEVwU4NEM0W}obNkWT5-<;I1!QT$9sd5(sCJ`)PSA9iJUXu-3pwPw4K07 zY1s}=O5l>K5ap3#J2;Ky+}cM4w#G{Gn)jAC!`yZCG9i9693 z5*sA1=}WjF*mQIJa)RqJr<>!~vBR%LfA25i7bcd7-y6S_mdp612JD1i7|FPFEBsQ@ zcET^EWjlT;flICmP99Qf+#avRud$q+@N2AOcl;WwTf?v3nH~+jeUrEzW|g45+&R{= zzdx0GF7qrh7)HE1&t`iEW$Idz$`{7PV9NE~r5iyX=bO$0n)sN^?*DumAI5x054J$2|X;=-|iG~5m z;Eh;#Bx@%U9_iT5!6R`?E&?ZeK+qcrT@7wZ&`#i{&AkL}gDP7;k)A#PZc5*h6D=By zH~0pw1nuR-v6kKGSG(sj{U$ID-Ob@wA7!ujAD_r+BA3A@SQVF|A2Ab`kdsy{mt#s; znSTj=C_McB{L4XRg(vNl7S_eVc_X01q#ckf#x_7OK(=B0Zh>S1Yv}Lu-D7EComINS zFK)cdQpQEnjGf0w?KWxr?igszuF6_rtnM@q3TWQU$PyY^T=FTSt$Rs@ zAgt-pq&!Y@eP8C9G*j#k6LvL(djuKRW4C)tSb7Hp8WTbAm%%4k6_>&!3KIb_mmvW` zD3{Q8Rt1+&Q&^IJi$8S)QkDl%mbR98p)9nD*-zFQWt?lu5XXq~PZcXHWAnR^Zx?Q_h#i2_gb)pD8 zv9UW8A$A3;o{)ATFDCL@SEB@pyXG;nm#Ffo@L%MjDogzSP-H>&9z__E!y7i!k0{z| z_3M{vtd)dFR*_siN*JFSiX4}0n5xmjZ|{kF`a>U-M9D}Usx5@9@xrBH>#dw^(3oY| z+_@r0vy={h%0Z}4N;bjbSe$Jl8t!=?W1NL&_EagD-VIMVUZV|@%bq)*t4|2C_2U}I zzJcn4QJdL)t0}8uIbWI-e=3iVHGG&ID!EQ&0g7SHNtj&&grJDrAk@RfR_8VD2psdw z?3B$}e(6ffp|OEX|2!Wlf)pu%xGd`6D^uV&!Y+DuI;66$c#VMUk|9@C=;(bddyqWz>@*#?B3KpE{`ca~JBVxV60{I^^8py*`NqIWhdK3IT40 zdSt7jJ(di=7u2IA1%A~`TB{ttIno<{AcaDt_n(zzkM~xm5#Cy5TImSd96xly^2JK_ zVYkTxiNGS0(MB2L`rO_!Sg$DaS~5%q`V%l1tFg#>O4Y!2E7>1H%71@@?=h^4Ax%Z9LBN~zty6gWN z*x7!vI#-VcE|iif zXszuCmt7%NRUuJk#y_B(Qa+%h#b-YBQd_=Ex^E4zYKQZ@8VTGot|jgE(c2OYf{ zVk=!L1uNA8?v_p?-`P$5%S!c=c?axaT@253=&+)CDk~4$lJm-&OL?E~rWR}U+HwBh zuBXEmr)`H8Ts_avH!ZAllJ9}Bqw>zBC3wk%`ZaG9Kx!86%r8;kZQ}HQZo%hRx<(iT zc&~yFFo?Q7>g@qY8UuPpG4nFi5xUACtlk_l_pPYU@guI;w~@BwmeNiVFWvwa8jE%= z-QSwXF1pga71x-za4p~KmbR>|DjQdFeDlQ9+aU^iWxW}7wN++6g&Zst)|A?a!#2&+ z)z-{7K^`gi20AgEc8b=2J&s715b7y`IbjLZOQxh_TW?b&JrsV=P0!Ufw#)JD-sUyj zTbDNSNX@=&Krp`o*vh)nQ5)MjqNcvw@t5SEClVEQio5J|5k?f@XtMn{@}zmIbY4f3 zbetqLsa?)vVgCC>a!o9M$)NIAic4Ng^NsTN3R9A-3FU7aoaP=)P+~LxgX4Nqq#(Qu zf<&pi5^XtOS-MPt%hPf?)22;V-4Z}CgyGSQUA*%6p1#I#8CrH+bAdu` z1g~&}nF`!GA6KKN2!NVXAFM`{N&v&F=9B?0?owj{3k{7{izVGK#Mab<)*H$_C@wU? zYBi;`&{19}gm%ZfmwU2xvbm+)Gf+{grF6L5YXN?dNUrvrR32OHQF1rsbbIbYt9`1y z%?W=2VG{YG>KKTFd^s$KJC~@y{3~l?%_!U?@u^dNPAkG+>}D#){HDszM0g~ z1x`bS8hDSj%dd0GIZk=A&TVe#pst3&BI?tgRF^tMJCG&0ssQpn7Kw(b*hVWqa*{}X z+}Z_Werz&JjyA(t9Bl=}LP?KIpCXhUnFoLIWw}^tGl1X0fl|v~DIAog{7Gf zlBIw%MQ40RXQ>C>+rfdNtZ~l-at?ORG>R>w?NrfQ3R|V+%cx~Zzw*374-~@lOFnu&l*WHXj#=_`Njr5}yp0!>Ts05*R`Zg-8L z35BKEU{(&kX1I0DIF(jQ20AMk|E8~S9G=fQh<#9V(%OG~*0ZTYXxBS% zlefiLeVl8{N58CTsP1@K)9lz=JK@u;RN#>-@(^GJ%U`lL;LvA}d+z8Rel#`dJJK8f zEui7!(eEVkzY;X3gny{fSxUO@doMu{2U`uLg*OwyZ(%4;cl8#b{7C#?v=$93cXt*w zy&D>fhQPb@6>CE8YAb(g0t+KiKz2Ik#&69whVh`-$4Iw39}vm8gGU*@VVU<UR}2 z8RGnATCNt~rX?W8`HgFy-wDL()eq{W%3L%$$F&DnxUr*2Qa>)6V zw8A=QWj*44=wl9QDAaEuY@@&G{fHfTOC{Yj(3-?k?#%jLPvw80tv0~C#+MUUBR z)n1nCj<-AQRV_ZydhOBJ9gWx}znxmrR-a$9*5qc)6IY5x*mHVwdS3^Yrt;@JM7{(} z(!W`4r`p`C{0jt7j~Dot!6#T00Wp{HcLWmyGBq`qk^d7Wmkw-LpMM`XAOH6DmxIg< z58Npf#)i&1Er^GKyR(!!q!Ax39%ki25TFeoNz+L~eCbF*_4kJOGQ@+y@jm{hL;l_L z(kdD6)N|i2{-#MrLpsntb2hJWrGr3)oHKZx*8m#fo$joWLVA^ZpQM@Z zt&Py$vEGTRD48~iJAZJo?UW@pN0p@Txu5N|lO%`u94($kykxyy;-~mQrkS52H7L|( zsHZDr9Y>B_p&sd&^FUSi@(E=;$svWNk4J;u?<8^C`sLH2C!jRKDa&;dy>ZmRvi#B4 z;#Fsk&1s_fB`c!~0#s-$p|Zwav;4N#1x3-j)<-Q+hppD1^nXqgCf_yrDzhX-A~SF0 z<5RNarMA$Y+R`dW;TmnF{Iw?ktyVTc#3aKMexs4W3k!Cukte;S36+rNoRCZoR{zI^ zaqPFBfxQu-(bQOM&QZs7zoLsL*x z25-9mbg>ztK7XvWj;^QyLR8n`!@s_N`{nE3LC}DI#}TsAq(TV3``JGlQW1dee&k0_ zKL=+z5P_;M=}rnDe;tOE=day?W)T{d8aw@njVPR_@-dDCBdpg{!Up11Q=UGND~)BY zA9Z74Xq+HPGw=|fB9%NgKGOIyDn7vM5GFZ(p0XzeL;FA zXs?gn9gQ%=v=v^e=!=k5+N*WE|N1iz`%Z&CRo9-(6Cjm3qVz;LNLZ@0L@OaqGU+Tb z>${iUC4Y!tj%c38z)b;K0`(<@Qkl5~Y8_gPD6#Olt5{5;K8><|-l`rlk}-ONdU&3$ z)Iu?V&JSu?0OCag>qPX`q84`q8&aB~q$=%m#;7&UTtL9q5(4&|;3E)l8f!AfTtUBt zi%e+5l(7)WBxk{1u^35LI4^X0fZ3hn}Zs<_)xK611~~u(b?<#lmdfTa~Wcc#+eK;hI^kO{+Yg|pm{LX zAb&KJbYmR}lt+@I%>MGF&I7sXKUHNv<$;B;Eg(TzAuE(&t57xBrTsiY%u9Mh3!k8& zcE_T&7(CH6lZoAkh-yeYENg91EscS3VMN$5X}x&0A9FXrm^ZYm`V?4$dOLl}2hSh7i;vFK`sDHC~`NW>cV}5G@o3?>$kt`Q~NEn7HxuTLz zt-t@H`*!%usb-__>u7mttua%}TXH^6p=pGgEGDkgBiZ?s@9Uij-j5#mdcj8Ae|=+=62QU=z*x^kU{O z;XHSNz$kdvAmY0`^ZUOCP(R{K{gD{Eay>u16X$qMlMtwPk&1U#R=XA z6o#ao@m{||7_o4+?Yh2KmF-;Id)uz-MJ*J)P6!U`q=G>&SLbu^kbu~fFfE&AQ5&sX z(P`GX(c2XzP@({IjNrl^q$13SLGjrqaBmLlUC)({`#-ReD;-2YJEN1SWqQOjR9q8x zddgQ1((9JmLdBP8t*pa%`hTSdzg^Wp2F9(o3^?2PlyTWhSZp| z9phEc=SHIiG#0ue2Pz*3o%#I^Rr;(<>_f%aj_$5(+~WRGu#GQ;PEa~%Y@)M^l`ZOx={CCJ2yaH|JZWwuncrGKG=G911@C=Bh9Dmm$~Ar}-Tb_o)@A%m~p;z zpOOi5%<-pVq4D?-!WdlaE5#kC^D=6_%j+QipTgqThKR7HqMvQmVmz3(YPjM7RGn)be@2r*mi zP=uHUSBemmd-o!=$uox{#NzvbMTqgWtq9F1>y9EstVm`4hl`MTOc9cblKq|we@=1R zvB7l(!VB+_&wsQ~pvwLv>wVAmsFDImct&xl5ae@DKK}y>lvTopu$3=Mu*|et+;YBp zn%m^QD?TAWdgW-dc5+~?d)Mq{>g1>)jDeWunru%@Ue#}29~o2TU7NF1U@1+4C%^K; z!K!>MTwd{N&7Qdd;!B!N?U)-F#d|l~uHb1l`{UsBHm-8fW(xdcz_cT<@qdJ*x4azt z@$K+m#{Dn_m%%4k6qhfNK^6ftmy!A@Czn=sSfGD}F;8 z5oCV}`SGj#XeX={Ldu$Vc;TNX3yugYnw&Pr6aj${q?#e8WBo8UI`r79fY#EjC0`3cM6Ii2HMLT5+&|z$KIS}H1KoKDd?D$YHcguaVWW3u zbu&CeXzY_iCNttwiyg&7qj;ruu=szhl>=1@kjxV^J%nw1mzhbGp+rboqNMM_P$>Ld zuVo+v;U%nc(P%i0qUB_fv4M>sGsT#+Ar3Xv6z|4X2v{o zQ0w>LpixJBOL^&8)~7QMjb1k6EXTlitjUtOlif}fh7Mi0V%u4FCU9D47Z!hKRZ~PZ zf79t4iq17Bq^Fw}VKH(z?Z;gbMXEeyTD`Cz?}Ue0B7|N;t_Jv9o`IW)U|IsYX?K^T zt`R!~O-X1Xx*Rtbqt}8Mb7r)N(%p-*8t5)~W>5l8eB70NMql$8(AA#lm*LV+meToL z=F0L^osG}@gK1Tt%Cz8ax;1}Fqi)SYx7%#^mJW>#LPo#PAxF2I`dME=nIn{BbQ&~s zE)gcl&k-)2g=uv|w)9^ANz>=5w=J=#JG&B#@(H*u*12^b)R@U_%_>=UD3k6=Hln9I z(K~b&d*m3zo$5TM@F;b+iPu9{N`+Q4b7+_6n>`2jGN-i(y#+*!meADnJQwK+Q9Wg7Ak7IG*vQ}CE**G*RrBkl z(>H1Y;|mIA_M8Z^@OrKEcP-&0|16CXDThKo#5sb~Hs3Sav8YM@0P8SLSm#&trwV%o z0pwaE=@s`kV=sRQW!|~VwGC7@Z|787;UxDa(H*yPs$E~@wJtJod}?*(4UX4x=&gQA zQ{eBS!q%=ObWm}Rb#&&Xx;(Q;@*sB0J* zftw!~1`6pmikKVlq%yOEwFxRrK51H%zVwd~@T--(wwM7L%u0DY9n^W~mok#v z)#8^uhpTo!qDb?eo9WTKqHSwB*dhwG~xYDKwmRXSCD9sQvh(Eocw7SG6| zSF07Cwb?84>}u25PS~#RaPpu)D6AXClfO}O8Pk8>G1g7*jO#GQtgS7UV5JceTd?sA z3E$AR>YDYTOY5HsW3%pI+6(6@%F+;qf$33k8Sy2C63?g zq;+sq?+%K2XBRivTSv3lwZT=xF&tVGSknq|(h}5={AZ1TtQ1|R)MM?ZUIlz9K-&!e zN#K7=OU!=up1{{Y@s7aPK=}snHO#&P@HJ4p0ep@7zaQ|mjV}hi*7(}g*IceMsak!5 zehvML-`kCH7Q09LXz{J!nl>a|~`D*=Plcd$30l-w2 zV$**YfQhx$SXns`AyQrS%Y@TDPH8SKH!;}hw~2-o6}HYfPq)#4B0VZ#_rt%we)-Gi zpOwG`|E3jKmZ88ZhUt6$X)*LF1=F|kGmt(oeJK&q`e4HDPdO|Xco_hOKzYCa{ygmf za~B4GfzSrO(O?u109)j`GSz_|r&Z$JP}!cy)j{6tTR+GQwGEOql?VDoRLWZViR*b4 z{iIL-o2TNce@weC)9zE%Bv#^vtj2li))c7(C@N|@W%7^-0*g#nl@UD}#)Z*d&^o9w zZ#gh18eKTTqI#;kRbhFg6PSmP7E|CMevadR7ZfnanpILR`Q-ACA>Qz6?i^3^A6ZAqacCo=m=aKkoM&i)b z*yqX@1D91}S0OHI$Ez=SGsqLQoH5~)<%5*#a$b{ zEd``?UJTBZyEamP0~a1iOh*;#!Zfh9@oo!jxqDA6R2to{CDe=$;s(#wu82Vx%pHGc zkgg*e+*H|h1PNBwKCGrtYtAmLfkDQpYIsa#G(tjcG!CXg`hgF-0(zE*H^( zVMhiF+FB10OQ9v|vuYIJ{T`5(L(8oj0cSM6V&KrElr9*&iaCIiFu18%zneX{yI}J; z?;;4MSxT-0f;*E^Qp;VEuScjhit<&Nu6QsSgp52G zpUS9%D@Ef9B9B}W=OJH5uruv_|NZdtzh|@I@#*P&5r!Y;=Wk}`uM)r|9S(mPeja|r z1vEMwUd)acuOK2;L@G1IG5m8hpa+mA!s&;5!@=c$>xB>a?A_^qhR4(J$BTFK)8SzF z`-`9b@4L5)#o5K5hT+$Di?^4r;pSdr_Xz$$APew?4o&kxSv zoKXCMFg!n6z+I;ykC%V`u=wdQpI zKYBDgKc62T%oeYP=TDvvFJ~VXhbz(Y{OH#ibif3iE-rc^?ph#5F6Ni#$FuQXmpuG3 zd-Lw-hxvydR06zG%ZC`@9M5*P(c&I}{kfV(74}|@m4mB477k0wmK1l^!@EYYR0axv z=@i8x1Qcq!5XH=h;##&_rSN6cdTk#dJm$I+_9?->mbOIMDzVbFeW<=-qFu005>QA; zwnSNzSXS)IDaS^(3-(pFPxKR%m}vnKxm@%~)h3R+Q(_tELTD z$p8bWQg<0(tKJ0ITJHw1l2-t>(h^L6Yo4ewQM?tvR!vcRL3#y1sxeF6fdE!U0ITqJ z3lx1@dFZv-(mp ze%@}mFiOF~C;+vR(Q9NF%u&ob9>VY&3qwVOiBoH}s^nZt*=k`>tI^VR<qzk{&u~ zc{Nq-KHQrTKfoQsmr*F(ur##ihum&@moiB+{3;436PhEn$-ON`kP1LkkWYb=eO^u52 z_H769H@Zr+9Vn5rps14Q>6l7vmA-myg-Ro~{`&n2;}KJ(KFGpGP$E?Z#%u{1F+UZL6*ZRLInxoevRf*Tf3n|L&K7ZGNW_`0AQBtJt(0H;b?}? zq-0=X;Tj8S){KRJ)L7S)?`+%}6LCgUr6~*DhZcxv*8+*r!MIdLFzzA_SwBS}! zBH@a%Kj)Inw%faK)T-W^EenrYV#@Zw(awqX@nQEE@0c|>nwIg7@Qc>+t>V4sXtOW% zXm<0pxU6Zq*03>hho8FH>15w-Bzr&nbEjlaw36&?O7=E?C3{;Yd-uwcs@tdTf|TvG zDQjdbwgM=SY(c8Vv?jfL9sFr1h5b}op{N-PUyPjCvH(m`L=Po zhQNvm!T7s>(4#a%)~8QiulRAk4SJN1*{*t&T%wfrf3yEW`Q}+2ti-#a&3IgCL>oVg zc!eiaCThYMsuLv>HDM98iCQ)ue)e#?m(RXuxKhox5_K0sko@e6-bWtpk&2SOq=?ch zkOKbtHA?%Ncqc$vKS`rJzIwK)mS^c~c z#7KTN04G$cCjCxm~xYqy52v5Fy18QZXf z#+}p+uY0aTc_=7K*$56v?KUX9-u)P*T^3%NNL8vIOInSJhbov;3=Q+bxgq zz%!kpbo94+l4L)TwNea}&$3n@L}|eHJ$w%~V9!-5$s!_m1ZkLTc5!(|;T=y@bNtTl z<>`AjS4Jra$Xe!mJ|ql^ez;^mOlarCe~B}Nmy=qa{*4wj9sL$;%)y+-3uBlQFmmAl z8>`kmZ)*~F^m?*$DT;m5pCzCCZ~w;Tz+XQchO|i0}DXG_D(|sv|{|e?<|m zB-&tp*RqCJ_Z1btz>fQt5yUI0Cqb$6Ba~Zp3&jMI`*E}@VbJVhtLsWemARv`VG|w2 z{dvOSMmPixbkvhdEbs%N&#D$ECX6UDB}XJIv@QUuvk4A1%Jr7ral$;U7#%#pQB^|% zh8RXy-FJ4PiI*5?2X{Q|<&qQ2e|xPOg>Z`5pvyhoA;`!5#ilVxu9;PGgivH+8%wja+i;+e^!Y^^@&yB`k@Ce}n}jv}Dql z5yr?%IdQxxnT%w9Y+{Pumq}1hGD-*>gbAIB(z}2QC334cXkbcDakwppFO4=Qt(pm6 zIn|i+lO-XT^^B^4ZRbW=e!QubS2-xhJS3vHTmpc1b{0MuRpb zPCACn67*wn0P`!PV0OAfe^QbPeCo?p<&UYJCeouQUMBpzgtbl1y4XrGXkwgd(!P6% zr-!9v7UwB5QY@N?5~+MI9B=uym39>gNGx%5DRE+HwjqIjg|rv^bv}~yc9Hewf5du? z4#cUERB^9aZ@6R|#^E{k<6X$YeY4H|Zoy9V_cck1v&46y{=htpfAm6=YC&TFZ3^ML zRPIrUC~sPa4R%u`!-_3~ctRL|0)ueODK{ZiHgUnFOhPo-a4t|E6@kTFT*-N991^($TqAp52C z|F5CQW1)QzHcIy4=|TRSVaHoLme%CR?9=hujycXkavf4n_-NXJ9k!?I$LpBPRG z8r0f$W713g(ZCq2zRU#=8;WE^*Ay^tox?_FQG9sw5v0>E^Z)+07=g$~q zh|t=%Ern_dcE2esw^uy#N{#zWT2sD( z@ayCA?Ozk*yl2we)8GGi3*$;cOa_HQPFr-9|2X~r_O}sgjx&ton)IQ0a;x3QH#$ys z7MaM62{myWhS2kBR6D7egL0g#zEWTDUW1(&y<^mmei(PJPvytFR#&LsQ8#-7TJ=85}^s~1+d&fv%pnQ)F z9L9Bv4qm&Xx!yzF;(9;(@s`~&QW!XKXiV7gD%q-(u%zMMA1$RG>XwxH*@t)RjuGO( zsF%aZtAbOG!O`)(2f8J;Zu0A`xh$qAwO1t7bLP;f^QzFWE(ZrkORa~xCANO{alN@i zf30m`)XRbELBZA1oR@;I8(Aw^varL8ibAZs3ba|KX94$+Ug7Hisqhu#+#%Ue-BCT52az9fatPyYB04Hl}dy}zw7hWz6(Aj zBsll6BN5&Mv*H9^GO6_O!n)*+^D3=7!cryl0_WYdHiFyJuMry#O6-0MHe*8l+1R7a zKJvYJS(Q5e*{=>BNx?~D^=3of+O{IGpfJ!0?XN%nkXpb>%`Xv{{n~!XUw)YJf3~ar z(XHkvSYS%n1Dm4*#HHrmBLUkO21bmK1z!l*$@>qp_bQbBApD+hz6pUl7Mn`!<)ogha;m47!g?av5z^}%_EwOj95bEAt#uT zDgJdoKI?%%d8Xk}HQ)A|7dSuWe>%7DH~cYQS?SvADw`Ffr`$G&MZcEKLpr7lqrH_y zHFoHvG|f@8DJN>A>49_MABpiFjwUHt_)|l?-%060))WY9oW8$q{HRUZi|44@ zQl?sclq@I_FXrB|f4YxxDSvwztCUUce4T&c1iHL&)AA1pJ)Ykdc)Y-`BANp7bxgU& z_?WYNZ?1bWeI%7y!FcwhcesCizWoQU-6ay2!6#T0mr#u$6azCeFqgruJ13XblvtmC zqwmw7KmYNGCxqXBei{)ph@f+F`tt4R*9kj*m_qL-&Xjk0`u9Z5I0!o%WAR&o5Pte6 zcKPWaKY#thm%j*x1O7!L_ykO9;obBtJ{p?CST+3;pDkw+QL~d^9&tv_NhXBD4tZc{ z_%c0#v`i@Nn$};a)iZD)Wiwa_rktgJj(LLGRB#}Or8Up@OWT;Ss#64-3L5l8P|{d> z#PN9)J<_Lr&RucT-=?Rp)6>VoPp|MFejCfp5<3M0VNr7$mX;>Zyfxlrc6iIRUTbX# zEsc^HX8;)|9kZw~YAT=$vALxoI5#1z3?Vn=@3DP_0Ryd(B~dRm(_Ty(5z~%;v{EFt zM%LEfU%sVrKjWwm&3A73>wEF4=49ojNCTRp*n^_zh@M8cj+I z{C!E^=U`fS-X#<3VIl$_rv|@B=yRp?<8JPt&1w|mZSG{O7Pvw`lr3y=Vv{Xk(eQ2I z3%VhVd{D#(bTj&#+R!zDjcss$4g6Vkkk&KlM!*_DNt)lptld<17fE=nVZPcOIbGN{&gC zio^k%kb*jt+V~ZRNGG#KR)&xOBGUuovDx$5D=Yzs8~J(8$TK;m6*--Mh1O3WR{03p zqr312@iFV>8b7rZOc*iF#;=FbQ?y%YTp_`j= zBX}2@^j%W+me;`>Ah(2nqZkM_MG~!yA}obb)l1S)9$ik>T6zYTjc?Px6g^5lwegZ6 zSi8_mnN$=D$yUw-i7>HxcxIj)XvaU``aBmRW+_ zH(U&K5KXUnjUz4ukM2&w5O?VfM8g^sw>U`TsiG)VX^hDz()3(LFR}RMQwsSd z$SQR*Djg-<&OQu=P1K)&Gp zR7dzqg^Q6#of$cQ;(O)Jvwz2>0)%0J&T+t`4>OKi@-b&na;6EgF~)VLStW3bCZ{k6 zhH;kYz=V30m4l73Txwj{XoxEG&rA=UsM9sp%)HN>d)FFUacbmB-X(rwazzZpuMfi$ zx|d&P6Dl+#9vlO;$2?P_FUM~*#J^5opFWO26QeMM4{GzC!zEJur6?kKS0>!KLP2krS&jcQGsCq zIQZ<^*)oHAI?V2x*yCFDAw0Xr`tQKXYvw_1V?`-Djue#S@&vGJX#gT~nDBN0C{?nY zdAc<7mr^r-D@RH4*IvOhe>BI=qPpv5b$pGY3NCV0@yp^dgRC&}H>%E$pGy~uN42cl z+O@PSwvKsxIYLAuHe9ZTpY&EFcMopSxy*2uE@XWN;yggCINO*H2UnOPt_I&lYUG{N zV20p8x70jheil$?#RzrH{xbc2@BNDaasAEQmtZh|H!?F0n9SqlMffc|<_04x2U|cn8m{kQsHah1(~j_8Nx>Fzo=d*`~?sg<<+e9GH_PYhEDzy zGwrse#X3dkpfEtR&_>j2A)9O}!8u%mRCGKvmqX*&Ri5igT|lP9dpTN+ zhR_6z`hC<~%HY#-d?*du1gOm-Q>5QDkxHI_8hXQT387$RjDjUb9+nys#po zw`jdlW~Y9Y&?u+}Xypz~&iprNUGUsN-hL3MDYPzanuG$;`+F%k<>hcj#GBWY2y)3m z->aGSDgtRcC{m zo#&gT{JOoV0iJQCMu_(p6*f0EqyQ%TI0+=f$^}2LIsS^3acYs9#ow++-ZgNW1S^t> zhZ(^K?-JAA7MO9CtzF_s{q}xL-0|suGw#!~j%Cqk>6we?Xs(GrJaN#pT%%nEn|2wB zW5@;h?6R+A-+iWp7>X$nTV>q0mQ}+k%w&!)?dxS-L&?WNb=$I)>17)GS^6AxpW-=%8IB(z z<&f-+%9ji4BNvvHPjXT$j9*jzcHXJ6`nSxfr7Ic37&$Hx=q-7yryyfQx|XOcqTx&{ZHLm40*a1dpH zc;h6>(EC;v^Om$EuE_2a!20$n6yNa<2UXee9?1SYY&vAbe_%CZ7qEAidjGF zt!{dOTc`M%HSCUXg!aSajD36+phwpQbOat8j5H8;% z(+0yFtyQ^er5zm@7xi9OY3S~emDcVaSsh$%f|UuHri{b?&pk3_&|z2*{pGOb*8kCa zWS~*mkGV%CECw7(?z~8rdmnm}tU+Pv#Cj$6j;mxmRQVsdN){GnX>T2X&opSsw3BUZ zBA@pTrGCy+SvqfjSYhTN;{_6oihQ{*m0H0y%UeDl9D4yl6HTP0&jtQ))`B87kX^By zi*m-e#i}cohgL}YU+Ky8adVFD(p%rsLl9ex;*MH}V>!{>?9TaeVl?**yP{=|N_TU{ zv;Mv6ggUmIx_%q@44mshTtsz*=vo{x~G+4y~JUCzThcNsJ1 zx`2fkElGjY`|a&T;c&PZh96H?+2FosQxXKT7^L*L0nemmUzMJ678%K|;cI?>P1ms? z`kZpdAiOPqb`QxW3QV$#*>;C%?mYD4T^Sqb7V5Pe_^6&TYkkwZEsLCMMp`M-i?@3g zaVRw0$iJ614KW*#wv>U2KnGVp9!-d@;`A)R4-PM|KsL^2xK)PnL^`C{Izg%Vu>ZN{ z1f_wO;g;4VkKZaiq#2sTzKH`8R{G{qpE6UsrJNJd+hytL@I*Y?uX z8`4fw4$@Aot&s9f(MxPkTgu~jx2OjO<7^3IxvNO8OhXPmNI>;VLdU1DJm{iNN$f~ z&pS9{&IE{o;po6Ok1setDY;?LjiV$A^Ku8HWVd}Vos8j_01SirThObw*61p}A4!Al zJGMakIetV_H%G17}5qOl&IxR?sD&0X!>kROw^N+bI3Vb)H~FAdsv!!fC}kleDltLZNWW5vZ$#HgiwkQCiYi9;X~p z3&$DzLm6jV*|Uu48;S-xb4*+h=W$0PJcNq7xr}>10xJTp$RDkrq&O7G;`hgjc+xZ5 z!?pG}u*E7$htA7<_M;h*>U*=_*@9ryJ9JiD+EvXMrZJ{qmhj97h+rcK@#}eb`sro& z^CEDR4?;;ZeffW}i!ZbSp*&6qT0n5qFaMan?mmrV3(QhT8k7GRIsNi&8d^S=%;Fto z7HO?9U1kAE=|)c`pzs>mI{IVr!DB&~tcAUOi6X30)RJuKOKjBkN%7U31>ydj8%Ctrl3F^7}x!+WUV6e?NOUqg$VouU;(|VxXAx z8|6Z!1*#>AWA@{m@tE;CADz_jl(<#xjT6?W$#@Xnt9zjDs0Hju@f7-O{ek}*pbr=$ za+_EPP9T^ySo+|g=bwrwHgGhf$)a>EpPx?#H)=|~dI184!U4;a;!2U=HU&636b5mm zN`6C5K%aj@O4F;(Kqd^RtJZ4fA6;&Xo81Eywm~n=t*B_47^5HbRL`NpiPBK`(kxI$ zNDd7GZ2prp>{{B;;3TdC0brNGmK~qE-4N#cG~<~Lj8_S%ydXy}LI$Vy4^|@2!me=% zpQ=B48#$-CRL*s-iV=%h=vw<8a-a15vDU&jON@VHZy#199>TVfR%ghQq*$cVvy^CW zmx?MeP?v>DX%5%R+gac>Us=ye=OQKg`|XNJBf#+@Czwz)Yjjjxc$LhcZR52ew<+5c zw{~HmkliC0#TKKO@_j5gv~FgLI|2W`Sx+5kA_lxw&!~y*uKP0# zIGBGOifYwSj`M0P!lXm_aLVYIXW}dT-@#+FSCsSBStOwdDtWn;6-x+{Br43xa>3h` z_O|sNP`ArWvnU3=l-WLQl^Jb=azQ@HuV*7Q%jgrb-=c%1g^J>ttC8Gnn90xQ9(2gX8okhw^H}-(%BzB+9j#7u2(Q!bH(d)9{G=5|!wP=?KNUchR0Si9 z$K~w#KJ)(SZsMf_2xYpAhq|m)(Rk8C3QZrc7=cCW9NkL}V1!d@ zw1>6yxziL>0!)~cBK?pH=_hH{wmz1oD?9xC=$sVss#W?)_w$5z@FR!l+!+ya3|XTdx2yTY z(Kgwpo$_rL4U3c0IH7SBpY(sqz4AM^kgGqpTSWc&Gh9Ado#S>H$>%tnKB+9Hu-8Q~ zIw}OPed>)OzrpKPW5nn1O7El};^vVircgK;&Ct)uEupFUR2fohd}O`v~zw-%`0UK6OP zcMT)I(Ac}{Cc>gibktNNRr*&`Wc|iTJ&*4av}3#bLRB@|&pocfce#(iHZ?|QStDwB z&7;TXUB(Fp+ERpYi!F?Xr^(Fmzl8Eq*0 z8R)tJ#{q=w5c@hc-cWz`8`4F=DC9gCnNqa0ILne+*HOTr2=4`lH!9624GFaB zgg)owRL%*jaUtj1Pd?gGtSm(4^~|+5ZonF$v>k8U=pa0(ce!wbQaAfN_qcE~P`u@; zg;7G$a%-S?s+=jO`y>DRU$uZ>M9^xZT%>!tJ~bkJF=br3=+b}Y{ko49Rjfz%mp$Z? zdw@q_JlxSe28wrZkAdO^_Za!VoqKGPi``@By|#1Gn|#II*B_mM17Q*Gn?PeeOgRzm zaG^_eKPh)&!ggF{It*9l}7z@+I^jNp9-eNqDz&T%!Ge~rGIOfLfqq|vZuk7o6ri> zXf1;h9Qn+N)>hxStFYece3;`T#HeL%RcCH#^yVg_#T2-yiZ-;Lz+uppTIPf$OrTOn z39TVIC=_%v!t?JhKgzgoH0rte&U7B)I$s-0KZsU57$aJ#GBAF<63*SZcYBQPtX z^vr23yas? zsq9$bIZVcDo;&-g$5;uMOsrTbe+y`3jfV5)JZQ_|{UC=| zo7?-%vpuQ73a7#1aQ|)qej)ikNCp}`SO8%NhWn4hPtT=9!`CfeN=hQWEPr-<*V`Kc z#~8pE;Q4~>ja9%9VhAw~YQ9UpkU!fD+voL$*E^|Hpun_&ae?7rw?E(ixRF_4DZB|E z!>xaMdB6Fzf9b_HBn3(w-hSMK7m7fT!$EoBfQHY%4(~Rvd#WQZ$xG5dEr-wVhYs>4 z8_-!cpfpD7#(*H%s%kLC3kt820o9$9niW&5xZ3f>$|5vMGDVoBs3f~W_Y_By?h+ND zf_&v)6uW`2*ds+vg1qY~LMzXNZH3Wvz@N3zHfxi$e;S{|JM(b4ycS;3Lb+IX0p9l5 zS{MHL9%N!%9WI(=WVCd@%Xk5Bo8SRg1w6M6ksQ>M#mwiU<7{XsD-_u^L!+g*MrgDY z&xJBROx*{Hzx7m3ul*ro&Jw>L%xYAC}ej4Ak3+Rac- zxP7|S8inx`((R{#5nl}vn+b3%>EW*-f(4*fp2-;iYXVu~zhKkNvp?Ry`{C^`Ab8oI z0hM#MKn)y;AJd~&g4ilJe8|s67|WI(KzP{@W4P+)g37CY8#eET z&FgGcZO{f3Clg_B_;1dtAQV`x>6K**h@9Y@!<@2JyyciV00cz-H%!g3tZ ze=u?zbuN%f?*d|4g+c+9dk;TihfY_9Oi4;;&+D{6@F7GYTQ^yF`uz4|UiY3?y{hhs z&J7?5rOj}oy%io}cM&@Q?Pgo4j9#!yIwk^4pP0@^kf6A|z87dw}xhp#Pam9Mcw^OB_=YNQvY3p+(CD{-&z% z3#La+N>~F;KWIj;@My;6AXLOyf3~RfRR_>Fua0K{4Eu4G(aFX$CkLB)qB0X4&Ij8P zYi%3Vb>&BL1$X7%+FrQHzaf%B+ctSS7K5BMq9Ag_Qz^ElxSGopO$43H6f6@+I4~Tf ztguRUVDF*nIlx`^{R1a?3h7>{ev${vy(LqBicy|(od9K4oYy*vE6i&hf5kKNTF?LS z=Cx&Vm3ghV^x18?bc~PLI&7{L$9Uee0@1A)79GVE!lI*iCMZvH&g{{Pouv#1JkCu6iV0qPbvZCtpyUuaXj#P*%-I*|}?yFn%rI@{oa9Dm6)o z=6b1sc<9jQrHbK+N807drZWLTGnDj8#_{ot?eJ$Na4Ui++BrDOEI zPFpZaW~xy22}WhmglXukJmgb+M6a0a6`k+@k4F4yH7!FuYr~afRAqy(Y zAeu`FCZ)(v%9dmv@%GiEG)B)sak)Tdx2b^6f#+{8^-ClM|Y+xVSobg@Y%PxU-GJ{_FCG-nzob(@(w z*O=@PxEUpLpwYt7e%aT5*Npc>PJ|=#R=x*L_a|p`2ZHNwZ-DhibQKOL%rO;CiKaA< z-v^>S(mA7ME~sqJ?b4G3%WVxeyxll`RcG*;?UuI(%Um^*0GDZVAF{x2-1N7P+?>-jA7C9c$ z`~g)qU9^SVt$K=rHhjrQYwn4b;u?FRrFd>nbo?K2Pb`va+!HPK6P==<39iy#!;c|W z2zI3fs5O82f74N1@k9l~HwDgp*(WN9BoO^WPgJgKSgw*7xT&#U*x?FFZiWE9!ow9N zB}n5}f4BnHbE%^L4_B_Yq;W!#`d1yUgw{h@^Ut5IT%&_Bf+xUhPg!Q`)Qf5NmKD)2 zW@)E>I_lCKa5VER*>|<|ZEN+hS}qCyC`|j)7oL83f3617JVc)?=S#x&P|&njcdd07 z3VOuG0>bw23;H9v_GO1^*OwN;;K)Yf%nhh<%)!#w3>UA`niojYhD>gW=$UM>?Jn$)9? z9;0N;f7$i>iTX)v$I%P(`1GL7eR(oyk=7y(0Robu z#+)pIFiI5{OiqJQ;e+E!p|FrfW;TovGvWlRf1DKUm7>!cDU8*HlO(6GQr&0gsmhP) z4t%%Gk*l-7B-d>v+|+;yG~E=r2Cg}5dX6`D30|PVLainY)~7I0u=0`Q9Y%iXk_73? zYMdzotfv%Xgbxe$zNxQxbN!v-?&V^6Ex?7nVtFSFrRZsPiozk+&|U4xD>QKKUFM;r zf33JZS+soHTNieth(zy}-l|PDylPUl z4fmzWINp4!E|ec}BR|%B>RBna^FU0QznINa_9M1*d5yZ5ZW?XLW+}Y)B(z@$e=`oE z2WNcH>SbSja~Nme%s#hX_QqVXu3-(De|&D1G4V4+U$v$`_H})5H$PO?T=}N@Tr|9N z#a6TCh*cEd7*42_AcM1XXNhZRaH)S<cq{5Lro}WC@z+z-d!l~TB^?S4 zcBV=@_@FV|XF7~fGMy{Z1uv9b(Aj78O_N`fTsaC*3p2;c$uv&Yo@qzLL)%F7f6;>H zDtgIJW<;1rp+l4G<5<#CPGXP%ZiKpMTryLGP8B}MNdX0nqVHj+l?>dHYr47(Q@`2f zdSxrcH49zLd28WJijn}-3Z1B64HDfTXNt>EXK<1#Gm|XKFnR)gR#!82SphuKAgN{O zs`*l^)(UZJ+T)7RLEu+{=^3UYf7iY0D0!bxz2t4z#x)9==hQrGg^tlwh5%<hu)3uz;MUK?_HR3F zSr9-7ZlV;^mI`uATReh2D8e{eQAV-3D|6SANL{m}y^=uq2^WvW$}Nu|f7cOVvAK85 zr8;PWXl9{Ka&-gdh3Sho&gqMP^%b*ABbL($F|FNcRo2Z)yPDDr;S{Y~)A2O-@?(mq zlG{lt3TJiS^8A#Z=4x>uiS+WZtp*8Ls-RjgFat^wP_#ZvaaJ^$WXYO=nRPD}`D2KKRwQ2=iH`ZFf6C4vmw&P2CxzIC$ z(wnn4wkb7lGlr>|^J-z5_lsd;$^Z4NS9Z3|`r|04TQ@CyMN+0#UwFCGvZl7k3uiW7 zNM9S;k}mRbRI~4q!yy-_J#h2ckj988^{&Gq*>}Lh$iBlNqfnUIe-oRJEiO~z6qOD8 zPDl7GVMfmNq_wTR@Ai>| z9!7d)a_-kYzBw~X^JF>ppO&pHN6zkb*E6>DiaeQam2^Y#q zc)-9r>-Lx|jv2?ahKb#hF}Us!dqMAQzi|(Wtr2IYMgsYMVLkMxAeMay%J<{@R91K$ zj_xz=1bx?3e@=(PaTlor(e(vOR)d<%4!pJMD3^A^7}b;-y3pl@fq5pr!vAY{4508H zHZ=(>sAP>Yyh$1+NpxtNEr>YHyL7J=s`r3CE;BVRp}wu{WVYwMGOJzZuC_6t5l%ydvZ1Ai(->8^S6T-${m-LfC^ZUJgkdI~Du}(5#YHsG$Ca zXf|e1f35Z39?gO`LOb(+G<#f=P74G0mqN2(l`v@kd^CGx5Apw#!5u}ltF`H|`$w1W z>|*xY)L=uq(jlFAfTLbJC^%%)M%N|I<()>n~X0QOjjmZkG69bv7$ z3pk(dpPujj3xt=Am+`Au7MHiQSQM9D&ORuY;JsLuf3P0X!!IvC9e6_c-9_1J*lHsg z;gqrU7%GA!&-4#;nQ|{51LQUOwbBf@8X*!+is+Fxt+p_`8WrKuFIE$DuA`uUfrbeb zB0`~Ox0#2T1QCcm1ys|Bbbh6u{{Y(0AYmvXNRkkwtk~n{z_v?X=l`C&r>B?0Ux%LC!WqVm9zK0L_!m+D6BY-Qepn2D|2BL+eCWX@-QbMV zn)svm@b{OY8~KFd|&bC9QlOMDP>TCDMZQ1bW{&< z%CE#L>G8}z0sUr#&>tad(g=+`WaJHA<7_ete{G&X ze_J#zb9a0WW_B}Ph>kg9H{yjtG88z+mtLRMQ^G~NtWc;TF3rft=SBTO<(N@!A~TnE zz+!{JeVR==hSssE(vpMXoQ#wcD;*?A_=J0YBM-4RC$46x5&{{w6RjGpX$O6!EY29Sr@poj_t4iC;+np8 z6m?Ea>YPbNT@HDxO7p6Oe5%{QkrnmEq8vLYyNO6|BNZ)B9uE^%zfY#ABHAL6f7vMZ z>m9L@idnF=V8`_Qly(#G8SBa>VI-5f%j7`3^Ttsafw|Y@G3UqC(={{#$gP-c3nNhl z>PXTE|6X=n6JSoBzE|8r!S<{!8hCs7fEwPK2dL-1eZ1O$=@_jVE@4u+qy<5nIb6EP4(msN`%)9z>Sm$P+l44G}OrV#0 zru7{}HPaJZ)Th_SaMB3|Tu);7DecVD|NGcVOR|1Ni3RVw5OoW#ig0v;e^i!gXj7{2 zK5f2Zhr|t`8Deq3I!Se6A)|LRQ5ttqm-Yt91i;opWtPXh=!?HE=|gn>O$KqlI5@dW zg;&H8nPgFp=`lqk5Ou=rvlq=fT;|%QYYlLr4FhWz8sNU`Wi5KwLzfkq#>wc%=e1_} z+(uX1gE5tBn%B0lt8R9$fA_juhceF*R3sl|dqmrQyv%TQN(%CR=jFcqOe-gM?9aIq z@1HQi5|nXk_d|*zr*Z3wVw1pT`?<9dj|Q2NqHn}o^!?7aXu}IBnKFCkGabYo@|h0e zNMc6z;>bObiP>k{sl?tJ@oaf{CBcw2908 zc=}JdPB(bgHNHu8{^sE93!A%fi!qO^k(u)0ws2+<%bUY^P{rj)KGz5s^Rj)2^dD=C zu~QQwT7-m3T!c$_jGz5YYDFA{%eZOtBC-d;`&o7^U{PZg@TK12h zN@0!i6d*_bEj}tr6serS;cI%id(4j$q-n)mx!4`!^&7J;S_4gch!q_zH$*5_6J(O>m*o=U5J z9}b^~!-vFGrL{Ibm9t19pm=Jmlyh9AVi=5onzMO`N&xAcGMOvRkd7~m*7S~p>0yOzY2n;Unx1E83(fIZ1Y66y%vo0lfVTTEROm#y zj)kxfo0&n*gWTx`X7q_k#RTqK5@uw=LZy;v0LuQbd;-q7vwu?>>bKS&FXQ z*k$IR&_eZM$%s+*yWe=$2SE^rVFD$l^NEJq=~md$TOGc?jCZ=^TcMT+qw29rGEciz zZ|Dqp5Z7bAPx%&0H?>Ro=G}&LIAQT)h2$l(nwXBzv)tCgXv#RFm&&*(kn@P;L}`lg-6$x<5)- zX>V?s&5L}kcM(p|xuTQeAsjFa&~#N|?a{-q47Hf-xH~@{^0$LmH!&=8BCW?$jL=+W9z0 zEufWSt?lF;PPMiGR}QsyOx*KK>#o8!$c)uH3OBn2xWk8q7U0Tvg?93rACuUGYd$5> zaq9m*Guon)kBlxI5l!bKx<%)?Y#;~j?w|64{{TV|znAf=SQP;>ml2{b6PNB2SSgon z$5@$vcz^o+<(GrZ2utBj_#1BR)6>i0uS1JI8WIlN@W+=!c!3&(c4|<70=yl*{yBU) z{Mv%8n@L`ien<{qKM&2w$IL-znS;_8q8SH4GFx#l~K?ZhDV)ERv6Ol>?+I4_Wdo7fN3ED zT;JcKFcvzxnR96Kr2-$AvwSDuEBxniqCD@C$9YV${_=2~i}n;$6th6&^JY?%ae}Xo zl%T}CA?QYdH$ZkI_-Y}`4_BF_ycX7XBBgVr>Yb75F_CHTLMvD)GOe^A+uT|S`?Ra^ACzt~(@zPQWEj#&#z#jL9>^z^dGrfdBKXNi^ zU9sMbcX7bgl8rC+!h(*t&qiLcAkEt0T(6ylL(#>rvK;M6bUX?AaYyJx>4Y&?Y^Jm0 zO;8mGRJN1b>s}0XNMky}E^p(=IA@|=)0i1R(m7h+jMNhoE(XiKYy62+%|@nwuBK2S zwcuDdbzWu1crVW%!fw@3n51sS7^1>c%7TNtiC2LVvRa>*6Q50Q9Q2gtM8i^}0mZzT z@4Q69henyU&`JWNAIK|VP*-KrRhcqf@~I>S6Gh7-#JK3E^akYvxFo(adBU>27rvXU zK9p1`N;VmE#w|J=^&lVe-pG!BMB3@z`$;qAkE;YaQMK^@b}p1auF{jobwqQagl?6N zV5cMJ`cA$wYpzLU-g8Vedi{G?+Dw_RO0WGW;NqvE(q-LomWRzo*xjL+mrh?FDKsc^k;L3gmoF)y#gRKxVb&B)^4tt3dW3jC0-oZ%}3` z&+*5t#7l9RqO`ikmo~Gfr-#eNQf#*}yBU#J>6mg}^hz7@y5P)zcP_QGN8!fszJqBr z5b1pPk#PfQ;mEj|y~B}l199QVxaDMXWK0Xe`+5Nyef{1d=bXfo-c#grh>x(Iw9wwQ z5O1-*h<-jh26nel*Y9#P2UaMcmDs9q@WQU8<<^2?=zKI5GgCJ@fsulI@Sd=@AsL1I z6S1F-eC&_p8hpZkMiC-iKgi>{fEA%zb=glp2?Xaed+KKc@%}DW18K=6&1di7lI9SX zTv9{#ch$veN!hQ9)j(e8Vl}gO?_#YJS?OZ63iftgtQN0zU96V3`yc*lPWS-!>|(VL z{r%=YhqPq=^Vxft{~Y3y`OjzH-@OWsVi%hz3G+HSltICN`q=St|01J?!c}-_X#|n& z@LH_gx0davay)XUsh0*)OV&cGCpU*t)1wx5TrX04Jr0(CSy*hKLaFC_bfs;;%53C6%C%j>=9Eb0yOnme-Tdq5@J>O=~9NiMph;`lQrxB(+pGarKoi z^d?F*=?!OL(M(Az#MB#}C?}<^aK=ba9OvY4bQ(r$+CBDoCrUbZAf+CQaNTa|qtP>i zb;IX>mC6&cgjzRFXbL<`4kKj`+k6HR=kTgQDb__(A)CaCQULE^NlwP&w*6V5;s?nk z#qW!*NZK0K#1HnoZ&-7=X+4%r%}%<0Cr!uEJ0kkzf599lg}t2n#&E2HuK2Lv8(GmO z{e65cBhiplNg{LHyzvQwRGhtFgW&dL1bxO);)zeX zFmD@^AvVlL&|nl0bQ z6q7C*P`qq@do`h}Z{P518FHM$=!OaV<)M4W*YJHeXIyi1n{&c)e|kCm4bOEBunJ|D z#K%YwmoCRx7nh#TSj7Q)w`9;*83KR*jZI`TKKWB%4=p`898IDWXNdsYL~ucQn(OoX zBfI;p3nB9VLW*C;m7Ge}T){=w2s9MT0kThu#G$2=NcJJ}hFKyS4nVF^u6Re%G)l7L z@1AuEO|QvH=%b=%ev^J3!vx#XrKo(3UPdC5Y4t~eR`bBpr$MMOVkJ1zr-y$%ND`<8 z{4DVtNvLY{0p{Mh4t17|%lXDg?EP52XJyW56TAu<_ta*TcukwJH-2{2jqhq>%X#|- zjl5HVD88dcqr__(jlJ>2Rb=cc(YUmIM>}U#h;C2qMv2$78++rbLgmVcnRrPf4!X`7 z717t}OcLRPwYi=rt|bYFKnZ^-{z8&y;&lyvLrZT%(P4VaYW;Rw8uDHN#jHu1ky22Fp2WLsWNtw@w` zR5m_tq$njHOY4S7>X~3=6HzMd7^_BsS3=eF_6JY{Fc-ErfkFrh!OftM7p}6E;=5_i z3ry^TNfO3VCRmj;6D&@! zHHuhfQCB?uZq|$lccOpIDD)C<0>KD-R|2W><1gr99Z5Hu{a3^n&7+#0r z?c2_I7jlmzCHC_{0hpcWgW4+VR#Io~$h#d?UC!>o9Zrsu#B9+!#E)#Wzm40>({9FH(?zr{E(&{1 z7phe)L71f0Ez)mz1&zWGf45iM#k^R3Cs{CbK8ug>69sJpY1kTWhhDdZvZ#Xgv!r`` zqd}RC34`5<3cG(s*6@DW`DgRF-k2>~F1y{=qZjw<_O{XW=TVDeuy<1Aef;SJWJds9yO%okxAmYxXG@X-~WJkZatOL{#IPex_XAyZ64%#_3KVJn@~+i%38cswnibFPC8AKB z@6g_}o4i0ONxiVzF*N_3cb9tdzN9fudF}h2b#Ha+WbWF%8cf5~ z#?!b}QBLC_u1+aKf0w~X9r=h;NuZSvpr4N=^Qz8x_$|kh7`%$@WP68W$w^{ibDsX+ zIR0Y>O%i|4?D5Ke^wj&V)pb+}R~nrQ)6pmhY4!d`gz2ROz6}?mQvvOkT^_KJ%lUhD z*_}ZrLfKlGq?S^LPxi94LsPZF=3)X(pK+)4dyxa1UmwsgmkLd(=D zz7lr*v^bZ_&YnG2M{87a>sZt+N`hIg3Y0%Z$)SH`D;^o7inbP~3%2}BOR{fBMkJ!Q zTTC}>ol@@M6;LjC^ZhzrUcL?gz2A=wXc7j~-+?OFUfF3^4hDLhf=YkLw{jPi+zF=s z_TDtv=&$(}Y#w7b#_XVPCMh)TY@lw);Irf<*09{JU9`Cu1;nJl)tYFu6P&RVf}p{d z&Q57TDP>`O2-o7B=Ujjd|4e(gDy=M#6S2IzB_R@j()#HCrtRwHm%%4k6aq3bmyx9r6PGdH zEhvA@S<7zYHWc0aEA#_lc^`ZMg@K6^7wE15flA5i7R$&jb+pRb4fLWPV(?j%BE?Y{lneLnnAqfTpC zd@|ge?Y@2Ks*yj70b_sxt@q9?3`n+L!~0|;zZwjvFV;FJrchi@xS%Z4LP;RfO+4rX>?Kr)(T9B;koixG%Ep?WgOh8mUaLZ)eU!1v_q+1aH|^7?~T@ZRuz zDYCgCbh5UZpU=a%#nWOQy%xFeoBXc5H5ir9(%uzf){8Feo^|1(vt~Pd+y_w%g;cM! z=7R)E##qmusCD}A`fSyxqZ*Ou=K6nZqY2hu*(Jx{7zd|flQ4{BKQH4HW9Q?Ow>d%d zBW^%gM8hpw-b+{>35$bFHcZFBc@1~u{@Ht~$1i@rM&e{5X^nJ)XRER(EW}bHWQ~PF zmf};!8dIhgW;mKgMxOYKHU0RuXIamn@9M!Ejih*G5&f?0EY5hQ`l~6rL-BuAX2J8Q z&%lXEK0ic3Ki>_1&)Tjd^_r*RBX=Auh1v9SD<1AAfA(q|RH&1`s0r$RNcMLz8t-Dm zY*Zl@Z+LZPAk+q|5Y4j!H4x=xD?isyOWK10Axva*9xYZHJI|e7NNfw}yEop!0T+)!eOh;p3 zCaKKwb1Bzv=&!lVoRe37=EJzZ*sLcve?(qq$fiz1f``&1uk1(k(a=nPw;vF@BDonc z>_=2@DDi|Co3lk(QPH*B6e`5+Y^i|mu%(*aM? z-KbAf7iHYY;@n~E&xITNA2?$(ipr|}k(*Ph@vE-aj@$ zrnm1C&<~vc0;h*sO$LBz3Deup>CaD`3r*LFF63NFx(t1`bXQN05-g1X8Ucx)qC2Nc&}WmLy{7jyy>B_9r$DqpB`WgiueaYHcmh14(*_w~$ml#8By?yq z8YKFP=2M^jQ@R(NNV6!QyYWv9JyHI58Lxhx`Zj%k_+uoS1jQMrcj6z# zr(Zv&;mOyu`qt3ubFG!?Rv$R21WsBBhR$XA;&bFK@SWr!pj#oL2#XYv6EkW?(Ii=u zoRmp&LXR>33DCPIUmHD8hG`{7ssPJcqk%bY#?hBo*JHaH7ij?lXLjNe92qK@$!349 zyAcO5T>k_d-IG>6c^wfL-7*ZXlspnGOs4N%acLnQH4moi(x|XJ3659u7g~5%AqMf8 zWU_Rp;YIC>MqUA1NT$I~TGB7JI3JK+gfpjboj?==?j{Y6X(0+_!Yj_nY~B61xn){c zdD|7-+cvsopvr1yP#uA_W}{U_Wgn1f9NT?(yR8I$6U5fde2QgwmCA|zv~c|%wp zm$Q(t+(Fr&K>P1q=3-XN!7r`<9F`w~NivXMB646@;XTJT1Iub zmC3kObULjH;`!+jGR`u(@DDw*LO;nS&mK6lIX|n(T4A1fMs6(*JNO`(HXAkt`W!pNTITLvW z1oxjr@au=?M5vG*s^={|;jY(iq=0|}E|S1S-EPO;V_AltfbQw7*%cMjf7-wxzYno0 z;g~aa7fKsPbTGIh<%;6Q+gvlMe*K9G6TuvB|H&g+XJmQh2+Ecv8SO-cQ=Gu=w z!eD!fTP8b5@d45Azw-yUnQD8KK5#oo2+tXVi6_?kc*ZA+Ip&1Luk%Rxu{@uVZZz zYMr#KLHEjtoZEyjP)hIgmaQJTG#v!x^}<^RT~=lln?3znyw{8gf58Qn0eWBpQ&|?m z!#O5svBDo*;<99fw87wdqU*Iysp@o}-!=7UQ*9B5)!NGkpIlFNJ4Kdgclr6g^f}g7G zQoNocsVNG;jM7TVP8wm|IQS0b%r(G3abt^P7+p*rs=xvstZ}o;IZWfhd5hje~`e{y%W_W24ZdV{C4f`XIs++D;XF!!*+)>wk>cvU zQrv|aM!%;rpk~gm?>>AAe2TOKUhcDBQUGGs)Uz6G+JU0qsPc>NPnTpR={EafmDkM> zOEJAH`HZ+ZIy;wgnX(nMw%)Xvaixjiuzeqj8W4E6aot zt+>jGh+KZ{Y#1b~9Vi~q?;j{`^!vy8Z8fjFe|u8C-*`YO)&cuq<&MHII!tf+>Y!M0 z>TBRaXBe}^W7M0})UV$580|=HB|yU@)aFYunxTQU?KihthaeQiQ}y4q4)gh&=9@~6 z`rMZp;oWnKBzKDAk+im@c&WjtcDIN`K0$qMo0o~&wJR}`JRrF;J(oN#?73#SqZ!Uu zf0eeXZ=2rQO2V>~Ij*%jP(GlwI#Aqbt&W_1Olx(- zxZPSE<@C|5)hiIE*6ML9E4gM$?Oj>vbr!_Z{JoEg|6LL+_@!&(j`@KTOw~hC3%e<| zo@eU`uQj2PUiX7G?$Uz6cd;IicBb%%H~*~0-{g1Yv)+T1b-WnCZJeQz6Nv%JptOYq~XP1hWgJl zWfkF&t5&RcqW1L11a=KvS454ajgs#v>cAo4zERw0NOiloxOd)B+<`+9F^PL!)TId2 zw)$cOs=*`&pg*Q@8kP%BUA=HAZkFmIR)SrdyigjYh6#6IDW6T&<+Y;$WhA?0JD;9_ zS$}D~%t?w8u8IhbbRCa}9^pX0p#57#ZIS1)zEafbRCX=0NC&ALYSmGm0)=MvL?BWI zL4i|5p(1dNYQ$W`J12c)Er9#WV{2ATe>^eBCvIO2v8g$?q?q){%gofrb-3=jHj;O? zRnW?Tw??QUDjBNZYa?sx!M=jpSr*-2N&Nl1q($8I1*u7brpD`$5t#RuqC^#|;Ilc6!pdhvlm(M`+`R2uwI>il( zy=vcoBVeExlS>7cZvr(C`6b*I(AAjGOJgrhraFvV>hcjkC0ryPXPEOgNCzPmLWQ62 zM$@P~e7{4F5HZ%7UWXGje=|4gBYzOt8EnFLI8q^$w|QR)ws+vzoQdEl*9#bb!LrE{ z55Rj;LL(0jO=VaC$)sUU&h)f7a4y^}Sb?^s*I*_$oTPLowB}Ac8R1bvo$LU5qCsXq z1g3fxAZQSZt9W+auVi+AU*Ix$`iNgZU!-A^ZM}JfDmJW7VYZ~IWh0cs>O^%`F?*r zaO3sf^d>}1S?0`)rWe=3nKd1=TVm9P2KxfDXS^%qxxSXr?9 zY`?|_J=gXZO)GDN*Oj%$E>_kjuSKAAhM2woj8Zqw=RwlGWq)y9v`d_u9OgK#rnNX2 zo0EJ)OsahBVqD5#zDd8zm+l6ZAMf4uYrz;@WgGd7tFz?NZ__MB%tapok5WR-VoSSV zyxW6%`=ACq{0CXl3Yc#0$S z>g|Ft0iNn%P=A*L@5QLSfo4xrh+6qnO~32^)4_^e2#CkQzXL`|DDQB;mr%TNzn89z zpi%P!pS$n(Qn@bRq8W6cs@ZmtyZl*FCZJYlCsNd1+m%%4k6aq0bm*F4*B?34(mmkPWGJjfKk6gD6efO`> zV_KjZNu)@s2o`XhI0?|AhSvq!8v9_c2eA`p$5@XO_uuzWn!P*gnX&id)-H;*cR6=- zC5j>s4<+TAOARSx{FT7e1q~)$u#ijZQVv;*OI!mb>rxAxyF?|_-1{I3GCCm+s(R0* z8d}c%8G22mUBvG!qkm-|r4L9LjK_%V{mB>-ZKZJ+(N?Ly#(1FGU#m6bM&^T63nlT; zFNczcT3kXYLofU;q_w|>1~v83DjLYSnN>&Y}xgyE5LDa58Wmq8hsR_iay$8`i z#YSf>5K*78q(EG|I+6p`)+dB%kq*;|1Tr2y5Jc-wVQNmbtACCeGP>!bb%XaFG-0iB z*B44LbGL(Lh}K`jZx-%tjRI>OuNg$?vp_#=LtjjQTj>MiK}}=XU~qiyb})!#EQ{4p zN&4L2BbCRppc&SxKW#Zwtz9!rw(1z7QK&{k9fQ~{SyBy>vd^tx86=mkI$S|E(`*`K zGtFl3tg)~SZGUTTP*Mt_d32V8n7ax@yw-Fyu%M}XAKU_BWgiW1Xl_1Q$r_YW7gK>q z<24G(-B2atY3=S=vcRYN+)74+F}IRi(3bmaFoC5s8W=?GqZJP3{^24*tLP95#L)vH z&$v&%6oOd$!0=zIqb-)##KvprcQY_n#9Ho}Q3`FWTYrJ$wL-lC<^uQa{UT;s9dkou zHj(ifLen-4B(%0^fPqpPEj(zF8{cK9mHM}ktIL+|ef{;~+oz5Y1t{`(@sEH03twn7 zaYtz}LG`nDuV0@W9euQEM$>w&rYt2Y-0m7pOKXwfEtgHh;=$_m>iqc4v(sfDe<3U$ zJzKAr=YMCRjE~>FUw?nRezsnQJRUq;ovks*L)a|?lKLnQ4KC%LIX=K7h@kPoqurem zAC8U|kIq-8$IJE8#iMT@E}kskuQw_``S+V8M*e9Dh0fN?v-R5!PNVn7%eSj{=cmiJ z8=UiJe_g(K_3WF~`=<#X#htR16ZCM7chM{XLw~&4{j;;xrmr?sxc77*w9jQA^o7Ke zR3}L$NhirBsa;6yT0B0PX3~dU9KUsE3QBnM=2BUUc)JQvFWnL2%2r*A9WJ%4~#NBEx8Li|;ysL}P3%8_dRJRu9(0mlSO1t|fo2knEm zz-zd8I{8cyiwRe~RDzILOQVBIz<;%c!Ml|V8O+ET>K-lj4-B#x^2Ou<6^Q$QvLV#_^Y+h+#ZRx+FW)_nr>kEVr!Rl` z9c>=nfAYie>h*8S^Z4^?D0%OWwxR-blSyOF8oAX;?H#vRq;hFCHh-*Bwu4HL z2%te=*+hcnYFw_OTfKxWlz{tyt?mLFcttF={XYPk)Lmc`x*f2IZUI}J2(P3`n&3>z z-9ap8fEQRdoD6>%A>^Ek5yPMYB_C!z84*4Qd~r-D34j0~SrQ5ZzfeJ>DkDAaQhBpngz;N^YlcCI<{+?HV&5HXQ4^RvGJm7x+)Jt|H+L#6 zhY|iW_|p|YpAEJx@A0R0JAX3T@+Y+!yvV=|VD^f#6#Y>~j`m$nJQckrEcd0e^uLP- zH(s)qc9+cTc1zZHYsqZdjIwDn%BIaI)A?Y51myt|Eoy9}v0hp3+uT4#WUEa<(wgt} z;Af6R2ZEfvOu(SNaerULYwDhUQ<2Z3L@pqHz8#HR?o3x>f;}0UNeTx2WwK!bYA8ZPsioozMMU-zEq$Tav`A%qV z6Qq7Fa~Y&<3dlC?4!3D{xLss%Kb5(V@(laLCNY7Dqx=FRYkz*)6%#A|R+Le@k&99a zaSm?pY1B|ul{rYFY83YcP*gt>DmB4-M-^qfr*PC<{7ga<)BtNvmS-p&Jw*K6aH9l} zA@;MG14{TdF(oplgi6m0HUA83oqFI(@O?t^%}S27`pK?agm;ucod6$~idu^@2u_+~ zIatA~F!PNLl7Bc#JFEkErK%LgGGKU+yi)Q!JJx<~Ca6}B%n0C4engnzmiAE?l`8<| z=b+cvoxIv?15KP_Qu|_T@W$AbcT06YOT85~<*icP4{t9p=VIs4L*(x0LlnucHPjaU z=+x5}W0ghxaC48V;Y%+5lNxa`ouQaOX@JtSO*$|VQh$Sk+)0OPZ0|{mT!QqPWu!s) zgP@#(liX=@@8@^FzWLLOMzxm3r zY_H4(<$v=VC>x0;%13#UCPbK@{MqkH4;MA38`P6%U}R04Q8a-WLgaoCV$5!F86d{jTKJXLS4TQg-fPrXt&D8{TmuJCet^}#{hl4lo?eA z*D_M(r1_rL)9w+ojA@KMl-h_FO7#}x;k52DC504Nq>R#cy09QZ}NfV=zpVE zcv!O=DlfbXv)!T(H>r77hPB;ULR~w3M2%i1UtISV3_&<=XRb{@P4h`xNspi}P;7s; zI!1v^+!j8FD4ePBm@OS?#`sItE`CG45~I)f=07neQAO%1oHerN7*p1gH8PFj4KmuJ z#ZB}-UA-*sA%Dj_V)-`cv-5nO7b?f2Y^*E_a4_p-uZ=adozm|2*q73t&}PArbh~OV zrzL@ep`G8?AKVc9HZ__dlP1yh&cIT&sRJQ#r%YZ{SVqGscBa23_sJ{_d8 z=XoxUPQxKvcGM_UH^@%Hlz7Ly3YeQ)CIRe>oW7g0f=!70g|Sz3hCEQB)t8JXS7AGIg~FAy#Y8Fn%y^}v#`|R| zcpH3aEo4~8_&^kIMz7bxljlv8E7C#P9quMHbQ>@d0u)B#D&;8~p;{aTH-WgdYgA{n zVK_2e}YCE8R<$qn~*w}TXM9QmXK{a955bdCKhuB7JIpo0} zHS+!oF03}qh;cnG=*Sba8SE!Fkc-cDZAZp}b~rQm4k?X?MBEqWb(X2QD^u<>c#CtY zK&p>r9I)%P&-TNWjBWWnMXp=VQpLjPhD^1nR3ytc_O@W7+2hAg(_gRePk$|xkADV) z3hMN~KcC_cs6lA*ORt0tr@wzY{r>cynP`8_m;6;)Ys>&afPC6e3@I&it2#R)lVU=i z+CM2;h7pRC%E=Ii;Ac)s4iQjiTM$9Id3JYo_Aq~{t2Sbjks?=s1%Ky7P-dZ*%{V5( zE}g#EYob3{38j9TOhFduWfarIe}5!PKaAu&<8Imwl+adJ`KAk&npZZgPiJ9Isb-=Q zccMZsy*@~4P{dvLaka<}C%r7MF>a5`Xy_1V18Ap!LEiKfftK_b{iq=pu!=vEeS|H7s`T)(Hu4 zSQ)mD|J%UyYq3l0&dVQr|}Y`x1Q+e~p)4TrBMt3_Ep3~Fk0LP_`> z)SQVN3pHozk3-Fg!hZo!bE0?$YR)_ODyX?n$^tc~+5bAIN#$FRtltr8P8{w)%~_r= zgPK~!tfs#dYHC0NN_ZsHER?0D6TE46+w;BlBHTX$XjM>TbazModv}N`CKMmO;0|%( zbmtCnnti|>;zaSz9pbE)f7>0RGC`QnULlS|zWWX0B=h4{Z+|3kK+zis-l=($_+M4> zcF9;O-Z=UHe|Na>IHdEvgX0c%_2msb-;KVvf=l-nwiXSFqXFfyQLHI4Kz;C1!uS(u zGq`wJyu6fv5U8fMwrXzvjt$HjQ%iH{G7CLIAKo|SH@Ualw}H;X{d@PFjWAmF@7_{R z!mYQ_m7CSV*nd6+)K;wvcWUbCSaYL4I|(ufe6D>FkI207Zr;W={88kWx7wYd-5E^k z=S?AYF7Llfi0{4-Qaasi#TW}x*9##qRQD*yDG>ngTnJ5{w_ZLfD-3xAXiO>efMl!# z0Wp{Umi`_iNUCI*101-Zex3!{~;$h?~0tKaN_0VR}MNU^3NRo}pOS!g51BDU~2 zQ#EtPK$fy}`f7d@mlf_ZWlhvBusC9Nl&NtoXYh_^MgO)^blmx+#{QPh7FD-nJ9eRv z(%ZPAQa&$TQ>CU?JNBt??EM;xb@mtUg=$UAQ!B`_!K*Y=+-zv`+YQ86aqCemqCU}6PH*9SvP+osSQXZP?_C1z}&{D+rTHo z_Nfok|9=>2S16W@sH(9KxhW-a75PYooc^5T^v{>u`^!HbNRt&#D+|;6ACuxgB)==k zgGNtQDPd4e??0yhT%-iUuN%KeN<@BH{_glwUtduPV+zI%gWUqFn(aonWW%_5uzw(?@_#N7BcJAz31in+BZDWz9ZdKIm(CaN ziLnFveyVJ;g3z8&_NE$&V&^+Xr83WyWu-^vodT2PE%H7a=}qQTJXyoeAZL8l*4Mt1xQtQKSzS^%FZKsy~VY8^XjD765>aaTSvQt}y-#kLx!_7?e` zjr6`%&H)-h)-AmySx%`fP3_4PI2!`h2RIi4Ewu8PGjFj*gFsKGGaLCa&7-tWV`!J5 z2w5I2Ai zSs;J(O}-N4 z-`=}UD|4aAb@nz(ry@DAo@NVTL8&BcEl zsOV!l0eVnS06k_Wc{FDxTV|wi*XCz^f_4r91mu^)5_lJ*I}r-JjWyh;r!f((z#J%? zeqThddPa;CmSe%N`v&~qJZW4@$(3C~h=;1t5L5LP;&<1@8dqlM<~c>HTYRkRilHl8 z_v>9M;nc>=waW0Q@b&2_VW^7E%`$(CYhKl=*AB3}u^vo`^fCV4!-y~1e41j%_0eC` z`mFuB?w*9!u0{FK+8}BBGks5mZQGSC@*1^~0h4~~XH*YJG;f)%&o<7xl>eg~*pOod zIVE3y>rP!-+tvRS2FVUQ+s@DK-6>7{L_O_$l;hF`%))x-&Ihw1yd5_Q2{eD1y{Zd~ zcU}z!IF!)l!j*uyj>46FVp`L(Gq@?LhI#~toNSsQ!O&sXDrUxod(lDnYU_j36!%JI ztpAt+HdQWCP3wEN?M4nbL#AJ-z>wK&_!+yBt8U(xjz2SI7mwp4wkkw zDPAY;^$_*5j_$SXwQx|$6&SQCN)?aewY6fY2R3U=mpY>>Ypajy66Jr{&ilTpg=RTM z4$k@}2-fPjOO?OLpu#WTb8lNV>T^{HG-+ml5Pitc>qi|&8Vj7%`L=v~8MZ|7T=g#G z9kJyz86^#s@w#?HNu-#{sNGv@m}lu{e&a8#$&kWb9X*o$U9!Hsr+BEzTuME=>cgC% z`P23owu_Isa;)`2u6=*mCiz{Bgku{L4?q<0Rk+b&XTGu=7SndvN`o6WJp?D|L zm+D;?Eb<9oLrJ3mR}WGFGc*HF=XN9z2>L1SUqA^}yjDM;cY1cSutNpH9ijV-E%vFW z%ak1kq!&c~h>3qbA*S+9bVNR2wa-bZoE5q~;*k(nCi*;UpT7QPX`RE7D#+8%Kx|&t z<}2$_uC6N3YngVxv#czCwwsW8Is1{$up&M_a`sTodIzwe9+``2to^{|BKuj}al%10 zQal!R_tPpOBM&p~df#KfirJ?bsF{$F=nO-W!?h=7o zuL@LnJWRI-B3!5S+rDQqa3k7A>CP#Yf?zLTOqVtrl4L~wq@f3a7 zcCHppD!7dd~0H|p*enwfV`F&9_ft6|gdvwEgIzh%GR4)aR_1M1+gWvviyzfp z=w6ldm!*><*^*iA!+p!`(4839APCgcN%ufdBl}z50j;`HWzHDE)d7Us^=jUR>yUkn z0q9zViH`{OTz5~fZAL-z3?b~WFm>ngsNl7^q-G;k_}QG+WZFl}d*UKTVLdX9`-bIO zNpQ(Ls_0QIcTVHz0BS&$zu8YfuV@^D)}LR##`ZSSQu8wmo2@Sz-r&Ww*Oe6w5V^lS-8)puQpmwxHO>k)!Uz-W3I8A{^jC`;(71)>lEt&|kJ{Bc41;Y0t zX;+A^1lC0C{3IEOQ!9c8l4QWJy!&5Fk`KRGwcb_9ZUEhY<5%U)9tCic{%g`^?*uFD zFUgvBt4LpxMe~lrJ3k=0kwgb6W`_>#e!}Np-=C&PD=V z?yQvm0r&NZrI%q^SrwNNqAwGdC`$qqXa`|VG%P)uH z%i-g*#>EOpVAb;SWdVL6`7cO*XlStj!f04tzAk@!l2RGIj+ewEStx%w%Nv$=5;4rc za|7jB{KKCwzaC^(SPE~#ZTLC=@9E|6@1d%%v>@XbKqn+De|^$Tewq@?BB z-^-W7Z|AeN;5cA#q%lMraFh{5ZZXCS9bP4H@H0=!#vmJoC%)Ja#V{BdVJN1b0yxQh zvUy~dsQ-s|CXG`pNa25CNQmXp=2c7{ukv%B?@gAs>0TZqgjIKBWGpR)oX~7=) zU_-bs_MD?MS`m=hH(XG!z_d;;rWA#Ey+nqrKy+{z2M>WyRn&i7>J`E=>YiB`pFd`v zb@VQLmRcC8isCXT{L~#uj?;p}Ip(*>Qe}HQ5!^a{H<4dlnH^)tnHt90)@Pzp<#tq%R?hB3IB70c=-!N^Tysld10BO$ zNhyDZqG^UUXqLo#P7osndA$&akaK>IAY~+%EB?8IRpc6{M@*ANIokxPC-m3yF#;nX z5M)%xLTiNqSV*Gq7WOR6Bhe$5=bCU-gWyQQX(0*k5j1~=`6~J^1xu*~c2%b4|6>y{ zk3*-S<=(>A`0s^M8EHU(UgO_y)aPcX}USOeY7rb0;rxDTVPOu zeSNJKXsC_h>Zaqi__i6L7U`@F=3tHS?AI6`DA|kWpm^ABj1(mhgm$*exgA)XEGI*N zSNa{xf4y}>uT#q{ZsF90usL!HCP5B#B3{O)Y>gQ%a6-;Q&fU|YDNd6^uYl8YY)p4u zHPVzfm;WYNBY!ieaqdT~Wrv^bg{{GjVL$!+K8s*q#Igu%Mc%z{8Fp>wttC$Z@VcG1 z8l>gY97J-ND=B;`DubH_xkY)#jcV&t$Q`Y4eF=-g>DfJ3SMTc?>MAya_cviN$|K5X z;p|-tL$YVxRCG+5?dfYWh)r6Jv(l%v`@1-WM zT27VHSuo<1myCN0-PXonqMD5yuBGt)uBCWO#k$AdW8=2ewz08o!lsIFn9o$NPn4Kr4^Z6rE$;fDy_(E4TX|kNC$5zuE|?8;P`yIzgr@~I{`}lk6Z2C{IGuc zepN;4<%hkh3(g8K`iDvpQ;DEed@^`8BDVz(7!nHUhwsL}YuFAueIOLd)$e?j6wl>* zV+#20A!OKBOYQivCc|?`VZ2n!w=l5#=J)EY%WEUuawZC#La>sWigkswjZUloZGT23 zob-!VLahga0P~QM$#fp5Tuz};tY^@7iNeiy;_Z3b`KRImGql<}5?GtPp0)imcg>L) z;B2jZd=4k$VB>f62d2`e?Po)P?E!iIeR?_k2R$}!d6!{YSrq{@m(f%Q6PGh7S;l|7 zJpb$cwTyMfMklp{eH%kST+naES1pGeR)#jlO=$^fMqfa^yT*SMV*K|3b69Apsl^$i(G z>0#^1K!YOFZ|RaT#nKj(oD9I<<_bo^P?t^WyY<`5b40!E!Vl1HE5VL(o6diGy7egn zQ=s&E%%KIGLbfC#&Cl-x6h*G-XWCL_Qhht%L#m{i+%V&sE;TZXX12a}Iy5Oeyv01~ zoe^I{c9}Y&a7>}hv*6*}aekMMQx?R2Me*ypqMc>dYq}lb^IOc9BuC1HUPhThujIw^ zGD@UMK*_w9ac&8TjyceG%h!M9-s}b3GDW+7fM4aPYiC@IQNy$leea{yM5e#9|Ea6r zVN8(xE#x>6BDBOZXH<$g<6dy7;#Qg#+6t9cGcB!2S;~>n5{t4-%EnMiYQ5FfLTyEW zHQj8j_>Js?99A=$wT$#~+>#tN1*V_r`nm24hLO>GX;$5rlCd;>@0foqqWmZqh~fXn ziIMqjT`NX0!}ZUil~$TPt+c&oJ0G-DX>O*KlyVg%aD!&3S;6fUj{y*N)U<3xL#l>K z0W-E>7tFZCY{BIc8!M1MV`j;jaB8XD&tIgo8(>vBS3gZ4wdgTI_!N=js^pX0s$o@^ zMy<$7CB_o2??!nTme+q3d~;pNfetphpCJLXwRNT7)GOSSKjdreoE$i8OJ@qW~*YGW6 z_EVj9C)-t)U7EbYnBNCqr4m-9@sMWxNz_k)n}9u^SA()+=%jxZRe{l*I;c+4d6goG zs;t$ad=VlJp*wx@`?qz6Pokp}6znC0RaRL_hf(SC`kl_^Xe5P>sqsVDO)`ha5<$^b z%~obfxL!XQg!?uj;+Z__3Ex5;4=T$|$$p{hG#l(4PUDnwjJXzcAgPhNZoe;YI$Ijd zvrwKosB2C!-ARAS0D+36Gd*P>C36DLF$PC6ePk6jlRYA>Z3<4q&BIhz0QLpwPaEB8 zZ7DwpvNWUI+)Z?!zYIAlvL@%Dfe}pdL6;kcKWTw_ieVe~qjc#sGvwmE40Cuw3o&Qi zZ2beLzmI?n@bCp-@ViHX4CIc1tuaOn7Wvx-3tiG zC`@zp2tat?3JK`j$Nk|5zJr90K(AY=gCVqMLqmTBTtop7P0QqlpqueNcboZIbiupb zZRTqYknEus)i3GYtlf`iufk-Q&gnKVKj|v37h$VzoUj)93s{b$wen}W1C&$`^k8Ft zn}xtZ$R-^yxo}SMC8^j|{DY90%@9Gq(+kYpFIAOIcF0j3l(t`6i5+%`j&Nd-c#jZB zGOvH7q!k`X0nGMcp!jVn=cO1;+<Y~Jq6@<%R zAgEA(?Q_X?94JeTa+q&6!-_IZstZ~a; z40!~{&9J-Ic+XSCkFFz1<`z}Ati+X$`_z2LhbeR5U^o9ViweFOP+8GcQ?*Q~R$ofF z+TJ&UVG`76)ol=j$UJUsM)hah!J5tKv9@SpZnxxAoT|v+IolbE)Wwt>ZECVd=|+F% zsIzn;8ls5s1(+pQT^Ig*cKY3kB*&Z?<_xz|+dC3QFegW88Uoo2yg+qgZ{*F4`8`a5 z9hrhdWcLX@0SacN9Q5RN^#n=~deZ&K6*fXDe|ppPy>8Kr;n7>;9l|x8jrzL;-RyMl zt_cwPH4p5`zo1~a?MH_Eh)KgyT8w`Y7|({jRg^oMrB7}z7OO2~#8S!Ah-pra{jvnQ zT_JhQt?qZ^1}OD*3s&2cK#dmL^F(QUaq_>K;NR42CU9Z@K?VFqo#uLIdi8mcWE`jMZ=j!1tZ)*pW$MWcVjec+Uup2@c zhEmMf4e9VayP^3o=RtPEzqH>=Q$*mvC1XOnx%h^g&EH<8B`Pe zEqu2#*w+bo>#9K~K3)j?c5Fr3sf`%>0c-{Mn(p8Zxsh9j9zu7vtk{aE*Pg9Nt*Y4( z7As6n(`m#l|57VCHuY=SifJ@(#ZV6!JTMtx&M+BZdL|>ZOe+8ktQ?rm@0LDIm4Jp# zfQBnrn{~!YOy=2SB|v}gt~AM-iw0^|0#0(Ms01?}Wwo|CkY!K{CVi!EM}~;9qK>Fm zqczVKThyS@{2o)ndiXZ=FGpVuqTIvd{-%u(a5L^mK1E4c2gdax>jW{f9`?o+At=X1 zyIM`4l=suFcca0*Q5&f8|?C zZ#%gSzvol<3q-32sRs}kh`sS2=&g&~ik^z@p7zlF{)bY}(PKt4j-76SJvdG@Ba$L1 z@+VT^r{7Ne^yB67`SR0E!O1X-!pPI-uO~qdIQ%yQTS>=35TnDG+Ue ziOS{t&(FWT@Feh0H!Eh+Y6Fa9%F=pnK-7@9!6kA=75|o3`WERKNr1!=TznsN91|i+ z8Q!7y;db^5^1qfL|5(RY{kI?Yq|in(;XTh*Ch{_k%fwy>l6hL-UQ1TJe-1&?ppPx9 zDb&mlwR(8JdF=}0?dQ&@-lBM(M-lP5h(wkPI%iIMwfnCh-CrM{FaLQd%9o0vb|Nna7+B;+N@+7AZ?T%fBbgp zMt=EG%%hBAiVV;xO!8)DamM{r^gno_*o@Q^tzcHF!2}|yHtn|T$MD{8%2dEd7Cy+u zuWQ~{_Wwqg?=@K_e~sAVIFr)$yd$p=|MFg|_85M|xEO5feFYOQ9}nHKKlv^C!5WR( z{P1j(M{x0)jrT>(=b^>X?v`>`W>nWqLBMIpia|m5szs%s?2R<4CGOgXHB++*BoAmN zJ0ChEM=r@HMU$!PC}2j4e&)ue-{g;$DKtG5A6yXiTMk}Ae_e8biZox5yR;RM+Z;n} zQb!|0e)qt3kf_K{25Hnr&{Qcl%iXw~#^$G6V~o>7Asm4ksvDR1iOAQ-1dy;R8=_Ob)TAUCSISxD8sNHAA0Ah`_aQN#1Css&TMe?eo^TwEnEz?Wvro1QTwsc;vahWsM++Vm4PKLYBBBuhDs=3p~?IMv%~uxDBTm)pu4S z956uL&pfidDKKa=OnlPrM#G#kYhvx~Zi)+FhM8a8-kj2@!a^OJkd#^Epo@cH!3dYa!j3C|_9sO(@VU?C;1nG<^oGr|o;S`5>FI&x!cwDn0vul09EHP*)@Nv_TVFUimq3|7o+{ObZC`avfqGP1+lPmzYAdoS z6@&xYLISMTj@r7e2XcB_5f*Af{&KdBHJ&Q@f25im90%8FMh493FH@xlQ>eOG9Vx#x zvHL4X^|tKzV4G{rvqrsfZ4vP<={Bvn-HU}6m@@BL%QVpto+Cw~B0Gt*2EjDZJ8WqEU4;ipi6aPN3*f6(9S`-Xwt7cQS#1tE$>w8P9uD&cxKH7F1gMm(R(Ln ze?T9~Ln>B=hS6VsOb&#Opn>dHE>+}SSJ&XyReLvbv$c#n>?x-6%2Q-^l7T;%ugLtA zLSqaOW!t4G7+oIZo(rrc=15W>(ja)~X!_+u3Hy5#FGHexj4CG_IO+9+|uZ^%uG*uycIcZp`2Q>B2}*=Tc{*t zm;R~|LF7H=?VbEc77rTvdANzuw8`FpiJFY9_d5Nn)x+r(9hFoBgzg1Kg-YO2C^ zpr4T(_L#SID=(fBVmB6IcRi z#)^JMxh8VGUk3C}HYh1)+@8Od1jyVP|8`Tyt12Ooe+;etqsi}%rac|>jWu^@(qH|M zGp&ZpvZ01wr>Lm^^%*Qug5BGWi~uTClje-o7FyXD7Iaid1F z?i5xs(51fGA{SqYd9an4TlZfa!E%z*8s4ME$k)G`ic_n0<9P|3ji z%V1$Ka=uCOeupsE9e}7Q58_~~*Z|5V85G{{XOQB)R*W?Mo||s2cigqId56;)Mq@pf ze5hQYbO85a=_!{2f3&C%Gr_&;QZ3&u{EtO+d+-*IBNSlq>F%26#3dc$Ur`y_4gZrJT^M>>1!W2GMw<`kFcp&p316&fkWlWw@%< z=^`WPXn_fme-;GJIBX*6bgO=Xo40z=kKktM|KDYh?Jt9yDZg?YO_OkQGRfHd@3!&b ze|hk&NsTb5`^mUDI~<`!ZdY)#*}%=>PsGiNj;GT0GC!yZX$aC1;_Ij$tbYrXOf0iX zbjrA_&DjcZOiv2a{?w)@KI}X{IfV;9)f8}!LeOHkU_&D_sGh6W-Y@E- z&vsDr@Ou!%XSfZ(E(ow&11CrRu5)6$a6I-eq;y6CYud@r#EkyBGDX;q0WD>@C=hCi zOC&N6f9X9{Cb5o`b)r_K7MV+4$zOBh*)?9A04!ebs1(-?+bv^JXp_c$(OAvoXav3( zNnM{~IPZY2lQbAk8q?w9IPzc+A}Y4KkRR!mj=8Z_Z#q*8_x!?pcbMiC1YcbP9+&f4 z%UC;9e2)3DtXMRX%UdNJR+OQ`oypc3n37A>8Xfu>+gD$Eki2yWi*dB`*ZlqQ`SM@u zblRwwVOm)g0X3Ilxk3~HIG6GGPbZhkN?DwLgDs=HJ^%atA5XdnT(3<^V^#2Ua-I~+ zQlxyrLv7HKStV0~%V<@z;^z*k#G$vt@#>sm{?gL-Fw zua3kG7k-;!>&sW)MoaIGcWoxilG`eESp`dmQ0Iklu4UBx^reoRdbRN;9g)=0GD@<< zWOIi~2dtV;%StkkFTF0=gBKgxu<1Q$ly&jsOjK4=9m$B1c>PD7&_+R2u*!o}dhK|w z0Y%15y*}n6haRhWm2R4`_a_6sSS8ti%VLcPcGgIJl3HVbmn5uymdCBq;^L*toBH)o zI|fNbu%D})-m=fhDcS9g6h;sgSucgqZ+V;d;YkKF8>4c~q3#W4WA7y}rGN${;HH3f zId(~JRG=tF%E1Yy-~`xj-%Hx!sTGRh(>u^@*6Ij3EI|KcF?SuY8HrXSb@R=C61dV@ zoo0|NIoZ_n(1om10Vi!faD$N{1!(1rc|9da7MZm|8`z_?BK`$q&FL@pjk)!=eQzNO zo8A&u`I9YM(0!|0H-*KrJVr+J*^UId=Cu zRgj(7c2Vn7m(L4P(F7@6O1%t!JI2)eSqi}bYM%0DeUyz?H(}c%pQ;zqq%b%sWCELH zX-S;m&YdWsB%pq0<{itL#Fns9vcjB%`UDh<=(dchYo7|5N}r9y1$q;9Fz8b*ng%9%iCj%w84f@$1M?m=$wM$c8@qZ4 z4^*<-;;U8QvTJkD2`%)0?`E{XD%U}1;95PS=}@f}9fupK)>@8a$u8Ubobzj72-;`y zP-9IIql34taJj4)io7|?Cs&*&-xQed_c~6_CVAaBqkdiE!?KFwc}i@t?QLDO zRbm)<>PwBd^eL?ciBzXtTJu~DHI+U!&Q{zq=($HS8Kd)9A;+$Nlu`U`8D-NG3?oU` z2mF+5s3q}S75TL#{RihRxWl?9YjUYm+SadbrE+&Ai4n$OuAxGE1M`ZjGwVR*R`~t}0vB2*qSs@k_rhy>)B3!e$h?dlPRYud>d!Dmk=OXI*>2KbYF1Sn03= zujWm)rf#mExgWiMazp0rbNC|Q4Ho5OvaqgMRV(?!LW$KmG4Xnuf?L8}am?KcCVA z0!ElVo)A?8I{o$g>5r#>%25TKs(U^-JA&rg%Z`rVl(oD>YuKFebCS!FDi$|hblvE; zq6^Ze^-uQTq2;&L&k(f&mRSf0Uw8Qy#K0vc$sQl2iS*l+9k0|i&6qidn~nw?bB`c5 zH&~RBletEJ3O7#VO1MLICvslOH`AuaVT_yt4me_zOeh=ECq1)J#eKC_c%c;wRq1CL z>bpIRrK&0FqDxA}<=qlEQrsMm7Mp^GLV!2Ng^^v}lmm<&G+PKM2 z9+P&OS8@!GAq>%fC=m*}*Ga!={LHu6iK(+V*|@!bSJSs^+2l)&z6)Pi{KVPYwS|;e z0+RASunse560#iDDjAhs%U&)z=jWDhB@kd!~9L^R&&Ybld*XY$E zj)h&X=yy|RYh2%#tV;1u6CGFWZ8y|N+>VXhz@E^+W9%~*JsaaB8#4gMmy*H1^?b`x zm3$t5J4cwYpIB=$JF?wa&SjuWPa&XyW)Jti6s zbQ-l#YvEVPEcvt0xgGc^H`&z=EZ33M9*3HZ56T1Fftv3|f5s-)@e=)k%W2{e{oR1} zjP(kDww%p`yCE8o$*108)ID;LgLg3U<(~+Da1tm&Kdt5fa8k@x5k0W7a?q7KWh0o4 zbLkHOOv6{$NQKwwB_ORlq8wrLi62pIrAU}cZz0IYp>MF}wiD*tv!QdRcHhS(&Rd7M z77}Z1r}^*0!X|w-0CJGB7bdG|p3*sKwG3lBCT1)2?ZMRkD52d|n{>R2I7s+$ltZR} zw23}IIiQP*2>&L^;kGlz`nLWf$d4`?)}4b9C+n4%~)J~ z|9sOcd0;GXQlbv7tMOnZBiy1=d^uOY)+BgHtyY zSbZ6N4Op>D2XIouA2co@V<$U}x|a3+EK$^s3%7IZO}FsCc&?oh-}s?G0@cn1+54j( z`&O`ajH7ukX#_d3XZ%9aMDDdPV7d&Y0- zq)p2OlF~h`*iPO|?D5R_nP==bO5)ξ{#~ByCc4iJL^lrCOR)9aA!is}mjdg40@? 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

      tgyZmH|~RWm}<1J>U#(s`8KlQeGOOMs-CufGvX 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 OT#Z9o+Q8C~<9`5~Eouk= diff --git a/dev/api/JuMP.Containers/index.html b/dev/api/JuMP.Containers/index.html index 4cc1402f097..8450981d2b2 100644 --- a/dev/api/JuMP.Containers/index.html +++ b/dev/api/JuMP.Containers/index.html @@ -12,7 +12,7 @@ 3 4 julia> array[:b, 3] -4source

      DenseAxisArray{T}(undef, axes...) where T

      Construct an uninitialized DenseAxisArray with element-type T indexed over the given axes.

      Example

      julia> array = Containers.DenseAxisArray{Float64}(undef, [:a, :b], 1:2);
      +4
      source
      DenseAxisArray{T}(undef, axes...) where T

      Construct an uninitialized DenseAxisArray with element-type T indexed over the given axes.

      Example

      julia> array = Containers.DenseAxisArray{Float64}(undef, [:a, :b], 1:2);
       
       julia> fill!(array, 1.0)
       2-dimensional DenseAxisArray{Float64,2,...} with index sets:
      @@ -34,7 +34,7 @@
           Dimension 2, 1:2
       And data, a 2×2 Matrix{Float64}:
        1.0  5.0
      - 1.0  1.0
      source

      SparseAxisArray

      SparseAxisArray

      JuMP.Containers.SparseAxisArrayType
      struct SparseAxisArray{T,N,K<:NTuple{N, Any}} <: AbstractArray{T,N}
           data::OrderedCollections.OrderedDict{K,T}
       end

      N-dimensional array with elements of type T where only a subset of the entries are defined. The entries with indices idx = (i1, i2, ..., iN) in keys(data) has value data[idx].

      Note that, as opposed to SparseArrays.AbstractSparseArray, the missing entries are not assumed to be zero(T), they are simply not part of the array. This means that the result of map(f, sa::SparseAxisArray) or f.(sa::SparseAxisArray) has the same sparsity structure as sa, even if f(zero(T)) is not zero.

      Example

      julia> using OrderedCollections: OrderedDict
       
      @@ -51,7 +51,7 @@
         [b, 3]  =  3.0
       
       julia> array[:b, 3]
      -3.0
      source

      Containers.@container

      JuMP.Containers.@containerMacro
      @container([i=..., j=..., ...], expr[, container = :Auto])

      Create a container with indices i, j, ... and values given by expr that may depend on the value of the indices.

      @container(ref[i=..., j=..., ...], expr[, container = :Auto])

      Same as above but the container is assigned to the variable of name ref.

      The type of container can be controlled by the container keyword.

      Note

      When the index set is explicitly given as 1:n for any expression n, it is transformed to Base.OneTo(n) before being given to container.

      Example

      julia> Containers.@container([i = 1:3, j = 1:3], i + j)
      +3.0
      source

      Containers.@container

      JuMP.Containers.@containerMacro
      @container([i=..., j=..., ...], expr[, container = :Auto])

      Create a container with indices i, j, ... and values given by expr that may depend on the value of the indices.

      @container(ref[i=..., j=..., ...], expr[, container = :Auto])

      Same as above but the container is assigned to the variable of name ref.

      The type of container can be controlled by the container keyword.

      Note

      When the index set is explicitly given as 1:n for any expression n, it is transformed to Base.OneTo(n) before being given to container.

      Example

      julia> Containers.@container([i = 1:3, j = 1:3], i + j)
       3×3 Matrix{Int64}:
        2  3  4
        3  4  5
      @@ -86,7 +86,7 @@
         [1, 3]  =  4
         [2, 2]  =  4
         [2, 3]  =  5
      -  [3, 3]  =  6
      source

      Containers.container

      JuMP.Containers.containerFunction
      container(f::Function, indices[[, ::Type{C} = AutoContainerType], names])

      Create a container of type C with index names names, indices indices and values at given indices given by f.

      If the method with names is not specialized on Type{C}, it falls back to calling container(f, indices, c) for backwards compatibility with containers not supporting index names.

      Example

      julia> Containers.container((i, j) -> i + j, Containers.vectorized_product(Base.OneTo(3), Base.OneTo(3)))
      +  [3, 3]  =  6
      source

      Containers.container

      JuMP.Containers.containerFunction
      container(f::Function, indices[[, ::Type{C} = AutoContainerType], names])

      Create a container of type C with index names names, indices indices and values at given indices given by f.

      If the method with names is not specialized on Type{C}, it falls back to calling container(f, indices, c) for backwards compatibility with containers not supporting index names.

      Example

      julia> Containers.container((i, j) -> i + j, Containers.vectorized_product(Base.OneTo(3), Base.OneTo(3)))
       3×3 Matrix{Int64}:
        2  3  4
        3  4  5
      @@ -115,7 +115,7 @@
         [1, 2]  =  3
         [1, 3]  =  4
         [2, 3]  =  5
      -  [3, 3]  =  6
      source

      Containers.rowtable

      JuMP.Containers.rowtableFunction
      rowtable([f::Function=identity,] x; [header::Vector{Symbol} = Symbol[]])

      Applies the function f to all elements of the variable container x, returning the result as a Vector of NamedTuples, where header is a vector containing the corresponding axis names.

      If x is an N-dimensional array, there must be N+1 names, so that the last name corresponds to the result of f(x[i]).

      If header is left empty, then the default header is [:x1, :x2, ..., :xN, :y].

      Info

      A Vector of NamedTuples implements the Tables.jl interface, and so the result can be used as input for any function that consumes a 'Tables.jl' compatible source.

      Example

      julia> model = Model();
      +  [3, 3]  =  6
      source

      Containers.rowtable

      JuMP.Containers.rowtableFunction
      rowtable([f::Function=identity,] x; [header::Vector{Symbol} = Symbol[]])

      Applies the function f to all elements of the variable container x, returning the result as a Vector of NamedTuples, where header is a vector containing the corresponding axis names.

      If x is an N-dimensional array, there must be N+1 names, so that the last name corresponds to the result of f(x[i]).

      If header is left empty, then the default header is [:x1, :x2, ..., :xN, :y].

      Info

      A Vector of NamedTuples implements the Tables.jl interface, and so the result can be used as input for any function that consumes a 'Tables.jl' compatible source.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[i=1:2, j=i:2] >= 0, start = i+j);
       
      @@ -129,7 +129,7 @@
       3-element Vector{@NamedTuple{x1::Int64, x2::Int64, y::VariableRef}}:
        (x1 = 1, x2 = 1, y = x[1,1])
        (x1 = 1, x2 = 2, y = x[1,2])
      - (x1 = 2, x2 = 2, y = x[2,2])
      source

      Containers.default_container

      Containers.nested

      Containers.default_container

      Containers.nested

      JuMP.Containers.nestedFunction
      nested(iterators...; condition = (args...) -> true)

      Create a NestedIterator.

      Example

      julia> iterator = Containers.nested(
                  () -> 1:2,
                  (i,) -> ["A", "B"];
                  condition = (i, j) -> isodd(i) || j == "B",
      @@ -139,21 +139,21 @@
       3-element Vector{Tuple{Int64, String}}:
        (1, "A")
        (1, "B")
      - (2, "B")
      source

      Containers.vectorized_product

      Containers.vectorized_product

      Containers.build_error_fn

      JuMP.Containers.build_error_fnFunction
      build_error_fn(macro_name, args, source)

      Return a function that can be used in place of Base.error, but which additionally prints the macro from which it was called.

      source

      Containers.parse_macro_arguments

      Containers.build_error_fn

      JuMP.Containers.build_error_fnFunction
      build_error_fn(macro_name, args, source)

      Return a function that can be used in place of Base.error, but which additionally prints the macro from which it was called.

      source

      Containers.parse_macro_arguments

      JuMP.Containers.parse_macro_argumentsFunction
      parse_macro_arguments(
           error_fn::Function,
           args;
           valid_kwargs::Union{Nothing,Vector{Symbol}} = nothing,
           num_positional_args::Union{Nothing,Int,UnitRange{Int}} = nothing,
      -)

      Returns a Tuple{Vector{Any},Dict{Symbol,Any}} containing the ordered positional arguments and a dictionary mapping the keyword arguments.

      This specially handles the distinction of @foo(key = value) and @foo(; key = value) in macros.

      An error is thrown if multiple keyword arguments are passed with the same key.

      If valid_kwargs is a Vector{Symbol}, an error is thrown if a keyword is not in valid_kwargs.

      If num_positional_args is not nothing, an error is thrown if the number of positional arguments is not in num_positional_args.

      source

      Containers.parse_ref_sets

      JuMP.Containers.parse_ref_setsFunction
      parse_ref_sets(
      +)

      Returns a Tuple{Vector{Any},Dict{Symbol,Any}} containing the ordered positional arguments and a dictionary mapping the keyword arguments.

      This specially handles the distinction of @foo(key = value) and @foo(; key = value) in macros.

      An error is thrown if multiple keyword arguments are passed with the same key.

      If valid_kwargs is a Vector{Symbol}, an error is thrown if a keyword is not in valid_kwargs.

      If num_positional_args is not nothing, an error is thrown if the number of positional arguments is not in num_positional_args.

      source

      Containers.parse_ref_sets

      JuMP.Containers.parse_ref_setsFunction
      parse_ref_sets(
           error_fn::Function,
           expr;
           invalid_index_variables::Vector{Symbol} = Symbol[],
      -)

      Helper function for macros to construct container objects.

      Warning

      This function is for advanced users implementing JuMP extensions. See container_code for more details.

      Arguments

      • error_fn: a function that takes a String and throws an error, potentially annotating the input string with extra information such as from which macro it was thrown from. Use error if you do not want a modified error message.
      • expr: an Expr that specifies the container, for example, :(x[i = 1:3, [:red, :blue], k = S; i + k <= 6])

      Returns

      1. name: the name of the container, if given, otherwise nothing
      2. index_vars: a Vector{Any} of names for the index variables, for example, [:i, gensym(), :k]. These may also be expressions, like :((i, j)) from a call like :(x[(i, j) in S]).
      3. indices: an iterator over the indices, for example, Containers.NestedIterator

      Example

      See container_code for a worked example.

      source

      Containers.build_name_expr

      JuMP.Containers.build_name_exprFunction
      build_name_expr(
      +)

      Helper function for macros to construct container objects.

      Warning

      This function is for advanced users implementing JuMP extensions. See container_code for more details.

      Arguments

      • error_fn: a function that takes a String and throws an error, potentially annotating the input string with extra information such as from which macro it was thrown from. Use error if you do not want a modified error message.
      • expr: an Expr that specifies the container, for example, :(x[i = 1:3, [:red, :blue], k = S; i + k <= 6])

      Returns

      1. name: the name of the container, if given, otherwise nothing
      2. index_vars: a Vector{Any} of names for the index variables, for example, [:i, gensym(), :k]. These may also be expressions, like :((i, j)) from a call like :(x[(i, j) in S]).
      3. indices: an iterator over the indices, for example, Containers.NestedIterator

      Example

      See container_code for a worked example.

      source

      Containers.build_name_expr

      JuMP.Containers.build_name_exprFunction
      build_name_expr(
           name::Union{Symbol,Nothing},
           index_vars::Vector,
           kwargs::Dict{Symbol,Any},
      @@ -164,12 +164,12 @@
       ""
       
       julia> Containers.build_name_expr(:y, [:i, :j], Dict{Symbol,Any}(:base_name => "y"))
      -:(string("y", "[", string($(Expr(:escape, :i))), ",", string($(Expr(:escape, :j))), "]"))
      source

      Containers.add_additional_args

      Containers.add_additional_args

      JuMP.Containers.add_additional_argsFunction
      add_additional_args(
           call::Expr,
           args::Vector,
           kwargs::Dict{Symbol,Any};
           kwarg_exclude::Vector{Symbol} = Symbol[],
      -)

      Add the positional arguments args to the function call expression call, escaping each argument expression.

      This function is able to incorporate additional positional arguments to calls that already have keyword arguments.

      source

      Containers.container_code

      JuMP.Containers.container_codeFunction
      container_code(
      +)

      Add the positional arguments args to the function call expression call, escaping each argument expression.

      This function is able to incorporate additional positional arguments to calls that already have keyword arguments.

      source

      Containers.container_code

      JuMP.Containers.container_codeFunction
      container_code(
           index_vars::Vector{Any},
           indices::Expr,
           code,
      @@ -194,7 +194,7 @@
           Dimension 2, ["A", "B"]
       And data, a 2×2 Matrix{String}:
        "A"   "B"
      - "AA"  "BB"
      source

      Containers.AutoContainerType

      Containers.NestedIterator

      Containers.AutoContainerType

      Containers.NestedIterator

      JuMP.Containers.NestedIteratorType
      struct NestedIterator{T}
           iterators::T # Tuple of functions
           condition::Function
       end

      Iterators over the tuples that are produced by a nested for loop.

      Construct a NestedIterator using nested.

      Example

      julia> iterators = (() -> 1:2, (i,) -> ["A", "B"]);
      @@ -217,6 +217,6 @@
              end
       (1, "A")
       (1, "B")
      -(2, "B")
      source

      Containers.VectorizedProductIterator

      Containers.VectorizedProductIterator

      +end

      A wrapper type for Iterators.ProuctIterator that discards shape information and returns a Vector.

      Construct a VectorizedProductIterator using vectorized_product.

      source diff --git a/dev/api/JuMP/index.html b/dev/api/JuMP/index.html index 337f101feec..71ae257fdf9 100644 --- a/dev/api/JuMP/index.html +++ b/dev/api/JuMP/index.html @@ -15,7 +15,7 @@ julia> @build_constraint(x .>= 0) 2-element Vector{ScalarConstraint{AffExpr, MathOptInterface.GreaterThan{Float64}}}: ScalarConstraint{AffExpr, MathOptInterface.GreaterThan{Float64}}(x[1], MathOptInterface.GreaterThan{Float64}(-0.0)) - ScalarConstraint{AffExpr, MathOptInterface.GreaterThan{Float64}}(x[2], MathOptInterface.GreaterThan{Float64}(-0.0))source

      @constraint

      JuMP.@constraintMacro
      @constraint(model, expr, args...; kwargs...)
      + ScalarConstraint{AffExpr, MathOptInterface.GreaterThan{Float64}}(x[2], MathOptInterface.GreaterThan{Float64}(-0.0))
      source

      @constraint

      JuMP.@constraintMacro
      @constraint(model, expr, args...; kwargs...)
       @constraint(model, [index_sets...], expr, args...; kwargs...)
       @constraint(model, name, expr, args...; kwargs...)
       @constraint(model, name[index_sets...], expr, args...; kwargs...)

      Add a constraint described by the expression expr.

      The name argument is optional. If index sets are passed, a container is built and the constraint may depend on the indices of the index sets.

      The expression expr may be one of following forms:

      • func in set, constraining the function func to belong to the set set, which is either a MOI.AbstractSet or one of the JuMP shortcuts like SecondOrderCone or PSDCone

      • a <op> b, where <op> is one of ==, , >=, , <=

      • l <= f <= u or u >= f >= l, constraining the expression f to lie between l and u

      • f(x) ⟂ x, which defines a complementarity constraint

      • z --> {expr}, which defines an indicator constraint that activates when z is 1

      • !z --> {expr}, which defines an indicator constraint that activates when z is 0

      • z <--> {expr}, which defines a reified constraint

      • expr := rhs, which defines a Boolean equality constraint

      Broadcasted comparison operators like .== are also supported for the case when the left- and right-hand sides of the comparison operator are arrays.

      JuMP extensions may additionally provide support for constraint expressions which are not listed here.

      Keyword arguments

      • base_name: sets the name prefix used to generate constraint names. It corresponds to the constraint name for scalar constraints, otherwise, the constraint names are set to base_name[...] for each index ....

      • container = :Auto: force the container type by passing container = Array,

      container = DenseAxisArray, container = SparseAxisArray, or any another container type which is supported by a JuMP extension.

      • set_string_name::Bool = true: control whether to set the MOI.ConstraintName attribute. Passing set_string_name = false can improve performance.

      Other keyword arguments may be supported by JuMP extensions.

      Example

      julia> model = Model();
      @@ -52,7 +52,7 @@
       z --> {x[1] ≥ 0}
       
       julia> @constraint(model, !z --> {2 * x[2] <= 3})
      -!z --> {2 x[2] ≤ 3}
      source

      @constraints

      JuMP.@constraintsMacro
      @constraints(model, args...)

      Adds groups of constraints at once, in the same fashion as the @constraint macro.

      The model must be the first argument, and multiple constraints can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the constraints that were defined.

      Example

      julia> model = Model();
      +!z --> {2 x[2] ≤ 3}
      source

      @constraints

      JuMP.@constraintsMacro
      @constraints(model, args...)

      Adds groups of constraints at once, in the same fashion as the @constraint macro.

      The model must be the first argument, and multiple constraints can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the constraints that were defined.

      Example

      julia> model = Model();
       
       julia> @variable(model, w);
       
      @@ -75,7 +75,7 @@
        sum_to_one[2] : y + z[2] = 1
        sum_to_one[3] : y + z[3] = 1
        x ≥ 1
      - -w + y ≤ 2
      source

      @expression

      @expression

      JuMP.@expressionMacro
      @expression(model::GenericModel, expression)
       @expression(model::GenericModel, [index_sets...], expression)
       @expression(model::GenericModel, name, expression)
       @expression(model::GenericModel, name[index_sets...], expression)

      Efficiently builds and returns an expression.

      The name argument is optional. If index sets are passed, a container is built and the expression may depend on the indices of the index sets.

      Keyword arguments

      • container = :Auto: force the container type by passing container = Array, container = DenseAxisArray, container = SparseAxisArray, or any another container type which is supported by a JuMP extension.

      Example

      julia> model = Model();
      @@ -102,7 +102,7 @@
       3-element Vector{AffExpr}:
        x[1] + x[2] + x[3]
        2 x[1] + 2 x[2] + 2 x[3]
      - 3 x[1] + 3 x[2] + 3 x[3]
      source

      @expressions

      JuMP.@expressionsMacro
      @expressions(model, args...)

      Adds multiple expressions to model at once, in the same fashion as the @expression macro.

      The model must be the first argument, and multiple expressions can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the expressions that were defined.

      Example

      julia> model = Model();
      + 3 x[1] + 3 x[2] + 3 x[3]
      source

      @expressions

      JuMP.@expressionsMacro
      @expressions(model, args...)

      Adds multiple expressions to model at once, in the same fashion as the @expression macro.

      The model must be the first argument, and multiple expressions can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the expressions that were defined.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -116,7 +116,7 @@
                  my_expr, x^2 + y^2
                  my_expr_1[i = 1:2], a[i] - z[i]
              end)
      -(x² + y², AffExpr[-z[1] + 4, -z[2] + 5])
      source

      @force_nonlinear

      JuMP.@force_nonlinearMacro
      @force_nonlinear(expr)

      Change the parsing of expr to construct GenericNonlinearExpr instead of GenericAffExpr or GenericQuadExpr.

      This macro works by walking expr and substituting all calls to +, -, *, /, and ^ in favor of ones that construct GenericNonlinearExpr.

      This macro will error if the resulting expression does not produce a GenericNonlinearExpr because, for example, it is used on an expression that does not use the basic arithmetic operators.

      When to use this macro

      In most cases, you should not use this macro.

      Use this macro only if the intended output type is a GenericNonlinearExpr and the regular macro calls destroy problem structure, or in rare cases, if the regular macro calls introduce a large amount of intermediate variables, for example, because they promote types to a common quadratic expression.

      Example

      Use-case one: preserve problem structure.

      julia> model = Model();
      +(x² + y², AffExpr[-z[1] + 4, -z[2] + 5])
      source

      @force_nonlinear

      JuMP.@force_nonlinearMacro
      @force_nonlinear(expr)

      Change the parsing of expr to construct GenericNonlinearExpr instead of GenericAffExpr or GenericQuadExpr.

      This macro works by walking expr and substituting all calls to +, -, *, /, and ^ in favor of ones that construct GenericNonlinearExpr.

      This macro will error if the resulting expression does not produce a GenericNonlinearExpr because, for example, it is used on an expression that does not use the basic arithmetic operators.

      When to use this macro

      In most cases, you should not use this macro.

      Use this macro only if the intended output type is a GenericNonlinearExpr and the regular macro calls destroy problem structure, or in rare cases, if the regular macro calls introduce a large amount of intermediate variables, for example, because they promote types to a common quadratic expression.

      Example

      Use-case one: preserve problem structure.

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -144,7 +144,7 @@
       2640
       
       julia> @allocated @expression(model, @force_nonlinear(x * 2.0 * (1 + x) * x))
      -672
      source

      @objective

      JuMP.@objectiveMacro
      @objective(model::GenericModel, sense, func)

      Set the objective sense to sense and objective function to func.

      The objective sense can be either Min, Max, MOI.MIN_SENSE, MOI.MAX_SENSE or MOI.FEASIBILITY_SENSE. In order to set the sense programmatically, that is, when sense is a variable whose value is the sense, one of the three MOI.OptimizationSense values must be used.

      Example

      Minimize the value of the variable x, do:

      julia> model = Model();
      +672
      source

      @objective

      JuMP.@objectiveMacro
      @objective(model::GenericModel, sense, func)

      Set the objective sense to sense and objective function to func.

      The objective sense can be either Min, Max, MOI.MIN_SENSE, MOI.MAX_SENSE or MOI.FEASIBILITY_SENSE. In order to set the sense programmatically, that is, when sense is a variable whose value is the sense, one of the three MOI.OptimizationSense values must be used.

      Example

      Minimize the value of the variable x, do:

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -165,7 +165,7 @@
       MIN_SENSE::OptimizationSense = 0
       
       julia> @objective(model, sense, x^2 - 2x + 1)
      -x² - 2 x + 1
      source

      @operator

      JuMP.@operatorMacro
      @operator(model, operator, dim, f[, ∇f[, ∇²f]])

      Add the nonlinear operator operator in model with dim arguments, and create a new NonlinearOperator object called operator in the current scope.

      The function f evaluates the operator and must return a scalar.

      The optional function ∇f evaluates the first derivative, and the optional function ∇²f evaluates the second derivative.

      ∇²f may be provided only if ∇f is also provided.

      Univariate syntax

      If dim == 1, then the method signatures of each function must be:

      • f(::T)::T where {T<:Real}
      • ∇f(::T)::T where {T<:Real}
      • ∇²f(::T)::T where {T<:Real}

      Multivariate syntax

      If dim > 1, then the method signatures of each function must be:

      • f(x::T...)::T where {T<:Real}
      • ∇f(g::AbstractVector{T}, x::T...)::Nothing where {T<:Real}
      • ∇²f(H::AbstractMatrix{T}, x::T...)::Nothing where {T<:Real}

      Where the gradient vector g and Hessian matrix H are filled in-place. For the Hessian, you must fill in the non-zero lower-triangular entries only. Setting an off-diagonal upper-triangular element may error.

      Example

      julia> model = Model();
      +x² - 2 x + 1
      source

      @operator

      JuMP.@operatorMacro
      @operator(model, operator, dim, f[, ∇f[, ∇²f]])

      Add the nonlinear operator operator in model with dim arguments, and create a new NonlinearOperator object called operator in the current scope.

      The function f evaluates the operator and must return a scalar.

      The optional function ∇f evaluates the first derivative, and the optional function ∇²f evaluates the second derivative.

      ∇²f may be provided only if ∇f is also provided.

      Univariate syntax

      If dim == 1, then the method signatures of each function must be:

      • f(::T)::T where {T<:Real}
      • ∇f(::T)::T where {T<:Real}
      • ∇²f(::T)::T where {T<:Real}

      Multivariate syntax

      If dim > 1, then the method signatures of each function must be:

      • f(x::T...)::T where {T<:Real}
      • ∇f(g::AbstractVector{T}, x::T...)::Nothing where {T<:Real}
      • ∇²f(H::AbstractMatrix{T}, x::T...)::Nothing where {T<:Real}

      Where the gradient vector g and Hessian matrix H are filled in-place. For the Hessian, you must fill in the non-zero lower-triangular entries only. Setting an off-diagonal upper-triangular element may error.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -204,7 +204,7 @@
       f (generic function with 1 method)
       
       julia> op_f = model[:op_f] = add_nonlinear_operator(model, 1, f; name = :op_f)
      -NonlinearOperator(f, :op_f)
      source

      @variable

      JuMP.@variableMacro
      @variable(model, expr, args..., kw_args...)

      Add a variable to the model model described by the expression expr, the positional arguments args and the keyword arguments kw_args.

      Anonymous and named variables

      expr must be one of the forms:

      • Omitted, like @variable(model), which creates an anonymous variable
      • A single symbol like @variable(model, x)
      • A container expression like @variable(model, x[i=1:3])
      • An anonymous container expression like @variable(model, [i=1:3])

      Bounds

      In addition, the expression can have bounds, such as:

      • @variable(model, x >= 0)
      • @variable(model, x <= 0)
      • @variable(model, x == 0)
      • @variable(model, 0 <= x <= 1)

      and bounds can depend on the indices of the container expressions:

      • @variable(model, -i <= x[i=1:3] <= i)

      Sets

      You can explicitly specify the set to which the variable belongs:

      • @variable(model, x in MOI.Interval(0.0, 1.0))

      For more information on this syntax, read Variables constrained on creation.

      Positional arguments

      The recognized positional arguments in args are the following:

      • Bin: restricts the variable to the MOI.ZeroOne set, that is, {0, 1}. For example, @variable(model, x, Bin). Note: you cannot use @variable(model, Bin), use the binary keyword instead.
      • Int: restricts the variable to the set of integers, that is, ..., -2, -1, 0, 1, 2, ... For example, @variable(model, x, Int). Note: you cannot use @variable(model, Int), use the integer keyword instead.
      • Symmetric: Only available when creating a square matrix of variables, that is when expr is of the form varname[1:n,1:n] or varname[i=1:n,j=1:n], it creates a symmetric matrix of variables.
      • PSD: A restrictive extension to Symmetric which constraints a square matrix of variables to Symmetric and constrains to be positive semidefinite.

      Keyword arguments

      Four keyword arguments are useful in all cases:

      • base_name: Sets the name prefix used to generate variable names. It corresponds to the variable name for scalar variable, otherwise, the variable names are set to base_name[...] for each index ... of the axes axes.
      • start::Float64: specify the value passed to set_start_value for each variable
      • container: specify the container type. See Forcing the container type for more information.
      • set_string_name::Bool = true: control whether to set the MOI.VariableName attribute. Passing set_string_name = false can improve performance.

      Other keyword arguments are needed to disambiguate sitations with anonymous variables:

      • lower_bound::Float64: an alternative to x >= lb, sets the value of the variable lower bound.
      • upper_bound::Float64: an alternative to x <= ub, sets the value of the variable upper bound.
      • binary::Bool: an alternative to passing Bin, sets whether the variable is binary or not.
      • integer::Bool: an alternative to passing Int, sets whether the variable is integer or not.
      • set::MOI.AbstractSet: an alternative to using x in set
      • variable_type: used by JuMP extensions. See Extend @variable for more information.

      Example

      The following are equivalent ways of creating a variable x of name x with lower bound 0:

      julia> model = Model();
      +NonlinearOperator(f, :op_f)
      source

      @variable

      JuMP.@variableMacro
      @variable(model, expr, args..., kw_args...)

      Add a variable to the model model described by the expression expr, the positional arguments args and the keyword arguments kw_args.

      Anonymous and named variables

      expr must be one of the forms:

      • Omitted, like @variable(model), which creates an anonymous variable
      • A single symbol like @variable(model, x)
      • A container expression like @variable(model, x[i=1:3])
      • An anonymous container expression like @variable(model, [i=1:3])

      Bounds

      In addition, the expression can have bounds, such as:

      • @variable(model, x >= 0)
      • @variable(model, x <= 0)
      • @variable(model, x == 0)
      • @variable(model, 0 <= x <= 1)

      and bounds can depend on the indices of the container expressions:

      • @variable(model, -i <= x[i=1:3] <= i)

      Sets

      You can explicitly specify the set to which the variable belongs:

      • @variable(model, x in MOI.Interval(0.0, 1.0))

      For more information on this syntax, read Variables constrained on creation.

      Positional arguments

      The recognized positional arguments in args are the following:

      • Bin: restricts the variable to the MOI.ZeroOne set, that is, {0, 1}. For example, @variable(model, x, Bin). Note: you cannot use @variable(model, Bin), use the binary keyword instead.
      • Int: restricts the variable to the set of integers, that is, ..., -2, -1, 0, 1, 2, ... For example, @variable(model, x, Int). Note: you cannot use @variable(model, Int), use the integer keyword instead.
      • Symmetric: Only available when creating a square matrix of variables, that is when expr is of the form varname[1:n,1:n] or varname[i=1:n,j=1:n], it creates a symmetric matrix of variables.
      • PSD: A restrictive extension to Symmetric which constraints a square matrix of variables to Symmetric and constrains to be positive semidefinite.

      Keyword arguments

      Four keyword arguments are useful in all cases:

      • base_name: Sets the name prefix used to generate variable names. It corresponds to the variable name for scalar variable, otherwise, the variable names are set to base_name[...] for each index ... of the axes axes.
      • start::Float64: specify the value passed to set_start_value for each variable
      • container: specify the container type. See Forcing the container type for more information.
      • set_string_name::Bool = true: control whether to set the MOI.VariableName attribute. Passing set_string_name = false can improve performance.

      Other keyword arguments are needed to disambiguate sitations with anonymous variables:

      • lower_bound::Float64: an alternative to x >= lb, sets the value of the variable lower bound.
      • upper_bound::Float64: an alternative to x <= ub, sets the value of the variable upper bound.
      • binary::Bool: an alternative to passing Bin, sets whether the variable is binary or not.
      • integer::Bool: an alternative to passing Int, sets whether the variable is integer or not.
      • set::MOI.AbstractSet: an alternative to using x in set
      • variable_type: used by JuMP extensions. See Extend @variable for more information.

      Example

      The following are equivalent ways of creating a variable x of name x with lower bound 0:

      julia> model = Model();
       
       julia> @variable(model, x >= 0)
       x
      julia> model = Model();
      @@ -233,14 +233,14 @@
       3-element Vector{VariableRef}:
        _[7]
        _[8]
      - _[9]
      source

      @variables

      JuMP.@variablesMacro
      @variables(model, args...)

      Adds multiple variables to model at once, in the same fashion as the @variable macro.

      The model must be the first argument, and multiple variables can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the variables that were defined.

      Example

      julia> model = Model();
      + _[9]
      source

      @variables

      JuMP.@variablesMacro
      @variables(model, args...)

      Adds multiple variables to model at once, in the same fashion as the @variable macro.

      The model must be the first argument, and multiple variables can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the variables that were defined.

      Example

      julia> model = Model();
       
       julia> @variables(model, begin
                  x
                  y[i = 1:2] >= 0, (start = i)
                  z, Bin, (start = 0, base_name = "Z")
              end)
      -(x, VariableRef[y[1], y[2]], Z)
      Note

      Keyword arguments must be contained within parentheses (refer to the example above).

      source

      add_bridge

      JuMP.add_bridgeFunction
      add_bridge(
      +(x, VariableRef[y[1], y[2]], Z)
      Note

      Keyword arguments must be contained within parentheses (refer to the example above).

      source

      add_bridge

      JuMP.add_bridgeFunction
      add_bridge(
           model::GenericModel{T},
           BT::Type{<:MOI.Bridges.AbstractBridge};
           coefficient_type::Type{S} = T,
      @@ -252,11 +252,11 @@
                  model,
                  MOI.Bridges.Constraint.NumberConversionBridge;
                  coefficient_type = Complex{Float64}
      -       )
      source

      add_constraint

      add_constraint

      JuMP.add_constraintFunction
      add_constraint(
           model::GenericModel,
           con::AbstractConstraint,
           name::String= "",
      -)

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      add_nonlinear_operator

      JuMP.add_nonlinear_operatorFunction
      add_nonlinear_operator(
      +)

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      add_nonlinear_operator

      add_to_expression!

      JuMP.add_to_expression!Function
      add_to_expression!(expression, terms...)

      Updates expression in-place to expression + (*)(terms...).

      This is typically much more efficient than expression += (*)(terms...) because it avoids the temorary allocation of the right-hand side term.

      For example, add_to_expression!(expression, a, b) produces the same result as expression += a*b, and add_to_expression!(expression, a) produces the same result as expression += a.

      When to implement

      Only a few methods are defined, mostly for internal use, and only for the cases when:

      1. they can be implemented efficiently
      2. expression is capable of storing the result. For example, add_to_expression!(::AffExpr, ::GenericVariableRef, ::GenericVariableRef) is not defined because a GenericAffExpr cannot store the product of two variables.

      Example

      julia> model = Model();
      +4.0
      source

      add_to_expression!

      JuMP.add_to_expression!Function
      add_to_expression!(expression, terms...)

      Updates expression in-place to expression + (*)(terms...).

      This is typically much more efficient than expression += (*)(terms...) because it avoids the temorary allocation of the right-hand side term.

      For example, add_to_expression!(expression, a, b) produces the same result as expression += a*b, and add_to_expression!(expression, a) produces the same result as expression += a.

      When to implement

      Only a few methods are defined, mostly for internal use, and only for the cases when:

      1. they can be implemented efficiently
      2. expression is capable of storing the result. For example, add_to_expression!(::AffExpr, ::GenericVariableRef, ::GenericVariableRef) is not defined because a GenericAffExpr cannot store the product of two variables.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -316,7 +316,7 @@
       3 x[1] + 3 x[2]
       
       julia> ex2
      -2 x[1] + 2 x[2]
      source

      add_to_function_constant

      JuMP.add_to_function_constantFunction
      add_to_function_constant(constraint::ConstraintRef, value)

      Add value to the function constant term of constraint.

      Note that for scalar constraints, JuMP will aggregate all constant terms onto the right-hand side of the constraint so instead of modifying the function, the set will be translated by -value. For example, given a constraint 2x <= 3, add_to_function_constant(c, 4) will modify it to 2x <= -1.

      Example

      For scalar constraints, the set is translated by -value:

      julia> model = Model();
      +2 x[1] + 2 x[2]
      source

      add_to_function_constant

      JuMP.add_to_function_constantFunction
      add_to_function_constant(constraint::ConstraintRef, value)

      Add value to the function constant term of constraint.

      Note that for scalar constraints, JuMP will aggregate all constant terms onto the right-hand side of the constraint so instead of modifying the function, the set will be translated by -value. For example, given a constraint 2x <= 3, add_to_function_constant(c, 4) will modify it to 2x <= -1.

      Example

      For scalar constraints, the set is translated by -value:

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -338,7 +338,7 @@
       julia> add_to_function_constant(con, [1, 2, 2])
       
       julia> con
      -con : [x + y + 1, x + 2, y + 2] ∈ MathOptInterface.SecondOrderCone(3)
      source

      add_variable

      JuMP.add_variableFunction
      add_variable(m::GenericModel, v::AbstractVariable, name::String = "")

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      all_constraints

      JuMP.all_constraintsFunction
      all_constraints(model::GenericModel, function_type, set_type)::Vector{<:ConstraintRef}

      Return a list of all constraints currently in the model where the function has type function_type and the set has type set_type. The constraints are ordered by creation time.

      See also list_of_constraint_types and num_constraints.

      Example

      julia> model = Model();
      +con : [x + y + 1, x + 2, y + 2] ∈ MathOptInterface.SecondOrderCone(3)
      source

      add_variable

      JuMP.add_variableFunction
      add_variable(m::GenericModel, v::AbstractVariable, name::String = "")

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      all_constraints

      JuMP.all_constraintsFunction
      all_constraints(model::GenericModel, function_type, set_type)::Vector{<:ConstraintRef}

      Return a list of all constraints currently in the model where the function has type function_type and the set has type set_type. The constraints are ordered by creation time.

      See also list_of_constraint_types and num_constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0, Bin);
       
      @@ -354,7 +354,7 @@
       
       julia> all_constraints(model, AffExpr, MOI.LessThan{Float64})
       1-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:
      - 2 x ≤ 1
      source
      all_constraints(
      + 2 x ≤ 1
      source
      all_constraints(
           model::GenericModel;
           include_variable_in_set_constraints::Bool,
       )::Vector{ConstraintRef}

      Return a list of all constraints in model.

      If include_variable_in_set_constraints == true, then VariableRef constraints such as VariableRef-in-Integer are included. To return only the structural constraints (for example, the rows in the constraint matrix of a linear program), pass include_variable_in_set_constraints = false.

      Example

      julia> model = Model();
      @@ -375,7 +375,7 @@
       julia> all_constraints(model; include_variable_in_set_constraints = false)
       2-element Vector{ConstraintRef}:
        2 x ≤ 1
      - x ^ 2.0 - 1.0 ≤ 0

      Performance considerations

      Note that this function is type-unstable because it returns an abstractly typed vector. If performance is a problem, consider using list_of_constraint_types and a function barrier. See the Performance tips for extensions section of the documentation for more details.

      source

      all_variables

      JuMP.all_variablesFunction
      all_variables(model::GenericModel{T})::Vector{GenericVariableRef{T}} where {T}

      Returns a list of all variables currently in the model. The variables are ordered by creation time.

      Example

      julia> model = Model();
      + x ^ 2.0 - 1.0 ≤ 0

      Performance considerations

      Note that this function is type-unstable because it returns an abstractly typed vector. If performance is a problem, consider using list_of_constraint_types and a function barrier. See the Performance tips for extensions section of the documentation for more details.

      source

      all_variables

      JuMP.all_variablesFunction
      all_variables(model::GenericModel{T})::Vector{GenericVariableRef{T}} where {T}

      Returns a list of all variables currently in the model. The variables are ordered by creation time.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -384,12 +384,12 @@
       julia> all_variables(model)
       2-element Vector{VariableRef}:
        x
      - y
      source

      anonymous_name

      JuMP.anonymous_nameFunction
      anonymous_name(::MIME, x::AbstractVariableRef)

      The name to use for an anonymous variable x when printing.

      Example

      julia> model = Model();
      + y
      source

      anonymous_name

      JuMP.anonymous_nameFunction
      anonymous_name(::MIME, x::AbstractVariableRef)

      The name to use for an anonymous variable x when printing.

      Example

      julia> model = Model();
       
       julia> x = @variable(model);
       
       julia> anonymous_name(MIME("text/plain"), x)
      -"_[1]"
      source

      backend

      JuMP.backendFunction
      backend(model::GenericModel)

      Return the lower-level MathOptInterface model that sits underneath JuMP. This model depends on which operating mode JuMP is in (see mode).

      • If JuMP is in DIRECT mode (that is, the model was created using direct_model), the backend will be the optimizer passed to direct_model.
      • If JuMP is in MANUAL or AUTOMATIC mode, the backend is a MOI.Utilities.CachingOptimizer.

      Use index to get the index of a variable or constraint in the backend model.

      Warning

      This function should only be used by advanced users looking to access low-level MathOptInterface or solver-specific functionality.

      Notes

      If JuMP is not in DIRECT mode, the type returned by backend may change between any JuMP releases. Therefore, only use the public API exposed by MathOptInterface, and do not access internal fields. If you require access to the innermost optimizer, see unsafe_backend. Alternatively, use direct_model to create a JuMP model in DIRECT mode.

      See also: unsafe_backend.

      Example

      julia> import HiGHS
      +"_[1]"
      source

      backend

      JuMP.backendFunction
      backend(model::GenericModel)

      Return the lower-level MathOptInterface model that sits underneath JuMP. This model depends on which operating mode JuMP is in (see mode).

      • If JuMP is in DIRECT mode (that is, the model was created using direct_model), the backend will be the optimizer passed to direct_model.
      • If JuMP is in MANUAL or AUTOMATIC mode, the backend is a MOI.Utilities.CachingOptimizer.

      Use index to get the index of a variable or constraint in the backend model.

      Warning

      This function should only be used by advanced users looking to access low-level MathOptInterface or solver-specific functionality.

      Notes

      If JuMP is not in DIRECT mode, the type returned by backend may change between any JuMP releases. Therefore, only use the public API exposed by MathOptInterface, and do not access internal fields. If you require access to the innermost optimizer, see unsafe_backend. Alternatively, use direct_model to create a JuMP model in DIRECT mode.

      See also: unsafe_backend.

      Example

      julia> import HiGHS
       
       julia> model = direct_model(HiGHS.Optimizer());
       
      @@ -402,7 +402,7 @@
       A HiGHS model with 1 columns and 0 rows.
       
       julia> index(x)
      -MOI.VariableIndex(1)
      source

      barrier_iterations

      JuMP.barrier_iterationsFunction
      barrier_iterations(model::GenericModel)

      If available, returns the cumulative number of barrier iterations during the most-recent optimization (the MOI.BarrierIterations attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
      +MOI.VariableIndex(1)
      source

      barrier_iterations

      JuMP.barrier_iterationsFunction
      barrier_iterations(model::GenericModel)

      If available, returns the cumulative number of barrier iterations during the most-recent optimization (the MOI.BarrierIterations attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -411,7 +411,7 @@
       julia> optimize!(model)
       
       julia> barrier_iterations(model)
      -0
      source

      bridge_constraints

      JuMP.bridge_constraintsFunction
      bridge_constraints(model::GenericModel)

      When in direct mode, return false.

      When in manual or automatic mode, return a Bool indicating whether the optimizer is set and unsupported constraints are automatically bridged to equivalent supported constraints when an appropriate transformation is available.

      Example

      julia> import Ipopt
      +0
      source

      bridge_constraints

      JuMP.bridge_constraintsFunction
      bridge_constraints(model::GenericModel)

      When in direct mode, return false.

      When in manual or automatic mode, return a Bool indicating whether the optimizer is set and unsupported constraints are automatically bridged to equivalent supported constraints when an appropriate transformation is available.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -421,14 +421,14 @@
       julia> model = Model(Ipopt.Optimizer; add_bridges = false);
       
       julia> bridge_constraints(model)
      -false
      source

      build_constraint

      JuMP.build_constraintFunction
      build_constraint(error_fn::Function, func, set, args...; kwargs...)

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      build_variable

      build_constraint

      JuMP.build_constraintFunction
      build_constraint(error_fn::Function, func, set, args...; kwargs...)

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      build_variable

      JuMP.build_variableFunction
      build_variable(
           error_fn::Function,
           info::VariableInfo,
           args...;
           kwargs...,
       )

      Return a new AbstractVariable object.

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      Arguments

      • error_fn: a function to call instead of error. error_fn annotates the error message with additional information for the user.
      • info: an instance of VariableInfo. This has a variety of fields relating to the variable such as info.lower_bound and info.binary.
      • args: optional additional positional arguments for extending the @variable macro.
      • kwargs: optional keyword arguments for extending the @variable macro.

      See also: @variable

      Warning

      Extensions should define a method with ONE positional argument to dispatch the call to a different method. Creating an extension that relies on multiple positional arguments leads to MethodErrors if the user passes the arguments in the wrong order.

      Example

      @variable(model, x, Foo)

      will call

      build_variable(error_fn::Function, info::VariableInfo, ::Type{Foo})

      Passing special-case positional arguments such as Bin, Int, and PSD is okay, along with keyword arguments:

      @variable(model, x, Int, Foo(), mykwarg = true)
       # or
      -@variable(model, x, Foo(), Int, mykwarg = true)

      will call

      build_variable(error_fn::Function, info::VariableInfo, ::Foo; mykwarg)

      and info.integer will be true.

      Note that the order of the positional arguments does not matter.

      source

      callback_node_status

      JuMP.callback_node_statusFunction
      callback_node_status(cb_data, model::GenericModel)

      Return an MOI.CallbackNodeStatusCode enum, indicating if the current primal solution available from callback_value is integer feasible.

      Example

      julia> import GLPK
      +@variable(model, x, Foo(), Int, mykwarg = true)

      will call

      build_variable(error_fn::Function, info::VariableInfo, ::Foo; mykwarg)

      and info.integer will be true.

      Note that the order of the positional arguments does not matter.

      source

      callback_node_status

      JuMP.callback_node_statusFunction
      callback_node_status(cb_data, model::GenericModel)

      Return an MOI.CallbackNodeStatusCode enum, indicating if the current primal solution available from callback_value is integer feasible.

      Example

      julia> import GLPK
       
       julia> model = Model(GLPK.Optimizer);
       
      @@ -449,7 +449,7 @@
       Status is: CALLBACK_NODE_STATUS_UNKNOWN
       Status is: CALLBACK_NODE_STATUS_UNKNOWN
       Status is: CALLBACK_NODE_STATUS_INTEGER
      -Status is: CALLBACK_NODE_STATUS_INTEGER
      source

      callback_value

      JuMP.callback_valueFunction
      callback_value(cb_data, x::GenericVariableRef)
      +Status is: CALLBACK_NODE_STATUS_INTEGER
      source

      callback_value

      JuMP.callback_valueFunction
      callback_value(cb_data, x::GenericVariableRef)
       callback_value(cb_data, x::Union{GenericAffExpr,GenericQuadExpr})

      Return the primal solution of x inside a callback.

      cb_data is the argument to the callback function, and the type is dependent on the solver.

      Use callback_node_status to check whether a solution is available.

      Example

      julia> import GLPK
       
       julia> model = Model(GLPK.Optimizer);
      @@ -471,7 +471,7 @@
       
       julia> optimize!(model)
       Solution is: 10.0
      -Solution is: 10.0
      source

      check_belongs_to_model

      check_belongs_to_model

      JuMP.check_belongs_to_modelFunction
      check_belongs_to_model(x::AbstractJuMPScalar, model::AbstractModel)
       check_belongs_to_model(x::AbstractConstraint, model::AbstractModel)

      Throw VariableNotOwned if the owner_model of x is not model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
      @@ -483,7 +483,7 @@
       julia> check_belongs_to_model(x, model_2)
       ERROR: VariableNotOwned{VariableRef}(x): the variable x cannot be used in this model because
       it belongs to a different model.
      -[...]
      source

      coefficient

      JuMP.coefficientFunction
      coefficient(v1::GenericVariableRef{T}, v2::GenericVariableRef{T}) where {T}

      Return one(T) if v1 == v2 and zero(T) otherwise.

      This is a fallback for other coefficient methods to simplify code in which the expression may be a single variable.

      Example

      julia> model = Model();
      +[...]
      source

      coefficient

      JuMP.coefficientFunction
      coefficient(v1::GenericVariableRef{T}, v2::GenericVariableRef{T}) where {T}

      Return one(T) if v1 == v2 and zero(T) otherwise.

      This is a fallback for other coefficient methods to simplify code in which the expression may be a single variable.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -491,14 +491,14 @@
       1.0
       
       julia> coefficient(x[1], x[2])
      -0.0
      source
      coefficient(a::GenericAffExpr{C,V}, v::V) where {C,V}

      Return the coefficient associated with variable v in the affine expression a.

      Example

      julia> model = Model();
      +0.0
      source
      coefficient(a::GenericAffExpr{C,V}, v::V) where {C,V}

      Return the coefficient associated with variable v in the affine expression a.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> expr = 2.0 * x + 1.0;
       
       julia> coefficient(expr, x)
      -2.0
      source
      coefficient(a::GenericQuadExpr{C,V}, v1::V, v2::V) where {C,V}

      Return the coefficient associated with the term v1 * v2 in the quadratic expression a.

      Note that coefficient(a, v1, v2) is the same as coefficient(a, v2, v1).

      Example

      julia> model = Model();
      +2.0
      source
      coefficient(a::GenericQuadExpr{C,V}, v1::V, v2::V) where {C,V}

      Return the coefficient associated with the term v1 * v2 in the quadratic expression a.

      Note that coefficient(a, v1, v2) is the same as coefficient(a, v2, v1).

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -511,14 +511,14 @@
       2.0
       
       julia> coefficient(expr, x[1], x[1])
      -0.0
      source
      coefficient(a::GenericQuadExpr{C,V}, v::V) where {C,V}

      Return the coefficient associated with variable v in the affine component of a.

      Example

      julia> model = Model();
      +0.0
      source
      coefficient(a::GenericQuadExpr{C,V}, v::V) where {C,V}

      Return the coefficient associated with variable v in the affine component of a.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> expr = 2.0 * x^2 + 3.0 * x;
       
       julia> coefficient(expr, x)
      -3.0
      source

      compute_conflict!

      JuMP.compute_conflict!Function
      compute_conflict!(model::GenericModel)

      Compute a conflict if the model is infeasible.

      The conflict is also called the Irreducible Infeasible Subsystem (IIS).

      If an optimizer has not been set yet (see set_optimizer), a NoOptimizer error is thrown.

      The status of the conflict can be checked with the MOI.ConflictStatus model attribute. Then, the status for each constraint can be queried with the MOI.ConstraintConflictStatus attribute.

      See also: copy_conflict

      Example

      julia> using JuMP
      +3.0
      source

      compute_conflict!

      JuMP.compute_conflict!Function
      compute_conflict!(model::GenericModel)

      Compute a conflict if the model is infeasible.

      The conflict is also called the Irreducible Infeasible Subsystem (IIS).

      If an optimizer has not been set yet (see set_optimizer), a NoOptimizer error is thrown.

      The status of the conflict can be checked with the MOI.ConflictStatus model attribute. Then, the status for each constraint can be queried with the MOI.ConstraintConflictStatus attribute.

      See also: copy_conflict

      Example

      julia> using JuMP
       
       julia> model = Model(Gurobi.Optimizer);
       
      @@ -535,21 +535,21 @@
       julia> compute_conflict!(model)
       
       julia> get_attribute(model, MOI.ConflictStatus())
      -CONFLICT_FOUND::ConflictStatusCode = 3
      source

      constant

      JuMP.constantFunction
      constant(aff::GenericAffExpr{C,V})::C

      Return the constant of the affine expression.

      Example

      julia> model = Model();
      +CONFLICT_FOUND::ConflictStatusCode = 3
      source

      constant

      JuMP.constantFunction
      constant(aff::GenericAffExpr{C,V})::C

      Return the constant of the affine expression.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> aff = 2.0 * x + 3.0;
       
       julia> constant(aff)
      -3.0
      source
      constant(quad::GenericQuadExpr{C,V})::C

      Return the constant of the quadratic expression.

      Example

      julia> model = Model();
      +3.0
      source
      constant(quad::GenericQuadExpr{C,V})::C

      Return the constant of the quadratic expression.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> quad = 2.0 * x^2 + 3.0;
       
       julia> constant(quad)
      -3.0
      source

      constraint_by_name

      JuMP.constraint_by_nameFunction
      constraint_by_name(model::AbstractModel, name::String, [F, S])::Union{ConstraintRef,Nothing}

      Return the reference of the constraint with name attribute name or Nothing if no constraint has this name attribute.

      Throws an error if several constraints have name as their name attribute.

      If F and S are provided, this method addititionally throws an error if the constraint is not an F-in-S contraint where F is either the JuMP or MOI type of the function and S is the MOI type of the set.

      Providing F and S is recommended if you know the type of the function and set since its returned type can be inferred while for the method above (that is, without F and S), the exact return type of the constraint index cannot be inferred.

      Example

      julia> model = Model();
      +3.0
      source

      constraint_by_name

      JuMP.constraint_by_nameFunction
      constraint_by_name(model::AbstractModel, name::String, [F, S])::Union{ConstraintRef,Nothing}

      Return the reference of the constraint with name attribute name or Nothing if no constraint has this name attribute.

      Throws an error if several constraints have name as their name attribute.

      If F and S are provided, this method addititionally throws an error if the constraint is not an F-in-S contraint where F is either the JuMP or MOI type of the function and S is the MOI type of the set.

      Providing F and S is recommended if you know the type of the function and set since its returned type can be inferred while for the method above (that is, without F and S), the exact return type of the constraint index cannot be inferred.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -565,7 +565,7 @@
       julia> constraint_by_name(model, "con", AffExpr, MOI.EqualTo{Float64})
       
       julia> constraint_by_name(model, "con", QuadExpr, MOI.EqualTo{Float64})
      -con : x² = 1
      source

      constraint_object

      JuMP.constraint_objectFunction
      constraint_object(con_ref::ConstraintRef)

      Return the underlying constraint data for the constraint referenced by con_ref.

      Example

      A scalar constraint:

      julia> model = Model();
      +con : x² = 1
      source

      constraint_object

      JuMP.constraint_objectFunction
      constraint_object(con_ref::ConstraintRef)

      Return the underlying constraint data for the constraint referenced by con_ref.

      Example

      A scalar constraint:

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -602,7 +602,7 @@
        x[3]
       
       julia> object.set
      -MathOptInterface.SecondOrderCone(3)
      source

      constraint_ref_with_index

      JuMP.constraint_ref_with_indexFunction
      constraint_ref_with_index(model::AbstractModel, index::MOI.ConstraintIndex)

      Return a ConstraintRef of model corresponding to index.

      This function is a helper function used internally by JuMP and some JuMP extensions. It should not need to be called in user-code.

      source

      constraint_string

      constraint_ref_with_index

      JuMP.constraint_ref_with_indexFunction
      constraint_ref_with_index(model::AbstractModel, index::MOI.ConstraintIndex)

      Return a ConstraintRef of model corresponding to index.

      This function is a helper function used internally by JuMP and some JuMP extensions. It should not need to be called in user-code.

      source

      constraint_string

      JuMP.constraint_stringFunction
      constraint_string(
           mode::MIME,
           ref::ConstraintRef;
           in_math_mode::Bool = false,
      @@ -613,7 +613,7 @@
       julia> @constraint(model, c, 2 * x <= 1);
       
       julia> constraint_string(MIME("text/plain"), c)
      -"c : 2 x ≤ 1"
      source

      constraints_string

      JuMP.constraints_stringFunction
      constraints_string(mode, model::AbstractModel)::Vector{String}

      Return a list of Strings describing each constraint of the model.

      Example

      julia> model = Model();
      +"c : 2 x ≤ 1"
      source

      constraints_string

      JuMP.constraints_stringFunction
      constraints_string(mode, model::AbstractModel)::Vector{String}

      Return a list of Strings describing each constraint of the model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0);
       
      @@ -622,7 +622,7 @@
       julia> constraints_string(MIME("text/plain"), model)
       2-element Vector{String}:
        "c : 2 x ≤ 1"
      - "x ≥ 0"
      source

      copy_conflict

      JuMP.copy_conflictFunction
      copy_conflict(model::GenericModel)

      Return a copy of the current conflict for the model model and a GenericReferenceMap that can be used to obtain the variable and constraint reference of the new model corresponding to a given model's reference.

      This is a convenience function that provides a filtering function for copy_model.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and two constraints c1 and c2. This model has no solution, as the two constraints are mutually exclusive. The solver is asked to compute a conflict with compute_conflict!. The parts of model participating in the conflict are then copied into a model iis_model.

      julia> using JuMP
      + "x ≥ 0"
      source

      copy_conflict

      JuMP.copy_conflictFunction
      copy_conflict(model::GenericModel)

      Return a copy of the current conflict for the model model and a GenericReferenceMap that can be used to obtain the variable and constraint reference of the new model corresponding to a given model's reference.

      This is a convenience function that provides a filtering function for copy_model.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and two constraints c1 and c2. This model has no solution, as the two constraints are mutually exclusive. The solver is asked to compute a conflict with compute_conflict!. The parts of model participating in the conflict are then copied into a model iis_model.

      julia> using JuMP
       
       julia> import Gurobi
       
      @@ -650,7 +650,7 @@
       Feasibility
       Subject to
        c1 : x ≥ 2
      - c2 : x ≤ 1
      source

      copy_extension_data

      JuMP.copy_extension_dataFunction
      copy_extension_data(data, new_model::AbstractModel, model::AbstractModel)

      Return a copy of the extension data data of the model model to the extension data of the new model new_model.

      A method should be added for any JuMP extension storing data in the ext field.

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      Warning

      Do not engage in type piracy by implementing this method for types of data that you did not define! JuMP extensions should store types that they define in model.ext, rather than regular Julia types.

      source

      copy_model

      JuMP.copy_modelFunction
      copy_model(model::GenericModel; filter_constraints::Union{Nothing, Function}=nothing)

      Return a copy of the model model and a GenericReferenceMap that can be used to obtain the variable and constraint reference of the new model corresponding to a given model's reference. A Base.copy(::AbstractModel) method has also been implemented, it is similar to copy_model but does not return the reference map.

      If the filter_constraints argument is given, only the constraints for which this function returns true will be copied. This function is given a constraint reference as argument.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and a constraint cref. It is then copied into a model new_model with the new references assigned to x_new and cref_new.

      julia> model = Model();
      + c2 : x ≤ 1
      source

      copy_extension_data

      JuMP.copy_extension_dataFunction
      copy_extension_data(data, new_model::AbstractModel, model::AbstractModel)

      Return a copy of the extension data data of the model model to the extension data of the new model new_model.

      A method should be added for any JuMP extension storing data in the ext field.

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      Warning

      Do not engage in type piracy by implementing this method for types of data that you did not define! JuMP extensions should store types that they define in model.ext, rather than regular Julia types.

      source

      copy_model

      JuMP.copy_modelFunction
      copy_model(model::GenericModel; filter_constraints::Union{Nothing, Function}=nothing)

      Return a copy of the model model and a GenericReferenceMap that can be used to obtain the variable and constraint reference of the new model corresponding to a given model's reference. A Base.copy(::AbstractModel) method has also been implemented, it is similar to copy_model but does not return the reference map.

      If the filter_constraints argument is given, only the constraints for which this function returns true will be copied. This function is given a constraint reference as argument.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and a constraint cref. It is then copied into a model new_model with the new references assigned to x_new and cref_new.

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -664,7 +664,7 @@
       x
       
       julia> cref_new = reference_map[cref]
      -cref : x = 2
      source

      delete

      JuMP.deleteFunction
      delete(model::GenericModel, con_ref::ConstraintRef)

      Delete the constraint associated with constraint_ref from the model model.

      Note that delete does not unregister the name from the model, so adding a new constraint of the same name will throw an error. Use unregister to unregister the name after deletion.

      Example

      julia> model = Model();
      +cref : x = 2
      source

      delete

      JuMP.deleteFunction
      delete(model::GenericModel, con_ref::ConstraintRef)

      Delete the constraint associated with constraint_ref from the model model.

      Note that delete does not unregister the name from the model, so adding a new constraint of the same name will throw an error. Use unregister to unregister the name after deletion.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -682,7 +682,7 @@
       julia> model[:c]
       ERROR: KeyError: key :c not found
       Stacktrace:
      -[...]
      source
      delete(model::GenericModel, con_refs::Vector{<:ConstraintRef})

      Delete the constraints associated with con_refs from the model model.

      Solvers may implement specialized methods for deleting multiple constraints of the same concrete type. These methods may be more efficient than repeatedly calling the single constraint delete method.

      See also: unregister

      Example

      julia> model = Model();
      +[...]
      source
      delete(model::GenericModel, con_refs::Vector{<:ConstraintRef})

      Delete the constraints associated with con_refs from the model model.

      Solvers may implement specialized methods for deleting multiple constraints of the same concrete type. These methods may be more efficient than repeatedly calling the single constraint delete method.

      See also: unregister

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:3]);
       
      @@ -703,7 +703,7 @@
       julia> model[:c]
       ERROR: KeyError: key :c not found
       Stacktrace:
      -[...]
      source
      delete(model::GenericModel, variable_ref::GenericVariableRef)

      Delete the variable associated with variable_ref from the model model.

      Note that delete does not unregister the name from the model, so adding a new variable of the same name will throw an error. Use unregister to unregister the name after deletion.

      Example

      julia> model = Model();
      +[...]
      source
      delete(model::GenericModel, variable_ref::GenericVariableRef)

      Delete the variable associated with variable_ref from the model model.

      Note that delete does not unregister the name from the model, so adding a new variable of the same name will throw an error. Use unregister to unregister the name after deletion.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -719,7 +719,7 @@
       julia> model[:x]
       ERROR: KeyError: key :x not found
       Stacktrace:
      -[...]
      source
      delete(model::GenericModel, variable_refs::Vector{<:GenericVariableRef})

      Delete the variables associated with variable_refs from the model model. Solvers may implement methods for deleting multiple variables that are more efficient than repeatedly calling the single variable delete method.

      See also: unregister

      Example

      julia> model = Model();
      +[...]
      source
      delete(model::GenericModel, variable_refs::Vector{<:GenericVariableRef})

      Delete the variables associated with variable_refs from the model model. Solvers may implement methods for deleting multiple variables that are more efficient than repeatedly calling the single variable delete method.

      See also: unregister

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -734,7 +734,7 @@
       julia> model[:x]
       ERROR: KeyError: key :x not found
       Stacktrace:
      -[...]
      source

      delete_lower_bound

      delete_lower_bound

      delete_upper_bound

      delete_upper_bound

      direct_generic_model

      direct_generic_model

      JuMP.direct_generic_modelFunction
      direct_generic_model(
           value_type::Type{T},
           backend::MOI.ModelLike;
      -) where {T<:Real}

      Return a new JuMP model using backend to store the model and solve it.

      As opposed to the Model constructor, no cache of the model is stored outside of backend and no bridges are automatically applied to backend.

      Notes

      The absence of a cache reduces the memory footprint but, it is important to bear in mind the following implications of creating models using this direct mode:

      • When backend does not support an operation, such as modifying constraints or adding variables/constraints after solving, an error is thrown. For models created using the Model constructor, such situations can be dealt with by storing the modifications in a cache and loading them into the optimizer when optimize! is called.
      • No constraint bridging is supported by default.
      • The optimizer used cannot be changed the model is constructed.
      • The model created cannot be copied.
      source
      direct_generic_model(::Type{T}, factory::MOI.OptimizerWithAttributes)

      Create a direct_generic_model using factory, a MOI.OptimizerWithAttributes object created by optimizer_with_attributes.

      Example

      julia> import HiGHS
      +) where {T<:Real}

      Return a new JuMP model using backend to store the model and solve it.

      As opposed to the Model constructor, no cache of the model is stored outside of backend and no bridges are automatically applied to backend.

      Notes

      The absence of a cache reduces the memory footprint but, it is important to bear in mind the following implications of creating models using this direct mode:

      • When backend does not support an operation, such as modifying constraints or adding variables/constraints after solving, an error is thrown. For models created using the Model constructor, such situations can be dealt with by storing the modifications in a cache and loading them into the optimizer when optimize! is called.
      • No constraint bridging is supported by default.
      • The optimizer used cannot be changed the model is constructed.
      • The model created cannot be copied.
      source
      direct_generic_model(::Type{T}, factory::MOI.OptimizerWithAttributes)

      Create a direct_generic_model using factory, a MOI.OptimizerWithAttributes object created by optimizer_with_attributes.

      Example

      julia> import HiGHS
       
       julia> optimizer = optimizer_with_attributes(
                  HiGHS.Optimizer,
      @@ -785,7 +785,7 @@
       
       julia> set_attribute(model, "presolve", "off")
       
      -julia> set_attribute(model, MOI.Silent(), true)
      source

      direct_model

      JuMP.direct_modelFunction
      direct_model(backend::MOI.ModelLike)

      Return a new JuMP model using backend to store the model and solve it.

      As opposed to the Model constructor, no cache of the model is stored outside of backend and no bridges are automatically applied to backend.

      Notes

      The absence of a cache reduces the memory footprint but, it is important to bear in mind the following implications of creating models using this direct mode:

      • When backend does not support an operation, such as modifying constraints or adding variables/constraints after solving, an error is thrown. For models created using the Model constructor, such situations can be dealt with by storing the modifications in a cache and loading them into the optimizer when optimize! is called.
      • No constraint bridging is supported by default.
      • The optimizer used cannot be changed the model is constructed.
      • The model created cannot be copied.
      source
      direct_model(factory::MOI.OptimizerWithAttributes)

      Create a direct_model using factory, a MOI.OptimizerWithAttributes object created by optimizer_with_attributes.

      Example

      julia> import HiGHS
      +julia> set_attribute(model, MOI.Silent(), true)
      source

      direct_model

      JuMP.direct_modelFunction
      direct_model(backend::MOI.ModelLike)

      Return a new JuMP model using backend to store the model and solve it.

      As opposed to the Model constructor, no cache of the model is stored outside of backend and no bridges are automatically applied to backend.

      Notes

      The absence of a cache reduces the memory footprint but, it is important to bear in mind the following implications of creating models using this direct mode:

      • When backend does not support an operation, such as modifying constraints or adding variables/constraints after solving, an error is thrown. For models created using the Model constructor, such situations can be dealt with by storing the modifications in a cache and loading them into the optimizer when optimize! is called.
      • No constraint bridging is supported by default.
      • The optimizer used cannot be changed the model is constructed.
      • The model created cannot be copied.
      source
      direct_model(factory::MOI.OptimizerWithAttributes)

      Create a direct_model using factory, a MOI.OptimizerWithAttributes object created by optimizer_with_attributes.

      Example

      julia> import HiGHS
       
       julia> optimizer = optimizer_with_attributes(
                  HiGHS.Optimizer,
      @@ -813,7 +813,7 @@
       
       julia> set_attribute(model, "presolve", "off")
       
      -julia> set_attribute(model, MOI.Silent(), true)
      source

      drop_zeros!

      JuMP.drop_zeros!Function
      drop_zeros!(expr::GenericAffExpr)

      Remove terms in the affine expression with 0 coefficients.

      Example

      julia> model = Model();
      +julia> set_attribute(model, MOI.Silent(), true)
      source

      drop_zeros!

      JuMP.drop_zeros!Function
      drop_zeros!(expr::GenericAffExpr)

      Remove terms in the affine expression with 0 coefficients.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -825,7 +825,7 @@
       julia> drop_zeros!(expr)
       
       julia> expr
      -x[2]
      source
      drop_zeros!(expr::GenericQuadExpr)

      Remove terms in the quadratic expression with 0 coefficients.

      Example

      julia> model = Model();
      +x[2]
      source
      drop_zeros!(expr::GenericQuadExpr)

      Remove terms in the quadratic expression with 0 coefficients.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -837,7 +837,7 @@
       julia> drop_zeros!(expr)
       
       julia> expr
      -x[2]²
      source

      dual

      JuMP.dualFunction
      dual(con_ref::ConstraintRef; result::Int = 1)

      Return the dual value of constraint con_ref associated with result index result of the most-recent solution returned by the solver.

      Use has_duals to check if a result exists before asking for values.

      See also: result_count, shadow_price.

      Example

      julia> import HiGHS
      +x[2]²
      source

      dual

      JuMP.dualFunction
      dual(con_ref::ConstraintRef; result::Int = 1)

      Return the dual value of constraint con_ref associated with result index result of the most-recent solution returned by the solver.

      Use has_duals to check if a result exists before asking for values.

      See also: result_count, shadow_price.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -856,7 +856,7 @@
       true
       
       julia> dual(c)
      --2.0
      source

      dual_objective_value

      JuMP.dual_objective_valueFunction
      dual_objective_value(model::GenericModel; result::Int = 1)

      Return the value of the objective of the dual problem associated with result index result of the most-recent solution returned by the solver.

      Throws MOI.UnsupportedAttribute{MOI.DualObjectiveValue} if the solver does not support this attribute.

      This function is equivalent to querying the MOI.DualObjectiveValue attribute.

      See also: result_count.

      Example

      julia> import HiGHS
      +-2.0
      source

      dual_objective_value

      JuMP.dual_objective_valueFunction
      dual_objective_value(model::GenericModel; result::Int = 1)

      Return the value of the objective of the dual problem associated with result index result of the most-recent solution returned by the solver.

      Throws MOI.UnsupportedAttribute{MOI.DualObjectiveValue} if the solver does not support this attribute.

      This function is equivalent to querying the MOI.DualObjectiveValue attribute.

      See also: result_count.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -874,7 +874,7 @@
       julia> dual_objective_value(model; result = 2)
       ERROR: Result index of attribute MathOptInterface.DualObjectiveValue(2) out of bounds. There are currently 1 solution(s) in the model.
       Stacktrace:
      -[...]
      source

      dual_shape

      JuMP.dual_shapeFunction
      dual_shape(shape::AbstractShape)::AbstractShape

      Returns the shape of the dual space of the space of objects of shape shape. By default, the dual_shape of a shape is itself. See the examples section below for an example for which this is not the case.

      Example

      Consider polynomial constraints for which the dual is moment constraints and moment constraints for which the dual is polynomial constraints. Shapes for polynomials can be defined as follows:

      struct Polynomial
      +[...]
      source

      dual_shape

      JuMP.dual_shapeFunction
      dual_shape(shape::AbstractShape)::AbstractShape

      Returns the shape of the dual space of the space of objects of shape shape. By default, the dual_shape of a shape is itself. See the examples section below for an example for which this is not the case.

      Example

      Consider polynomial constraints for which the dual is moment constraints and moment constraints for which the dual is polynomial constraints. Shapes for polynomials can be defined as follows:

      struct Polynomial
           coefficients::Vector{Float64}
           monomials::Vector{Monomial}
       end
      @@ -889,7 +889,7 @@
           monomials::Vector{Monomial}
       end
       JuMP.reshape_vector(x::Vector, shape::MomentsShape) = Moments(x, shape.monomials)

      Then dual_shape allows the definition of the shape of the dual of polynomial and moment constraints:

      dual_shape(shape::PolynomialShape) = MomentsShape(shape.monomials)
      -dual_shape(shape::MomentsShape) = PolynomialShape(shape.monomials)
      source

      dual_start_value

      JuMP.dual_start_valueFunction
      dual_start_value(con_ref::ConstraintRef)

      Return the dual start value (MOI attribute ConstraintDualStart) of the constraint con_ref.

      If no dual start value has been set, dual_start_value will return nothing.

      See also set_dual_start_value.

      Example

      julia> model = Model();
      +dual_shape(shape::MomentsShape) = PolynomialShape(shape.monomials)
      source

      dual_start_value

      JuMP.dual_start_valueFunction
      dual_start_value(con_ref::ConstraintRef)

      Return the dual start value (MOI attribute ConstraintDualStart) of the constraint con_ref.

      If no dual start value has been set, dual_start_value will return nothing.

      See also set_dual_start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 2.0);
       
      @@ -904,19 +904,19 @@
       
       julia> set_dual_start_value(c, nothing)
       
      -julia> dual_start_value(c)
      source

      dual_status

      JuMP.dual_statusFunction
      dual_status(model::GenericModel; result::Int = 1)

      Return a MOI.ResultStatusCode describing the status of the most recent dual solution of the solver (that is, the MOI.DualStatus attribute) associated with the result index result.

      See also: result_count.

      Example

      julia> import Ipopt
      +julia> dual_start_value(c)
      source

      dual_status

      JuMP.dual_statusFunction
      dual_status(model::GenericModel; result::Int = 1)

      Return a MOI.ResultStatusCode describing the status of the most recent dual solution of the solver (that is, the MOI.DualStatus attribute) associated with the result index result.

      See also: result_count.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
       julia> dual_status(model; result = 2)
      -NO_SOLUTION::ResultStatusCode = 0
      source

      error_if_direct_mode

      JuMP.error_if_direct_modeFunction
      error_if_direct_mode(model::GenericModel, func::Symbol)

      Errors if model is in direct mode during a call from the function named func.

      Used internally within JuMP, or by JuMP extensions who do not want to support models in direct mode.

      Example

      julia> import HiGHS
      +NO_SOLUTION::ResultStatusCode = 0
      source

      error_if_direct_mode

      JuMP.error_if_direct_modeFunction
      error_if_direct_mode(model::GenericModel, func::Symbol)

      Errors if model is in direct mode during a call from the function named func.

      Used internally within JuMP, or by JuMP extensions who do not want to support models in direct mode.

      Example

      julia> import HiGHS
       
       julia> model = direct_model(HiGHS.Optimizer());
       
       julia> error_if_direct_mode(model, :foo)
       ERROR: The `foo` function is not supported in DIRECT mode.
       Stacktrace:
      -[...]
      source

      fix

      JuMP.fixFunction
      fix(v::GenericVariableRef, value::Number; force::Bool = false)

      Fix a variable to a value. Update the fixing constraint if one exists, otherwise create a new one.

      If the variable already has variable bounds and force=false, calling fix will throw an error. If force=true, existing variable bounds will be deleted, and the fixing constraint will be added. Note a variable will have no bounds after a call to unfix.

      See also FixRef, is_fixed, fix_value, unfix.

      Example

      julia> model = Model();
      +[...]
      source

      fix

      JuMP.fixFunction
      fix(v::GenericVariableRef, value::Number; force::Bool = false)

      Fix a variable to a value. Update the fixing constraint if one exists, otherwise create a new one.

      If the variable already has variable bounds and force=false, calling fix will throw an error. If force=true, existing variable bounds will be deleted, and the fixing constraint will be added. Note a variable will have no bounds after a call to unfix.

      See also FixRef, is_fixed, fix_value, unfix.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -936,7 +936,7 @@
       julia> fix(x, 1.0; force = true)
       
       julia> is_fixed(x)
      -true
      source

      fix_discrete_variables

      JuMP.fix_discrete_variablesFunction
      fix_discrete_variables([var_value::Function = value,] model::GenericModel)

      Modifies model to convert all binary and integer variables to continuous variables with fixed bounds of var_value(x).

      Return

      Returns a function that can be called without any arguments to restore the original model. The behavior of this function is undefined if additional changes are made to the affected variables in the meantime.

      Notes

      • An error is thrown if semi-continuous or semi-integer constraints are present (support may be added for these in the future).
      • All other constraints are ignored (left in place). This includes discrete constraints like SOS and indicator constraints.

      Example

      julia> model = Model();
      +true
      source

      fix_discrete_variables

      JuMP.fix_discrete_variablesFunction
      fix_discrete_variables([var_value::Function = value,] model::GenericModel)

      Modifies model to convert all binary and integer variables to continuous variables with fixed bounds of var_value(x).

      Return

      Returns a function that can be called without any arguments to restore the original model. The behavior of this function is undefined if additional changes are made to the affected variables in the meantime.

      Notes

      • An error is thrown if semi-continuous or semi-integer constraints are present (support may be added for these in the future).
      • All other constraints are ignored (left in place). This includes discrete constraints like SOS and indicator constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Bin, start = 1);
       
      @@ -960,12 +960,12 @@
        y ≥ 1
        y ≤ 10
        y integer
      - x binary
      source

      fix_value

      JuMP.fix_valueFunction
      fix_value(v::GenericVariableRef)

      Return the value to which a variable is fixed.

      Error if one does not exist.

      See also FixRef, is_fixed, fix, unfix.

      Example

      julia> model = Model();
      + x binary
      source

      fix_value

      JuMP.fix_valueFunction
      fix_value(v::GenericVariableRef)

      Return the value to which a variable is fixed.

      Error if one does not exist.

      See also FixRef, is_fixed, fix, unfix.

      Example

      julia> model = Model();
       
       julia> @variable(model, x == 1);
       
       julia> fix_value(x)
      -1.0
      source

      flatten!

      JuMP.flatten!Function
      flatten!(expr::GenericNonlinearExpr)

      Flatten a nonlinear expression in-place by lifting nested + and * nodes into a single n-ary operation.

      Motivation

      Nonlinear expressions created using operator overloading can be deeply nested and unbalanced. For example, prod(x for i in 1:4) creates *(x, *(x, *(x, x))) instead of the more preferable *(x, x, x, x).

      Example

      julia> model = Model();
      +1.0
      source

      flatten!

      JuMP.flatten!Function
      flatten!(expr::GenericNonlinearExpr)

      Flatten a nonlinear expression in-place by lifting nested + and * nodes into a single n-ary operation.

      Motivation

      Nonlinear expressions created using operator overloading can be deeply nested and unbalanced. For example, prod(x for i in 1:4) creates *(x, *(x, *(x, x))) instead of the more preferable *(x, x, x, x).

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -977,7 +977,7 @@
       (x²) * x * x
       
       julia> flatten!(sin(prod(x for i in 1:4)))
      -sin((x²) * x * x)
      source

      function_string

      function_string

      JuMP.function_stringFunction
      function_string(
           mode::MIME,
           func::Union{JuMP.AbstractJuMPScalar,Vector{<:JuMP.AbstractJuMPScalar}},
       )

      Return a String representing the function func using print mode mode.

      Example

      julia> model = Model();
      @@ -985,7 +985,7 @@
       julia> @variable(model, x);
       
       julia> function_string(MIME("text/plain"), 2 * x + 1)
      -"2 x + 1"
      source

      get_attribute

      get_attribute

      JuMP.get_attributeFunction
      get_attribute(model::GenericModel, attr::MOI.AbstractModelAttribute)
       get_attribute(x::GenericVariableRef, attr::MOI.AbstractVariableAttribute)
       get_attribute(cr::ConstraintRef, attr::MOI.AbstractConstraintAttribute)

      Get the value of a solver-specifc attribute attr.

      This is equivalent to calling MOI.get with the associated MOI model and, for variables and constraints, with the associated MOI.VariableIndex or MOI.ConstraintIndex.

      Example

      julia> model = Model();
       
      @@ -1002,7 +1002,7 @@
       "x"
       
       julia> get_attribute(c, MOI.ConstraintName())
      -"c"
      source
      get_attribute(
      +"c"
      source
      get_attribute(
           model::Union{GenericModel,MOI.OptimizerWithAttributes},
           attr::Union{AbstractString,MOI.AbstractOptimizerAttribute},
       )

      Get the value of a solver-specifc attribute attr.

      This is equivalent to calling MOI.get with the associated MOI model.

      If attr is an AbstractString, it is converted to MOI.RawOptimizerAttribute.

      Example

      julia> import HiGHS
      @@ -1021,7 +1021,7 @@
       true
       
       julia> get_attribute(opt, MOI.RawOptimizerAttribute("output_flag"))
      -true
      source

      has_duals

      JuMP.has_dualsFunction
      has_duals(model::GenericModel; result::Int = 1)

      Return true if the solver has a dual solution in result index result available to query, otherwise return false.

      See also dual, shadow_price, and result_count.

      Example

      julia> import HiGHS
      +true
      source

      has_duals

      JuMP.has_dualsFunction
      has_duals(model::GenericModel; result::Int = 1)

      Return true if the solver has a dual solution in result index result available to query, otherwise return false.

      See also dual, shadow_price, and result_count.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1040,12 +1040,12 @@
       julia> optimize!(model)
       
       julia> has_duals(model)
      -true
      source

      has_lower_bound

      has_lower_bound

      has_start_value

      has_start_value

      JuMP.has_start_valueFunction
      has_start_value(variable::AbstractVariableRef)

      Return true if the variable has a start value set, otherwise return false.

      See also: start_value, set_start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 1.5);
       
      @@ -1066,12 +1066,12 @@
       true
       
       julia> start_value(y)
      -2.0
      source

      has_upper_bound

      has_upper_bound

      has_values

      JuMP.has_valuesFunction
      has_values(model::GenericModel; result::Int = 1)

      Return true if the solver has a primal solution in result index result available to query, otherwise return false.

      See also value and result_count.

      Example

      julia> import HiGHS
      +true
      source

      has_values

      JuMP.has_valuesFunction
      has_values(model::GenericModel; result::Int = 1)

      Return true if the solver has a primal solution in result index result available to query, otherwise return false.

      See also value and result_count.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1090,25 +1090,25 @@
       julia> optimize!(model)
       
       julia> has_values(model)
      -true
      source

      in_set_string

      JuMP.in_set_stringFunction
      in_set_string(mode::MIME, set)

      Return a String representing the membership to the set set using print mode mode.

      Extensions

      JuMP extensions may extend this method for new set types to improve the legibility of their printing.

      Example

      julia> in_set_string(MIME("text/plain"), MOI.Interval(1.0, 2.0))
      -"∈ [1, 2]"
      source

      index

      JuMP.indexFunction
      index(cr::ConstraintRef)::MOI.ConstraintIndex

      Return the index of the constraint that corresponds to cr in the MOI backend.

      Example

      julia> model = Model();
      +true
      source

      in_set_string

      JuMP.in_set_stringFunction
      in_set_string(mode::MIME, set)

      Return a String representing the membership to the set set using print mode mode.

      Extensions

      JuMP extensions may extend this method for new set types to improve the legibility of their printing.

      Example

      julia> in_set_string(MIME("text/plain"), MOI.Interval(1.0, 2.0))
      +"∈ [1, 2]"
      source

      index

      JuMP.indexFunction
      index(cr::ConstraintRef)::MOI.ConstraintIndex

      Return the index of the constraint that corresponds to cr in the MOI backend.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> @constraint(model, c, x >= 0);
       
       julia> index(c)
      -MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.GreaterThan{Float64}}(1)
      source
      index(v::GenericVariableRef)::MOI.VariableIndex

      Return the index of the variable that corresponds to v in the MOI backend.

      Example

      julia> model = Model();
      +MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.GreaterThan{Float64}}(1)
      source
      index(v::GenericVariableRef)::MOI.VariableIndex

      Return the index of the variable that corresponds to v in the MOI backend.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> index(x)
      -MOI.VariableIndex(1)
      source

      is_binary

      is_binary

      is_fixed

      is_fixed

      JuMP.is_fixedFunction
      is_fixed(v::GenericVariableRef)

      Return true if v is a fixed variable. If true, the fixed value can be queried with fix_value.

      See also FixRef, fix_value, fix, unfix.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1118,7 +1118,7 @@
       julia> fix(x, 1.0)
       
       julia> is_fixed(x)
      -true
      source

      is_integer

      is_integer

      JuMP.is_integerFunction
      is_integer(v::GenericVariableRef)

      Return true if v is constrained to be integer.

      See also IntegerRef, set_integer, unset_integer.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1128,7 +1128,7 @@
       julia> set_integer(x)
       
       julia> is_integer(x)
      -true
      source

      is_parameter

      is_parameter

      is_solved_and_feasible

      is_solved_and_feasible

      JuMP.is_solved_and_feasibleFunction
      is_solved_and_feasible(
           model::GenericModel;
           allow_local::Bool = true,
           allow_almost::Bool = false,
      @@ -1151,7 +1151,7 @@
       julia> model = Model(Ipopt.Optimizer);
       
       julia> is_solved_and_feasible(model)
      -false
      source

      is_valid

      JuMP.is_validFunction
      is_valid(model::GenericModel, con_ref::ConstraintRef{<:AbstractModel})

      Return true if con_ref refers to a valid constraint in model.

      Example

      julia> model = Model();
      +false
      source

      is_valid

      JuMP.is_validFunction
      is_valid(model::GenericModel, con_ref::ConstraintRef{<:AbstractModel})

      Return true if con_ref refers to a valid constraint in model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1163,7 +1163,7 @@
       julia> model_2 = Model();
       
       julia> is_valid(model_2, c)
      -false
      source
      is_valid(model::GenericModel, variable_ref::GenericVariableRef)

      Return true if variable refers to a valid variable in model.

      Example

      julia> model = Model();
      +false
      source
      is_valid(model::GenericModel, variable_ref::GenericVariableRef)

      Return true if variable refers to a valid variable in model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1173,7 +1173,7 @@
       julia> model_2 = Model();
       
       julia> is_valid(model_2, x)
      -false
      source

      isequal_canonical

      isequal_canonical

      JuMP.isequal_canonicalFunction
      isequal_canonical(
           x::T,
           y::T
       ) where {T<:AbstractJuMPScalar,AbstractArray{<:AbstractJuMPScalar}}

      Return true if x is equal to y after dropping zeros and disregarding the order.

      This method is mainly useful for testing, because fallbacks like x == y do not account for valid mathematical comparisons like x[1] + 0 x[2] + 1 == x[1] + 1.

      Example

      julia> model = Model();
      @@ -1193,7 +1193,7 @@
       false
       
       julia> isequal_canonical(a, b)
      -true
      source

      jump_function

      JuMP.jump_functionFunction
      jump_function(model::AbstractModel, x::MOI.AbstractFunction)

      Given an MathOptInterface object x, return the JuMP equivalent.

      See also: moi_function.

      Example

      julia> model = Model();
      +true
      source

      jump_function

      JuMP.jump_functionFunction
      jump_function(model::AbstractModel, x::MOI.AbstractFunction)

      Given an MathOptInterface object x, return the JuMP equivalent.

      See also: moi_function.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1201,10 +1201,10 @@
       1.0 + 2.0 MOI.VariableIndex(1)
       
       julia> jump_function(model, f)
      -2 x + 1
      source

      jump_function_type

      JuMP.jump_function_typeFunction
      jump_function_type(model::AbstractModel, ::Type{T}) where {T}

      Given an MathOptInterface object type T, return the JuMP equivalent.

      See also: moi_function_type.

      Example

      julia> model = Model();
      +2 x + 1
      source

      jump_function_type

      JuMP.jump_function_typeFunction
      jump_function_type(model::AbstractModel, ::Type{T}) where {T}

      Given an MathOptInterface object type T, return the JuMP equivalent.

      See also: moi_function_type.

      Example

      julia> model = Model();
       
       julia> jump_function_type(model, MOI.ScalarAffineFunction{Float64})
      -AffExpr (alias for GenericAffExpr{Float64, GenericVariableRef{Float64}})
      source

      latex_formulation

      JuMP.latex_formulationFunction
      latex_formulation(model::AbstractModel)

      Wrap model in a type so that it can be pretty-printed as text/latex in a notebook like IJulia, or in Documenter.

      To render the model, end the cell with latex_formulation(model), or call display(latex_formulation(model)) in to force the display of the model from inside a function.

      source

      linear_terms

      JuMP.linear_termsFunction
      linear_terms(aff::GenericAffExpr{C,V})

      Provides an iterator over coefficient-variable tuples (a_i::C, x_i::V) in the linear part of the affine expression.

      source
      linear_terms(quad::GenericQuadExpr{C,V})

      Provides an iterator over tuples (coefficient::C, variable::V) in the linear part of the quadratic expression.

      source

      list_of_constraint_types

      JuMP.list_of_constraint_typesFunction
      list_of_constraint_types(model::GenericModel)::Vector{Tuple{Type,Type}}

      Return a list of tuples of the form (F, S) where F is a JuMP function type and S is an MOI set type such that all_constraints(model, F, S) returns a nonempty list.

      Example

      julia> model = Model();
      +AffExpr (alias for GenericAffExpr{Float64, GenericVariableRef{Float64}})
      source

      latex_formulation

      JuMP.latex_formulationFunction
      latex_formulation(model::AbstractModel)

      Wrap model in a type so that it can be pretty-printed as text/latex in a notebook like IJulia, or in Documenter.

      To render the model, end the cell with latex_formulation(model), or call display(latex_formulation(model)) in to force the display of the model from inside a function.

      source

      linear_terms

      JuMP.linear_termsFunction
      linear_terms(aff::GenericAffExpr{C,V})

      Provides an iterator over coefficient-variable tuples (a_i::C, x_i::V) in the linear part of the affine expression.

      source
      linear_terms(quad::GenericQuadExpr{C,V})

      Provides an iterator over tuples (coefficient::C, variable::V) in the linear part of the quadratic expression.

      source

      list_of_constraint_types

      JuMP.list_of_constraint_typesFunction
      list_of_constraint_types(model::GenericModel)::Vector{Tuple{Type,Type}}

      Return a list of tuples of the form (F, S) where F is a JuMP function type and S is an MOI set type such that all_constraints(model, F, S) returns a nonempty list.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0, Bin);
       
      @@ -1214,12 +1214,12 @@
       3-element Vector{Tuple{Type, Type}}:
        (AffExpr, MathOptInterface.LessThan{Float64})
        (VariableRef, MathOptInterface.GreaterThan{Float64})
      - (VariableRef, MathOptInterface.ZeroOne)

      Performance considerations

      Iterating over the list of function and set types is a type-unstable operation. Consider using a function barrier. See the Performance tips for extensions section of the documentation for more details.

      source

      lower_bound

      JuMP.lower_boundFunction
      lower_bound(v::GenericVariableRef)

      Return the lower bound of a variable. Error if one does not exist.

      See also LowerBoundRef, has_lower_bound, set_lower_bound, delete_lower_bound.

      Example

      julia> model = Model();
      + (VariableRef, MathOptInterface.ZeroOne)

      Performance considerations

      Iterating over the list of function and set types is a type-unstable operation. Consider using a function barrier. See the Performance tips for extensions section of the documentation for more details.

      source

      lower_bound

      lp_matrix_data

      JuMP.lp_matrix_dataFunction
      lp_matrix_data(model::GenericModel{T})

      Given a JuMP model of a linear program, return an LPMatrixData{T} struct storing data for an equivalent linear program in the form:

      \[\begin{aligned} +1.0

      source

      lp_matrix_data

      JuMP.lp_matrix_dataFunction
      lp_matrix_data(model::GenericModel{T})

      Given a JuMP model of a linear program, return an LPMatrixData{T} struct storing data for an equivalent linear program in the form:

      \[\begin{aligned} \min & c^\top x + c_0 \\ & b_l \le A x \le b_u \\ & x_l \le x \le x_u @@ -1264,7 +1264,7 @@ 0.0 julia> data.sense -MAX_SENSE::OptimizationSense = 1

      source

      lp_sensitivity_report

      JuMP.lp_sensitivity_reportFunction
      lp_sensitivity_report(model::GenericModel{T}; atol::T = Base.rtoldefault(T))::SensitivityReport{T} where {T}

      Given a linear program model with a current optimal basis, return a SensitivityReport object, which maps:

      • Every variable reference to a tuple (d_lo, d_hi)::Tuple{T,T}, explaining how much the objective coefficient of the corresponding variable can change by, such that the original basis remains optimal.
      • Every constraint reference to a tuple (d_lo, d_hi)::Tuple{T,T}, explaining how much the right-hand side of the corresponding constraint can change by, such that the basis remains optimal.

      Both tuples are relative, rather than absolute. So given a objective coefficient of 1.0 and a tuple (-0.5, 0.5), the objective coefficient can range between 1.0 - 0.5 an 1.0 + 0.5.

      atol is the primal/dual optimality tolerance, and should match the tolerance of the solver used to compute the basis.

      Note: interval constraints are NOT supported.

      Example

      julia> import HiGHS
      +MAX_SENSE::OptimizationSense = 1
      source

      lp_sensitivity_report

      JuMP.lp_sensitivity_reportFunction
      lp_sensitivity_report(model::GenericModel{T}; atol::T = Base.rtoldefault(T))::SensitivityReport{T} where {T}

      Given a linear program model with a current optimal basis, return a SensitivityReport object, which maps:

      • Every variable reference to a tuple (d_lo, d_hi)::Tuple{T,T}, explaining how much the objective coefficient of the corresponding variable can change by, such that the original basis remains optimal.
      • Every constraint reference to a tuple (d_lo, d_hi)::Tuple{T,T}, explaining how much the right-hand side of the corresponding constraint can change by, such that the basis remains optimal.

      Both tuples are relative, rather than absolute. So given a objective coefficient of 1.0 and a tuple (-0.5, 0.5), the objective coefficient can range between 1.0 - 0.5 an 1.0 + 0.5.

      atol is the primal/dual optimality tolerance, and should match the tolerance of the solver used to compute the basis.

      Note: interval constraints are NOT supported.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1296,7 +1296,7 @@
                  "The lower bound of `x` can decrease by $dRHS_lo or increase " *
                  "by $dRHS_hi."
              )
      -The lower bound of `x` can decrease by -Inf or increase by 3.0.
      source

      map_coefficients

      map_coefficients

      JuMP.map_coefficientsFunction
      map_coefficients(f::Function, a::GenericAffExpr)

      Apply f to the coefficients and constant term of an GenericAffExpr a and return a new expression.

      See also: map_coefficients_inplace!

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1307,7 +1307,7 @@
       2 x + 2
       
       julia> a
      -x + 1
      source
      map_coefficients(f::Function, a::GenericQuadExpr)

      Apply f to the coefficients and constant term of an GenericQuadExpr a and return a new expression.

      See also: map_coefficients_inplace!

      Example

      julia> model = Model();
      +x + 1
      source
      map_coefficients(f::Function, a::GenericQuadExpr)

      Apply f to the coefficients and constant term of an GenericQuadExpr a and return a new expression.

      See also: map_coefficients_inplace!

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1318,7 +1318,7 @@
       2 x² + 2 x + 2
       
       julia> a
      -x² + x + 1
      source

      map_coefficients_inplace!

      map_coefficients_inplace!

      JuMP.map_coefficients_inplace!Function
      map_coefficients_inplace!(f::Function, a::GenericAffExpr)

      Apply f to the coefficients and constant term of an GenericAffExpr a and update them in-place.

      See also: map_coefficients

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1329,7 +1329,7 @@
       2 x + 2
       
       julia> a
      -2 x + 2
      source
      map_coefficients_inplace!(f::Function, a::GenericQuadExpr)

      Apply f to the coefficients and constant term of an GenericQuadExpr a and update them in-place.

      See also: map_coefficients

      Example

      julia> model = Model();
      +2 x + 2
      source
      map_coefficients_inplace!(f::Function, a::GenericQuadExpr)

      Apply f to the coefficients and constant term of an GenericQuadExpr a and update them in-place.

      See also: map_coefficients

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1340,10 +1340,10 @@
       2 x² + 2 x + 2
       
       julia> a
      -2 x² + 2 x + 2
      source

      mode

      JuMP.modeFunction
      mode(model::GenericModel)

      Return the ModelMode of model.

      Example

      julia> model = Model();
      +2 x² + 2 x + 2
      source

      mode

      JuMP.modeFunction
      mode(model::GenericModel)

      Return the ModelMode of model.

      Example

      julia> model = Model();
       
       julia> mode(model)
      -AUTOMATIC::ModelMode = 0
      source

      model_convert

      model_convert

      JuMP.model_convertFunction
      model_convert(
           model::AbstractModel,
           rhs::Union{
               AbstractConstraint,
      @@ -1351,14 +1351,14 @@
               AbstractJuMPScalar,
               MOI.AbstractSet,
           },
      -)

      Convert the coefficients and constants of functions and sets in the rhs to the coefficient type value_type(typeof(model)).

      Purpose

      Creating and adding a constraint is a two-step process. The first step calls build_constraint, and the result of that is passed to add_constraint.

      However, because build_constraint does not take the model as an argument, the coefficients and constants of the function or set might be different than value_type(typeof(model)).

      Therefore, the result of build_constraint is converted in a call to model_convert before the result is passed to add_constraint.

      source

      model_string

      JuMP.model_stringFunction
      model_string(mode::MIME, model::AbstractModel)

      Return a String representation of model given the mode.

      Example

      julia> model = Model();
      +)

      Convert the coefficients and constants of functions and sets in the rhs to the coefficient type value_type(typeof(model)).

      Purpose

      Creating and adding a constraint is a two-step process. The first step calls build_constraint, and the result of that is passed to add_constraint.

      However, because build_constraint does not take the model as an argument, the coefficients and constants of the function or set might be different than value_type(typeof(model)).

      Therefore, the result of build_constraint is converted in a call to model_convert before the result is passed to add_constraint.

      source

      model_string

      JuMP.model_stringFunction
      model_string(mode::MIME, model::AbstractModel)

      Return a String representation of model given the mode.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0);
       
       julia> print(model_string(MIME("text/plain"), model))
       Feasibility
       Subject to
      - x ≥ 0
      source

      moi_function

      moi_function

      JuMP.moi_functionFunction
      moi_function(x::AbstractJuMPScalar)
       moi_function(x::AbstractArray{<:AbstractJuMPScalar})

      Given a JuMP object x, return the MathOptInterface equivalent.

      See also: jump_function.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
      @@ -1367,8 +1367,8 @@
       2 x + 1
       
       julia> moi_function(f)
      -1.0 + 2.0 MOI.VariableIndex(1)
      source

      moi_function_type

      JuMP.moi_function_typeFunction
      moi_function_type(::Type{T}) where {T}

      Given a JuMP object type T, return the MathOptInterface equivalent.

      See also: jump_function_type.

      Example

      julia> moi_function_type(AffExpr)
      -MathOptInterface.ScalarAffineFunction{Float64}
      source

      moi_set

      JuMP.moi_setFunction
      moi_set(constraint::AbstractConstraint)

      Return the set of the constraint constraint in the function-in-set form as a MathOptInterface.AbstractSet.

      moi_set(s::AbstractVectorSet, dim::Int)

      Returns the MOI set of dimension dim corresponding to the JuMP set s.

      moi_set(s::AbstractScalarSet)

      Returns the MOI set corresponding to the JuMP set s.

      source

      name

      JuMP.nameFunction
      name(con_ref::ConstraintRef)

      Get a constraint's name attribute.

      Example

      julia> model = Model();
      +1.0 + 2.0 MOI.VariableIndex(1)
      source

      moi_function_type

      JuMP.moi_function_typeFunction
      moi_function_type(::Type{T}) where {T}

      Given a JuMP object type T, return the MathOptInterface equivalent.

      See also: jump_function_type.

      Example

      julia> moi_function_type(AffExpr)
      +MathOptInterface.ScalarAffineFunction{Float64}
      source

      moi_set

      JuMP.moi_setFunction
      moi_set(constraint::AbstractConstraint)

      Return the set of the constraint constraint in the function-in-set form as a MathOptInterface.AbstractSet.

      moi_set(s::AbstractVectorSet, dim::Int)

      Returns the MOI set of dimension dim corresponding to the JuMP set s.

      moi_set(s::AbstractScalarSet)

      Returns the MOI set corresponding to the JuMP set s.

      source

      name

      JuMP.nameFunction
      name(con_ref::ConstraintRef)

      Get a constraint's name attribute.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1376,7 +1376,7 @@
       c : [2 x] ∈ Nonnegatives()
       
       julia> name(c)
      -"c"
      source
      name(v::GenericVariableRef)::String

      Get a variable's name attribute.

      Example

      julia> model = Model();
      +"c"
      source
      name(v::GenericVariableRef)::String

      Get a variable's name attribute.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2])
       2-element Vector{VariableRef}:
      @@ -1384,10 +1384,10 @@
        x[2]
       
       julia> name(x[1])
      -"x[1]"
      source
      name(model::AbstractModel)

      Return the MOI.Name attribute of model's backend, or a default if empty.

      Example

      julia> model = Model();
      +"x[1]"
      source
      name(model::AbstractModel)

      Return the MOI.Name attribute of model's backend, or a default if empty.

      Example

      julia> model = Model();
       
       julia> name(model)
      -"A JuMP Model"
      source

      node_count

      JuMP.node_countFunction
      node_count(model::GenericModel)

      If available, returns the total number of branch-and-bound nodes explored during the most recent optimization in a Mixed Integer Program (the MOI.NodeCount attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
      +"A JuMP Model"
      source

      node_count

      JuMP.node_countFunction
      node_count(model::GenericModel)

      If available, returns the total number of branch-and-bound nodes explored during the most recent optimization in a Mixed Integer Program (the MOI.NodeCount attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1396,7 +1396,7 @@
       julia> optimize!(model)
       
       julia> node_count(model)
      -0
      source

      normalized_coefficient

      normalized_coefficient

      JuMP.normalized_coefficientFunction
      normalized_coefficient(
           constraint::ConstraintRef,
           variable::GenericVariableRef,
       )

      Return the coefficient associated with variable in constraint after JuMP has normalized the constraint into its standard form.

      See also set_normalized_coefficient.

      Example

      julia> model = Model();
      @@ -1416,7 +1416,7 @@
       julia> normalized_coefficient(con_vec, x)
       2-element Vector{Tuple{Int64, Float64}}:
        (1, 1.0)
      - (2, 2.0)
      source
      normalized_coefficient(
      + (2, 2.0)
      source
      normalized_coefficient(
           constraint::ConstraintRef,
           variable_1::GenericVariableRef,
           variable_2::GenericVariableRef,
      @@ -1441,7 +1441,7 @@
        (1, 1.0)
       
       julia> normalized_coefficient(con_vec, x[1], x[2])
      -Tuple{Int64, Float64}[]
      source

      normalized_rhs

      JuMP.normalized_rhsFunction
      normalized_rhs(constraint::ConstraintRef)

      Return the right-hand side term of constraint after JuMP has converted the constraint into its normalized form.

      See also set_normalized_rhs.

      Example

      julia> model = Model();
      +Tuple{Int64, Float64}[]
      source

      normalized_rhs

      JuMP.normalized_rhsFunction
      normalized_rhs(constraint::ConstraintRef)

      Return the right-hand side term of constraint after JuMP has converted the constraint into its normalized form.

      See also set_normalized_rhs.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1449,7 +1449,7 @@
       con : 2 x ≤ 1
       
       julia> normalized_rhs(con)
      -1.0
      source

      num_constraints

      num_constraints

      JuMP.num_constraintsFunction
      num_constraints(model::GenericModel, function_type, set_type)::Int64

      Return the number of constraints currently in the model where the function has type function_type and the set has type set_type.

      See also list_of_constraint_types and all_constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0, Bin);
       
      @@ -1468,7 +1468,7 @@
       1
       
       julia> num_constraints(model, AffExpr, MOI.LessThan{Float64})
      -2
      source
      num_constraints(model::GenericModel; count_variable_in_set_constraints::Bool)

      Return the number of constraints in model.

      If count_variable_in_set_constraints == true, then VariableRef constraints such as VariableRef-in-Integer are included. To count only the number of structural constraints (for example, the rows in the constraint matrix of a linear program), pass count_variable_in_set_constraints = false.

      Example

      julia> model = Model();
      +2
      source
      num_constraints(model::GenericModel; count_variable_in_set_constraints::Bool)

      Return the number of constraints in model.

      If count_variable_in_set_constraints == true, then VariableRef constraints such as VariableRef-in-Integer are included. To count only the number of structural constraints (for example, the rows in the constraint matrix of a linear program), pass count_variable_in_set_constraints = false.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0, Int);
       
      @@ -1478,18 +1478,18 @@
       3
       
       julia> num_constraints(model; count_variable_in_set_constraints = false)
      -1
      source

      num_variables

      JuMP.num_variablesFunction
      num_variables(model::GenericModel)::Int64

      Returns number of variables in model.

      Example

      julia> model = Model();
      +1
      source

      num_variables

      JuMP.num_variablesFunction
      num_variables(model::GenericModel)::Int64

      Returns number of variables in model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
       julia> num_variables(model)
      -2
      source

      object_dictionary

      JuMP.object_dictionaryFunction
      object_dictionary(model::GenericModel)

      Return the dictionary that maps the symbol name of a variable, constraint, or expression to the corresponding object.

      Objects are registered to a specific symbol in the macros. For example, @variable(model, x[1:2, 1:2]) registers the array of variables x to the symbol :x.

      This method should be defined for any subtype of AbstractModel.

      See also: unregister.

      Example

      julia> model = Model();
      +2
      source

      object_dictionary

      JuMP.object_dictionaryFunction
      object_dictionary(model::GenericModel)

      Return the dictionary that maps the symbol name of a variable, constraint, or expression to the corresponding object.

      Objects are registered to a specific symbol in the macros. For example, @variable(model, x[1:2, 1:2]) registers the array of variables x to the symbol :x.

      This method should be defined for any subtype of AbstractModel.

      See also: unregister.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
       julia> object_dictionary(model)
       Dict{Symbol, Any} with 1 entry:
      -  :x => VariableRef[x[1], x[2]]
      source

      objective_bound

      JuMP.objective_boundFunction
      objective_bound(model::GenericModel)

      Return the best known bound on the optimal objective value after a call to optimize!(model).

      For scalar-valued objectives, this function returns a Float64. For vector-valued objectives, it returns a Vector{Float64}.

      In the case of a vector-valued objective, this returns the ideal point, that is, the point obtained if each objective was optimized independently.

      This function is equivalent to querying the MOI.ObjectiveBound attribute.

      Example

      julia> import HiGHS
      +  :x => VariableRef[x[1], x[2]]
      source

      objective_bound

      JuMP.objective_boundFunction
      objective_bound(model::GenericModel)

      Return the best known bound on the optimal objective value after a call to optimize!(model).

      For scalar-valued objectives, this function returns a Float64. For vector-valued objectives, it returns a Vector{Float64}.

      In the case of a vector-valued objective, this returns the ideal point, that is, the point obtained if each objective was optimized independently.

      This function is equivalent to querying the MOI.ObjectiveBound attribute.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1502,7 +1502,7 @@
       julia> optimize!(model)
       
       julia> objective_bound(model)
      -3.0
      source

      objective_function

      objective_function

      JuMP.objective_functionFunction
      objective_function(
           model::GenericModel,
           ::Type{F} = objective_function_type(model),
       ) where {F}

      Return an object of type F representing the objective function.

      Errors if the objective is not convertible to type F.

      This function is equivalent to querying the MOI.ObjectiveFunction{F} attribute.

      Example

      julia> model = Model();
      @@ -1522,21 +1522,21 @@
       julia> typeof(objective_function(model, QuadExpr))
       QuadExpr (alias for GenericQuadExpr{Float64, GenericVariableRef{Float64}})

      We see with the last two commands that even if the objective function is affine, as it is convertible to a quadratic function, it can be queried as a quadratic function and the result is quadratic.

      However, it is not convertible to a variable:

      julia> objective_function(model, VariableRef)
       ERROR: InexactError: convert(MathOptInterface.VariableIndex, 1.0 + 2.0 MOI.VariableIndex(1))
      -[...]
      source

      objective_function_string

      JuMP.objective_function_stringFunction
      objective_function_string(mode, model::AbstractModel)::String

      Return a String describing the objective function of the model.

      Example

      julia> model = Model();
      +[...]
      source

      objective_function_string

      JuMP.objective_function_stringFunction
      objective_function_string(mode, model::AbstractModel)::String

      Return a String describing the objective function of the model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> @objective(model, Min, 2 * x);
       
       julia> objective_function_string(MIME("text/plain"), model)
      -"2 x"
      source

      objective_function_type

      objective_function_type

      JuMP.objective_function_typeFunction
      objective_function_type(model::GenericModel)::AbstractJuMPScalar

      Return the type of the objective function.

      This function is equivalent to querying the MOI.ObjectiveFunctionType attribute.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> @objective(model, Min, 2 * x + 1);
       
       julia> objective_function_type(model)
      -AffExpr (alias for GenericAffExpr{Float64, GenericVariableRef{Float64}})
      source

      objective_sense

      JuMP.objective_senseFunction
      objective_sense(model::GenericModel)::MOI.OptimizationSense

      Return the objective sense.

      This function is equivalent to querying the MOI.ObjectiveSense attribute.

      Example

      julia> model = Model();
      +AffExpr (alias for GenericAffExpr{Float64, GenericVariableRef{Float64}})
      source

      objective_sense

      JuMP.objective_senseFunction
      objective_sense(model::GenericModel)::MOI.OptimizationSense

      Return the objective sense.

      This function is equivalent to querying the MOI.ObjectiveSense attribute.

      Example

      julia> model = Model();
       
       julia> objective_sense(model)
       FEASIBILITY_SENSE::OptimizationSense = 2
      @@ -1547,7 +1547,7 @@
       x
       
       julia> objective_sense(model)
      -MAX_SENSE::OptimizationSense = 1
      source

      objective_value

      JuMP.objective_valueFunction
      objective_value(model::GenericModel; result::Int = 1)

      Return the objective value associated with result index result of the most-recent solution returned by the solver.

      For scalar-valued objectives, this function returns a Float64. For vector-valued objectives, it returns a Vector{Float64}.

      This function is equivalent to querying the MOI.ObjectiveValue attribute.

      See also: result_count.

      Example

      julia> import HiGHS
      +MAX_SENSE::OptimizationSense = 1
      source

      objective_value

      JuMP.objective_valueFunction
      objective_value(model::GenericModel; result::Int = 1)

      Return the objective value associated with result index result of the most-recent solution returned by the solver.

      For scalar-valued objectives, this function returns a Float64. For vector-valued objectives, it returns a Vector{Float64}.

      This function is equivalent to querying the MOI.ObjectiveValue attribute.

      See also: result_count.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1565,7 +1565,7 @@
       julia> objective_value(model; result = 2)
       ERROR: Result index of attribute MathOptInterface.ObjectiveValue(2) out of bounds. There are currently 1 solution(s) in the model.
       Stacktrace:
      -[...]
      source

      op_ifelse

      JuMP.op_ifelseFunction
      op_ifelse(a, x, y)

      A function that falls back to ifelse(a, x, y), but when called with a JuMP variables or expression in the first argument, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
      +[...]
      source

      op_ifelse

      JuMP.op_ifelseFunction
      op_ifelse(a, x, y)

      A function that falls back to ifelse(a, x, y), but when called with a JuMP variables or expression in the first argument, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1576,14 +1576,14 @@
       ifelse(x, 1.0, 2.0)
       
       julia> op_ifelse(true, x, 2.0)
      -x
      source

      op_string

      JuMP.op_stringFunction
      op_string(mime::MIME, x::GenericNonlinearExpr, ::Val{op}) where {op}

      Return the string that should be printed for the operator op when function_string is called with mime and x.

      Example

      julia> model = Model();
      +x
      source

      op_string

      JuMP.op_stringFunction
      op_string(mime::MIME, x::GenericNonlinearExpr, ::Val{op}) where {op}

      Return the string that should be printed for the operator op when function_string is called with mime and x.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2], Bin);
       
       julia> f = @expression(model, x[1] || x[2]);
       
       julia> op_string(MIME("text/plain"), f, Val(:||))
      -"||"
      source

      operator_to_set

      JuMP.operator_to_setFunction
      operator_to_set(error_fn::Function, ::Val{sense_symbol})

      Converts a sense symbol to a set set such that @constraint(model, func sense_symbol 0) is equivalent to @constraint(model, func in set) for any func::AbstractJuMPScalar.

      Example

      Once a custom set is defined you can directly create a JuMP constraint with it:

      julia> struct CustomSet{T} <: MOI.AbstractScalarSet
      +"||"
      source

      operator_to_set

      JuMP.operator_to_setFunction
      operator_to_set(error_fn::Function, ::Val{sense_symbol})

      Converts a sense symbol to a set set such that @constraint(model, func sense_symbol 0) is equivalent to @constraint(model, func in set) for any func::AbstractJuMPScalar.

      Example

      Once a custom set is defined you can directly create a JuMP constraint with it:

      julia> struct CustomSet{T} <: MOI.AbstractScalarSet
                  value::T
              end
       
      @@ -1602,8 +1602,8 @@
       julia> MOIU.shift_constant(set::CustomSet, value) = CustomSet(set.value + value)
       
       julia> cref = @constraint(model, x ⊰ 1)
      -x ∈ CustomSet{Float64}(1.0)

      Note that the whole function is first moved to the right-hand side, then the sign is transformed into a set with zero constant and finally the constant is moved to the set with MOIU.shift_constant.

      source

      operator_warn

      JuMP.operator_warnFunction
      operator_warn(model::AbstractModel)
      -operator_warn(model::GenericModel)

      This function is called on the model whenever two affine expressions are added together without using destructive_add!, and at least one of the two expressions has more than 50 terms.

      For the case of Model, if this function is called more than 20,000 times then a warning is generated once.

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      optimize!

      JuMP.optimize!Function
      optimize!(
      +x ∈ CustomSet{Float64}(1.0)

      Note that the whole function is first moved to the right-hand side, then the sign is transformed into a set with zero constant and finally the constant is moved to the set with MOIU.shift_constant.

      source

      operator_warn

      JuMP.operator_warnFunction
      operator_warn(model::AbstractModel)
      +operator_warn(model::GenericModel)

      This function is called on the model whenever two affine expressions are added together without using destructive_add!, and at least one of the two expressions has more than 50 terms.

      For the case of Model, if this function is called more than 20,000 times then a warning is generated once.

      This method should only be implemented by developers creating JuMP extensions. It should never be called by users of JuMP.

      source

      optimize!

      JuMP.optimize!Function
      optimize!(
           model::GenericModel;
           ignore_optimize_hook = (model.optimize_hook === nothing),
           kwargs...,
      @@ -1623,7 +1623,7 @@
       my_optimize_hook (generic function with 1 method)
       
       julia> optimize!(model; foo = 2)
      -Hook called with foo = 2
      source

      optimizer_index

      optimizer_index

      JuMP.optimizer_indexFunction
      optimizer_index(x::GenericVariableRef)::MOI.VariableIndex
       optimizer_index(x::ConstraintRef{<:GenericModel})::MOI.ConstraintIndex

      Return the variable or constraint index that corresponds to x in the associated model unsafe_backend(owner_model(x)).

      This function should be used with unsafe_backend.

      As a safer alternative, use backend and index. See the docstrings of backend and unsafe_backend for more details.

      Throws

      • Throws NoOptimizer if no optimizer is set.
      • Throws an ErrorException if the optimizer is set but is not attached.
      • Throws an ErrorException if the index is bridged.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
      @@ -1639,7 +1639,7 @@
       A HiGHS model with 1 columns and 0 rows.
       
       julia> optimizer_index(x)
      -MOI.VariableIndex(1)
      source

      optimizer_with_attributes

      JuMP.optimizer_with_attributesFunction
      optimizer_with_attributes(optimizer_constructor, attrs::Pair...)

      Groups an optimizer constructor with the list of attributes attrs. Note that it is equivalent to MOI.OptimizerWithAttributes.

      When provided to the Model constructor or to set_optimizer, it creates an optimizer by calling optimizer_constructor(), and then sets the attributes using set_attribute.

      See also: set_attribute, get_attribute.

      Note

      The string names of the attributes are specific to each solver. One should consult the solver's documentation to find the attributes of interest.

      Example

      julia> import HiGHS
      +MOI.VariableIndex(1)
      source

      optimizer_with_attributes

      JuMP.optimizer_with_attributesFunction
      optimizer_with_attributes(optimizer_constructor, attrs::Pair...)

      Groups an optimizer constructor with the list of attributes attrs. Note that it is equivalent to MOI.OptimizerWithAttributes.

      When provided to the Model constructor or to set_optimizer, it creates an optimizer by calling optimizer_constructor(), and then sets the attributes using set_attribute.

      See also: set_attribute, get_attribute.

      Note

      The string names of the attributes are specific to each solver. One should consult the solver's documentation to find the attributes of interest.

      Example

      julia> import HiGHS
       
       julia> optimizer = optimizer_with_attributes(
                  HiGHS.Optimizer, "presolve" => "off", MOI.Silent() => true,
      @@ -1651,12 +1651,12 @@
       
       julia> set_attribute(model, "presolve", "off")
       
      -julia> set_attribute(model, MOI.Silent(), true)
      source

      owner_model

      JuMP.owner_modelFunction
      owner_model(s::AbstractJuMPScalar)

      Return the model owning the scalar s.

      Example

      julia> model = Model();
      +julia> set_attribute(model, MOI.Silent(), true)
      source

      owner_model

      JuMP.owner_modelFunction
      owner_model(s::AbstractJuMPScalar)

      Return the model owning the scalar s.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> owner_model(x) === model
      -true
      source

      parameter_value

      parameter_value

      JuMP.parameter_valueFunction
      parameter_value(x::GenericVariableRef)

      Return the value of the parameter x.

      Errors if x is not a parameter.

      See also ParameterRef, is_parameter, set_parameter_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, p in Parameter(2))
       p
      @@ -1667,23 +1667,23 @@
       julia> set_parameter_value(p, 2.5)
       
       julia> parameter_value(p)
      -2.5
      source

      parse_constraint

      JuMP.parse_constraintFunction
      parse_constraint(error_fn::Function, expr::Expr)

      The entry-point for all constraint-related parsing.

      Arguments

      • The error_fn function is passed everywhere to provide better error messages
      • expr comes from the @constraint macro. There are two possibilities:
        • @constraint(model, expr)
        • @constraint(model, name[args], expr)
        In both cases, expr is the main component of the constraint.

      Supported syntax

      JuMP currently supports the following expr objects:

      • lhs <= rhs
      • lhs == rhs
      • lhs >= rhs
      • l <= body <= u
      • u >= body >= l
      • lhs ⟂ rhs
      • lhs in rhs
      • lhs ∈ rhs
      • z --> {constraint}
      • !z --> {constraint}
      • z <--> {constraint}
      • !z <--> {constraint}
      • z => {constraint}
      • !z => {constraint}

      as well as all broadcasted variants.

      Extensions

      The infrastructure behind parse_constraint is extendable. See parse_constraint_head and parse_constraint_call for details.

      source

      parse_constraint_call

      parse_constraint

      JuMP.parse_constraintFunction
      parse_constraint(error_fn::Function, expr::Expr)

      The entry-point for all constraint-related parsing.

      Arguments

      • The error_fn function is passed everywhere to provide better error messages
      • expr comes from the @constraint macro. There are two possibilities:
        • @constraint(model, expr)
        • @constraint(model, name[args], expr)
        In both cases, expr is the main component of the constraint.

      Supported syntax

      JuMP currently supports the following expr objects:

      • lhs <= rhs
      • lhs == rhs
      • lhs >= rhs
      • l <= body <= u
      • u >= body >= l
      • lhs ⟂ rhs
      • lhs in rhs
      • lhs ∈ rhs
      • z --> {constraint}
      • !z --> {constraint}
      • z <--> {constraint}
      • !z <--> {constraint}
      • z => {constraint}
      • !z => {constraint}

      as well as all broadcasted variants.

      Extensions

      The infrastructure behind parse_constraint is extendable. See parse_constraint_head and parse_constraint_call for details.

      source

      parse_constraint_call

      JuMP.parse_constraint_callFunction
      parse_constraint_call(
           error_fn::Function,
           is_vectorized::Bool,
           ::Val{op},
           args...,
      -)

      Implement this method to intercept the parsing of a :call expression with operator op.

      Warning

      Extending the constraint macro at parse time is an advanced operation and has the potential to interfere with existing JuMP syntax. Please discuss with the developer chatroom before publishing any code that implements these methods.

      Arguments

      • error_fn: a function that accepts a String and throws the string as an error, along with some descriptive information of the macro from which it was thrown.
      • is_vectorized: a boolean to indicate if op should be broadcast or not
      • op: the first element of the .args field of the Expr to intercept
      • args...: the .args field of the Expr.

      Returns

      This function must return:

      • parse_code::Expr: an expression containing any setup or rewriting code that needs to be called before build_constraint
      • build_code::Expr: an expression that calls build_constraint( or build_constraint.( depending on is_vectorized.

      See also: parse_constraint_head, build_constraint

      source
      parse_constraint_call(
      +)

      Implement this method to intercept the parsing of a :call expression with operator op.

      Warning

      Extending the constraint macro at parse time is an advanced operation and has the potential to interfere with existing JuMP syntax. Please discuss with the developer chatroom before publishing any code that implements these methods.

      Arguments

      • error_fn: a function that accepts a String and throws the string as an error, along with some descriptive information of the macro from which it was thrown.
      • is_vectorized: a boolean to indicate if op should be broadcast or not
      • op: the first element of the .args field of the Expr to intercept
      • args...: the .args field of the Expr.

      Returns

      This function must return:

      • parse_code::Expr: an expression containing any setup or rewriting code that needs to be called before build_constraint
      • build_code::Expr: an expression that calls build_constraint( or build_constraint.( depending on is_vectorized.

      See also: parse_constraint_head, build_constraint

      source
      parse_constraint_call(
           error_fn::Function,
           vectorized::Bool,
           ::Val{op},
           lhs,
           rhs,
      -) where {op}

      Fallback handler for binary operators. These might be infix operators like @constraint(model, lhs op rhs), or normal operators like @constraint(model, op(lhs, rhs)).

      In both cases, we rewrite as lhs - rhs in operator_to_set(error_fn, op).

      See operator_to_set for details.

      source

      parse_constraint_head

      JuMP.parse_constraint_headFunction
      parse_constraint_head(error_fn::Function, ::Val{head}, args...)

      Implement this method to intercept the parsing of an expression with head head.

      Warning

      Extending the constraint macro at parse time is an advanced operation and has the potential to interfere with existing JuMP syntax. Please discuss with the developer chatroom before publishing any code that implements these methods.

      Arguments

      • error_fn: a function that accepts a String and throws the string as an error, along with some descriptive information of the macro from which it was thrown.
      • head: the .head field of the Expr to intercept
      • args...: the .args field of the Expr.

      Returns

      This function must return:

      • is_vectorized::Bool: whether the expression represents a broadcasted expression like x .<= 1
      • parse_code::Expr: an expression containing any setup or rewriting code that needs to be called before build_constraint
      • build_code::Expr: an expression that calls build_constraint( or build_constraint.( depending on is_vectorized.

      Existing implementations

      JuMP currently implements:

      • ::Val{:call}, which forwards calls to parse_constraint_call
      • ::Val{:comparison}, which handles the special case of l <= body <= u.

      See also: parse_constraint_call, build_constraint

      source

      parse_one_operator_variable

      JuMP.parse_one_operator_variableFunction
      parse_one_operator_variable(
      +) where {op}

      Fallback handler for binary operators. These might be infix operators like @constraint(model, lhs op rhs), or normal operators like @constraint(model, op(lhs, rhs)).

      In both cases, we rewrite as lhs - rhs in operator_to_set(error_fn, op).

      See operator_to_set for details.

      source

      parse_constraint_head

      JuMP.parse_constraint_headFunction
      parse_constraint_head(error_fn::Function, ::Val{head}, args...)

      Implement this method to intercept the parsing of an expression with head head.

      Warning

      Extending the constraint macro at parse time is an advanced operation and has the potential to interfere with existing JuMP syntax. Please discuss with the developer chatroom before publishing any code that implements these methods.

      Arguments

      • error_fn: a function that accepts a String and throws the string as an error, along with some descriptive information of the macro from which it was thrown.
      • head: the .head field of the Expr to intercept
      • args...: the .args field of the Expr.

      Returns

      This function must return:

      • is_vectorized::Bool: whether the expression represents a broadcasted expression like x .<= 1
      • parse_code::Expr: an expression containing any setup or rewriting code that needs to be called before build_constraint
      • build_code::Expr: an expression that calls build_constraint( or build_constraint.( depending on is_vectorized.

      Existing implementations

      JuMP currently implements:

      • ::Val{:call}, which forwards calls to parse_constraint_call
      • ::Val{:comparison}, which handles the special case of l <= body <= u.

      See also: parse_constraint_call, build_constraint

      source

      parse_one_operator_variable

      JuMP.parse_one_operator_variableFunction
      parse_one_operator_variable(
           error_fn::Function,
           info_expr::_VariableInfoExpr,
           sense::Val{S},
           value,
      -) where {S}

      Update infoexr for a variable expression in the @variable macro of the form variable name S value.

      source

      parse_ternary_variable

      JuMP.parse_ternary_variableFunction
      parse_ternary_variable(error_fn, info_expr, lhs_sense, lhs, rhs_sense, rhs)

      A hook for JuMP extensions to intercept the parsing of a :comparison expression, which has the form lhs lhs_sense variable rhs_sense rhs.

      source

      parse_variable

      JuMP.parse_variableFunction
      parse_variable(error_fn::Function, ::_VariableInfoExpr, args...)

      A hook for extensions to intercept the parsing of inequality constraints in the @variable macro.

      source

      primal_feasibility_report

      JuMP.primal_feasibility_reportFunction
      primal_feasibility_report(
      +) where {S}

      Update infoexr for a variable expression in the @variable macro of the form variable name S value.

      source

      parse_ternary_variable

      JuMP.parse_ternary_variableFunction
      parse_ternary_variable(error_fn, info_expr, lhs_sense, lhs, rhs_sense, rhs)

      A hook for JuMP extensions to intercept the parsing of a :comparison expression, which has the form lhs lhs_sense variable rhs_sense rhs.

      source

      parse_variable

      JuMP.parse_variableFunction
      parse_variable(error_fn::Function, ::_VariableInfoExpr, args...)

      A hook for extensions to intercept the parsing of inequality constraints in the @variable macro.

      source

      primal_feasibility_report

      JuMP.primal_feasibility_reportFunction
      primal_feasibility_report(
           model::GenericModel{T},
           point::AbstractDict{GenericVariableRef{T},T} = _last_primal_solution(model),
           atol::T = zero(T),
      @@ -1694,7 +1694,7 @@
       
       julia> primal_feasibility_report(model, Dict(x => 0.2))
       Dict{Any, Float64} with 1 entry:
      -  x ≥ 0.5 => 0.3
      source
      primal_feasibility_report(
      +  x ≥ 0.5 => 0.3
      source
      primal_feasibility_report(
           point::Function,
           model::GenericModel{T};
           atol::T = zero(T),
      @@ -1707,30 +1707,30 @@
                  return start_value(v)
              end
       Dict{Any, Float64} with 1 entry:
      -  x ≤ 1 => 0.3
      source

      primal_status

      primal_status

      JuMP.primal_statusFunction
      primal_status(model::GenericModel; result::Int = 1)

      Return a MOI.ResultStatusCode describing the status of the most recent primal solution of the solver (that is, the MOI.PrimalStatus attribute) associated with the result index result.

      See also: result_count.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
       julia> primal_status(model; result = 2)
      -NO_SOLUTION::ResultStatusCode = 0
      source
      JuMP.print_active_bridgesFunction
      print_active_bridges([io::IO = stdout,] model::GenericModel)

      Print a list of the variable, constraint, and objective bridges that are currently used in the model.

      source
      print_active_bridges([io::IO = stdout,] model::GenericModel, ::Type{F}) where {F}

      Print a list of bridges required for an objective function of type F.

      source
      print_active_bridges(
      +NO_SOLUTION::ResultStatusCode = 0
      source
      JuMP.print_active_bridgesFunction
      print_active_bridges([io::IO = stdout,] model::GenericModel)

      Print a list of the variable, constraint, and objective bridges that are currently used in the model.

      source
      print_active_bridges([io::IO = stdout,] model::GenericModel, ::Type{F}) where {F}

      Print a list of bridges required for an objective function of type F.

      source
      print_active_bridges(
           [io::IO = stdout,]
           model::GenericModel,
           F::Type,
           S::Type{<:MOI.AbstractSet},
      -)

      Print a list of bridges required for a constraint of type F-in-S.

      source
      print_active_bridges(
      +)

      Print a list of bridges required for a constraint of type F-in-S.

      source
      print_active_bridges(
           [io::IO = stdout,]
           model::GenericModel,
           S::Type{<:MOI.AbstractSet},
      -)

      Print a list of bridges required to add a variable constrained to the set S.

      source
      JuMP.print_bridge_graphFunction
       print_bridge_graph([io::IO,] model::GenericModel)

      Print the hyper-graph containing all variable, constraint, and objective types that could be obtained by bridging the variables, constraints, and objectives that are present in the model.

      Warning

      This function is intended for advanced users. If you want to see only the bridges that are currently used, use print_active_bridges instead.

      Explanation of output

      Each node in the hyper-graph corresponds to a variable, constraint, or objective type.

      • Variable nodes are indicated by [ ]
      • Constraint nodes are indicated by ( )
      • Objective nodes are indicated by | |

      The number inside each pair of brackets is an index of the node in the hyper-graph.

      Note that this hyper-graph is the full list of possible transformations. When the bridged model is created, we select the shortest hyper-path(s) from this graph, so many nodes may be un-used.

      For more information, see Legat, B., Dowson, O., Garcia, J., and Lubin, M. (2020). "MathOptInterface: a data structure for mathematical optimization problems." URL: https://arxiv.org/abs/2002.03447

      source

      quad_terms

      JuMP.quad_termsFunction
      quad_terms(quad::GenericQuadExpr{C,V})

      Provides an iterator over tuples (coefficient::C, var_1::V, var_2::V) in the quadratic part of the quadratic expression.

      source

      raw_status

      JuMP.raw_statusFunction
      raw_status(model::GenericModel)

      Return the reason why the solver stopped in its own words (that is, the MathOptInterface model attribute MOI.RawStatusString).

      Example

      julia> import Ipopt
      +)

      Print a list of bridges required to add a variable constrained to the set S.

      source
      JuMP.print_bridge_graphFunction
       print_bridge_graph([io::IO,] model::GenericModel)

      Print the hyper-graph containing all variable, constraint, and objective types that could be obtained by bridging the variables, constraints, and objectives that are present in the model.

      Warning

      This function is intended for advanced users. If you want to see only the bridges that are currently used, use print_active_bridges instead.

      Explanation of output

      Each node in the hyper-graph corresponds to a variable, constraint, or objective type.

      • Variable nodes are indicated by [ ]
      • Constraint nodes are indicated by ( )
      • Objective nodes are indicated by | |

      The number inside each pair of brackets is an index of the node in the hyper-graph.

      Note that this hyper-graph is the full list of possible transformations. When the bridged model is created, we select the shortest hyper-path(s) from this graph, so many nodes may be un-used.

      For more information, see Legat, B., Dowson, O., Garcia, J., and Lubin, M. (2020). "MathOptInterface: a data structure for mathematical optimization problems." URL: https://arxiv.org/abs/2002.03447

      source

      quad_terms

      JuMP.quad_termsFunction
      quad_terms(quad::GenericQuadExpr{C,V})

      Provides an iterator over tuples (coefficient::C, var_1::V, var_2::V) in the quadratic part of the quadratic expression.

      source

      raw_status

      JuMP.raw_statusFunction
      raw_status(model::GenericModel)

      Return the reason why the solver stopped in its own words (that is, the MathOptInterface model attribute MOI.RawStatusString).

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
       julia> raw_status(model)
      -"optimize not called"
      source

      read_from_file

      read_from_file

      JuMP.read_from_fileFunction
      read_from_file(
           filename::String;
           format::MOI.FileFormats.FileFormat = MOI.FileFormats.FORMAT_AUTOMATIC,
           kwargs...,
      -)

      Return a JuMP model read from filename in the format format.

      If the filename ends in .gz, it will be uncompressed using GZip. If the filename ends in .bz2, it will be uncompressed using BZip2.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      reduced_cost

      JuMP.reduced_costFunction
      reduced_cost(x::GenericVariableRef{T})::T where {T}

      Return the reduced cost associated with variable x.

      One interpretation of the reduced cost is that it is the change in the objective from an infinitesimal relaxation of the variable bounds.

      This method is equivalent to querying the shadow price of the active variable bound (if one exists and is active).

      See also: shadow_price.

      Example

      julia> import HiGHS
      +)

      Return a JuMP model read from filename in the format format.

      If the filename ends in .gz, it will be uncompressed using GZip. If the filename ends in .bz2, it will be uncompressed using BZip2.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      reduced_cost

      JuMP.reduced_costFunction
      reduced_cost(x::GenericVariableRef{T})::T where {T}

      Return the reduced cost associated with variable x.

      One interpretation of the reduced cost is that it is the change in the objective from an infinitesimal relaxation of the variable bounds.

      This method is equivalent to querying the shadow price of the active variable bound (if one exists and is active).

      See also: shadow_price.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1746,7 +1746,7 @@
       true
       
       julia> reduced_cost(x)
      -2.0
      source

      relative_gap

      JuMP.relative_gapFunction
      relative_gap(model::GenericModel)

      Return the final relative optimality gap after a call to optimize!(model).

      Exact value depends upon implementation of MOI.RelativeGap by the particular solver used for optimization.

      This function is equivalent to querying the MOI.RelativeGap attribute.

      Example

      julia> import HiGHS
      +2.0
      source

      relative_gap

      JuMP.relative_gapFunction
      relative_gap(model::GenericModel)

      Return the final relative optimality gap after a call to optimize!(model).

      Exact value depends upon implementation of MOI.RelativeGap by the particular solver used for optimization.

      This function is equivalent to querying the MOI.RelativeGap attribute.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -1759,7 +1759,7 @@
       julia> optimize!(model)
       
       julia> relative_gap(model)
      -0.0
      source

      relax_integrality

      JuMP.relax_integralityFunction
      relax_integrality(model::GenericModel)

      Modifies model to "relax" all binary and integrality constraints on variables. Specifically,

      • Binary constraints are deleted, and variable bounds are tightened if necessary to ensure the variable is constrained to the interval $[0, 1]$.
      • Integrality constraints are deleted without modifying variable bounds.
      • An error is thrown if semi-continuous or semi-integer constraints are present (support may be added for these in the future).
      • All other constraints are ignored (left in place). This includes discrete constraints like SOS and indicator constraints.

      Returns a function that can be called without any arguments to restore the original model. The behavior of this function is undefined if additional changes are made to the affected variables in the meantime.

      Example

      julia> model = Model();
      +0.0
      source

      relax_integrality

      JuMP.relax_integralityFunction
      relax_integrality(model::GenericModel)

      Modifies model to "relax" all binary and integrality constraints on variables. Specifically,

      • Binary constraints are deleted, and variable bounds are tightened if necessary to ensure the variable is constrained to the interval $[0, 1]$.
      • Integrality constraints are deleted without modifying variable bounds.
      • An error is thrown if semi-continuous or semi-integer constraints are present (support may be added for these in the future).
      • All other constraints are ignored (left in place). This includes discrete constraints like SOS and indicator constraints.

      Returns a function that can be called without any arguments to restore the original model. The behavior of this function is undefined if additional changes are made to the affected variables in the meantime.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Bin);
       
      @@ -1785,7 +1785,7 @@
        y ≥ 1
        y ≤ 10
        y integer
      - x binary
      source

      relax_with_penalty!

      relax_with_penalty!

      JuMP.relax_with_penalty!Function
      relax_with_penalty!(
           model::GenericModel{T},
           [penalties::Dict{ConstraintRef,T}];
           [default::Union{Nothing,Real} = nothing,]
      @@ -1828,7 +1828,7 @@
       Subject to
        c2 : 3 x + _[2] ≥ 0
        c1 : 2 x ≤ -1
      - _[2] ≥ 0
      source

      remove_bridge

      remove_bridge

      JuMP.remove_bridgeFunction
      remove_bridge(
           model::GenericModel{S},
           BT::Type{<:MOI.Bridges.AbstractBridge};
           coefficient_type::Type{T} = S,
      @@ -1848,17 +1848,17 @@
                  model,
                  MOI.Bridges.Constraint.NumberConversionBridge;
                  coefficient_type = Complex{Float64},
      -       )
      source

      reshape_set

      JuMP.reshape_setFunction
      reshape_set(vectorized_set::MOI.AbstractSet, shape::AbstractShape)

      Return a set in its original shape shape given its vectorized form vectorized_form.

      Example

      Given a SymmetricMatrixShape of vectorized form [1, 2, 3] in MOI.PositiveSemidefinieConeTriangle(2), the following code returns the set of the original constraint Symmetric(Matrix[1 2; 2 3]) in PSDCone():

      julia> reshape_set(MOI.PositiveSemidefiniteConeTriangle(2), SymmetricMatrixShape(2))
      -PSDCone()
      source

      reshape_vector

      JuMP.reshape_vectorFunction
      reshape_vector(vectorized_form::Vector, shape::AbstractShape)

      Return an object in its original shape shape given its vectorized form vectorized_form.

      Example

      Given a SymmetricMatrixShape of vectorized form [1, 2, 3], the following code returns the matrix Symmetric(Matrix[1 2; 2 3]):

      julia> reshape_vector([1, 2, 3], SymmetricMatrixShape(2))
      +       )
      source

      reshape_set

      JuMP.reshape_setFunction
      reshape_set(vectorized_set::MOI.AbstractSet, shape::AbstractShape)

      Return a set in its original shape shape given its vectorized form vectorized_form.

      Example

      Given a SymmetricMatrixShape of vectorized form [1, 2, 3] in MOI.PositiveSemidefinieConeTriangle(2), the following code returns the set of the original constraint Symmetric(Matrix[1 2; 2 3]) in PSDCone():

      julia> reshape_set(MOI.PositiveSemidefiniteConeTriangle(2), SymmetricMatrixShape(2))
      +PSDCone()
      source

      reshape_vector

      JuMP.reshape_vectorFunction
      reshape_vector(vectorized_form::Vector, shape::AbstractShape)

      Return an object in its original shape shape given its vectorized form vectorized_form.

      Example

      Given a SymmetricMatrixShape of vectorized form [1, 2, 3], the following code returns the matrix Symmetric(Matrix[1 2; 2 3]):

      julia> reshape_vector([1, 2, 3], SymmetricMatrixShape(2))
       2×2 LinearAlgebra.Symmetric{Int64, Matrix{Int64}}:
        1  2
      - 2  3
      source

      result_count

      JuMP.result_countFunction
      result_count(model::GenericModel)

      Return the number of results available to query after a call to optimize!.

      Example

      julia> import Ipopt
      + 2  3
      source

      result_count

      JuMP.result_countFunction
      result_count(model::GenericModel)

      Return the number of results available to query after a call to optimize!.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
       julia> result_count(model)
      -0
      source

      reverse_sense

      JuMP.reverse_senseFunction
      reverse_sense(::Val{T}) where {T}

      Given an (in)equality symbol T, return a new Val object with the opposite (in)equality symbol.

      This function is intended for use in JuMP extensions.

      Example

      julia> reverse_sense(Val(:>=))
      -Val{:<=}()
      source

      set_attribute

      reverse_sense

      JuMP.reverse_senseFunction
      reverse_sense(::Val{T}) where {T}

      Given an (in)equality symbol T, return a new Val object with the opposite (in)equality symbol.

      This function is intended for use in JuMP extensions.

      Example

      julia> reverse_sense(Val(:>=))
      +Val{:<=}()
      source

      set_attribute

      JuMP.set_attributeFunction
      set_attribute(model::GenericModel, attr::MOI.AbstractModelAttribute, value)
       set_attribute(x::GenericVariableRef, attr::MOI.AbstractVariableAttribute, value)
       set_attribute(cr::ConstraintRef, attr::MOI.AbstractConstraintAttribute, value)

      Set the value of a solver-specifc attribute attr to value.

      This is equivalent to calling MOI.set with the associated MOI model and, for variables and constraints, with the associated MOI.VariableIndex or MOI.ConstraintIndex.

      Example

      julia> model = Model();
       
      @@ -1872,7 +1872,7 @@
       
       julia> set_attribute(x, MOI.VariableName(), "x_new")
       
      -julia> set_attribute(c, MOI.ConstraintName(), "c_new")
      source
      set_attribute(
      +julia> set_attribute(c, MOI.ConstraintName(), "c_new")
      source
      set_attribute(
           model::Union{GenericModel,MOI.OptimizerWithAttributes},
           attr::Union{AbstractString,MOI.AbstractOptimizerAttribute},
           value,
      @@ -1888,7 +1888,7 @@
       
       julia> set_attribute(opt, "output_flag", true)
       
      -julia> set_attribute(opt, MOI.RawOptimizerAttribute("output_flag"), false)
      source

      set_attributes

      JuMP.set_attributesFunction
      set_attributes(
      +julia> set_attribute(opt, MOI.RawOptimizerAttribute("output_flag"), false)
      source

      set_attributes

      JuMP.set_attributesFunction
      set_attributes(
           destination::Union{
               GenericModel,
               MOI.OptimizerWithAttributes,
      @@ -1906,7 +1906,7 @@
       
       julia> set_attribute(model, "tol", 1e-4)
       
      -julia> set_attribute(model, "max_iter", 100)
      source

      set_binary

      JuMP.set_binaryFunction
      set_binary(v::GenericVariableRef)

      Add a constraint on the variable v that it must take values in the set $\{0,1\}$.

      See also BinaryRef, is_binary, unset_binary.

      Example

      julia> model = Model();
      +julia> set_attribute(model, "max_iter", 100)
      source

      set_binary

      JuMP.set_binaryFunction
      set_binary(v::GenericVariableRef)

      Add a constraint on the variable v that it must take values in the set $\{0,1\}$.

      See also BinaryRef, is_binary, unset_binary.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1916,7 +1916,7 @@
       julia> set_binary(x)
       
       julia> is_binary(x)
      -true
      source

      set_dual_start_value

      JuMP.set_dual_start_valueFunction
      set_dual_start_value(con_ref::ConstraintRef, value)

      Set the dual start value (MOI attribute ConstraintDualStart) of the constraint con_ref to value.

      To remove a dual start value set it to nothing.

      See also dual_start_value.

      Example

      julia> model = Model();
      +true
      source

      set_dual_start_value

      JuMP.set_dual_start_valueFunction
      set_dual_start_value(con_ref::ConstraintRef, value)

      Set the dual start value (MOI attribute ConstraintDualStart) of the constraint con_ref to value.

      To remove a dual start value set it to nothing.

      See also dual_start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 2.0);
       
      @@ -1931,7 +1931,7 @@
       
       julia> set_dual_start_value(c, nothing)
       
      -julia> dual_start_value(c)
      source

      set_integer

      set_integer

      JuMP.set_integerFunction
      set_integer(variable_ref::GenericVariableRef)

      Add an integrality constraint on the variable variable_ref.

      See also IntegerRef, is_integer, unset_integer.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1941,7 +1941,7 @@
       julia> set_integer(x)
       
       julia> is_integer(x)
      -true
      source

      set_lower_bound

      set_lower_bound

      set_name

      JuMP.set_nameFunction
      set_name(con_ref::ConstraintRef, s::AbstractString)

      Set a constraint's name attribute.

      Example

      julia> model = Model();
      +2.0
      source

      set_name

      JuMP.set_nameFunction
      set_name(con_ref::ConstraintRef, s::AbstractString)

      Set a constraint's name attribute.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -1964,7 +1964,7 @@
       "my_constraint"
       
       julia> c
      -my_constraint : [2 x] ∈ Nonnegatives()
      source
      set_name(v::GenericVariableRef, s::AbstractString)

      Set a variable's name attribute.

      Example

      julia> model = Model();
      +my_constraint : [2 x] ∈ Nonnegatives()
      source
      set_name(v::GenericVariableRef, s::AbstractString)

      Set a variable's name attribute.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -1975,7 +1975,7 @@
       x_foo
       
       julia> name(x)
      -"x_foo"
      source

      set_normalized_coefficient

      set_normalized_coefficient

      JuMP.set_normalized_coefficientFunction
      set_normalized_coefficient(
           constraint::ConstraintRef,
           variable::GenericVariableRef,
           value::Number,
      @@ -1990,7 +1990,7 @@
       julia> set_normalized_coefficient(con, x, 4)
       
       julia> con
      -con : 4 x ≤ 2
      source
      set_normalized_coefficient(
      +con : 4 x ≤ 2
      source
      set_normalized_coefficient(
           constraints::AbstractVector{<:ConstraintRef},
           variables::AbstractVector{<:GenericVariableRef},
           values::AbstractVector{<:Number},
      @@ -2008,7 +2008,7 @@
       julia> set_normalized_coefficient([con, con], [x, y], [6, 7])
       
       julia> con
      -con : 6 x + 7 y ≤ 2
      source
      set_normalized_coefficient(
      +con : 6 x + 7 y ≤ 2
      source
      set_normalized_coefficient(
           con_ref::ConstraintRef,
           variable::AbstractVariableRef,
           new_coefficients::Vector{Tuple{Int64,T}},
      @@ -2023,7 +2023,7 @@
       julia> set_normalized_coefficient(con, x, [(1, 2.0), (2, 5.0)])
       
       julia> con
      -con : [2 x, 5 x] ∈ MathOptInterface.Nonnegatives(2)
      source
      set_normalized_coefficient(
      +con : [2 x, 5 x] ∈ MathOptInterface.Nonnegatives(2)
      source
      set_normalized_coefficient(
           constraint::ConstraintRef,
           variable_1:GenericVariableRef,
           variable_2:GenericVariableRef,
      @@ -2040,7 +2040,7 @@
       julia> set_normalized_coefficient(con, x[1], x[2], 5)
       
       julia> con
      -con : 4 x[1]² + 5 x[1]*x[2] + x[2] ≤ 2
      source
      set_normalized_coefficient(
      +con : 4 x[1]² + 5 x[1]*x[2] + x[2] ≤ 2
      source
      set_normalized_coefficient(
           constraints::AbstractVector{<:ConstraintRef},
           variables_1:AbstractVector{<:GenericVariableRef},
           variables_2:AbstractVector{<:GenericVariableRef},
      @@ -2055,7 +2055,7 @@
       julia> set_normalized_coefficient([con, con], [x[1], x[1]], [x[1], x[2]], [4, 5])
       
       julia> con
      -con : 4 x[1]² + 5 x[1]*x[2] + x[2] ≤ 2
      source

      set_normalized_rhs

      JuMP.set_normalized_rhsFunction
      set_normalized_rhs(constraint::ConstraintRef, value::Number)

      Set the right-hand side term of constraint to value.

      Note that prior to this step, JuMP will aggregate all constant terms onto the right-hand side of the constraint. For example, given a constraint 2x + 1 <= 2, set_normalized_rhs(con, 4) will create the constraint 2x <= 4, not 2x + 1 <= 4.

      Example

      julia> model = Model();
      +con : 4 x[1]² + 5 x[1]*x[2] + x[2] ≤ 2
      source

      set_normalized_rhs

      JuMP.set_normalized_rhsFunction
      set_normalized_rhs(constraint::ConstraintRef, value::Number)

      Set the right-hand side term of constraint to value.

      Note that prior to this step, JuMP will aggregate all constant terms onto the right-hand side of the constraint. For example, given a constraint 2x + 1 <= 2, set_normalized_rhs(con, 4) will create the constraint 2x <= 4, not 2x + 1 <= 4.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -2065,7 +2065,7 @@
       julia> set_normalized_rhs(con, 4)
       
       julia> con
      -con : 2 x ≤ 4
      source
      set_normalized_rhs(
      +con : 2 x ≤ 4
      source
      set_normalized_rhs(
           constraints::AbstractVector{<:ConstraintRef},
           values::AbstractVector{<:Number}
       )

      Set the right-hand side terms of all constraints to values.

      Note that prior to this step, JuMP will aggregate all constant terms onto the right-hand side of the constraint. For example, given a constraint 2x + 1 <= 2, set_normalized_rhs([con], [4]) will create the constraint 2x <= 4, not 2x + 1 <= 4.

      Example

      julia> model = Model();
      @@ -2084,12 +2084,12 @@
       con1 : 2 x ≤ 4
       
       julia> con2
      -con2 : 3 x ≤ 5
      source

      set_objective

      set_objective

      JuMP.set_objectiveFunction
      set_objective(model::AbstractModel, sense::MOI.OptimizationSense, func)

      The functional equivalent of the @objective macro.

      Sets the objective sense and objective function simultaneously, and is equivalent to calling set_objective_sense and set_objective_function separately.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
       
      -julia> set_objective(model, MIN_SENSE, x)
      source

      set_objective_coefficient

      set_objective_coefficient

      JuMP.set_objective_coefficientFunction
      set_objective_coefficient(
           model::GenericModel,
           variable::GenericVariableRef,
           coefficient::Real,
      @@ -2103,7 +2103,7 @@
       julia> set_objective_coefficient(model, x, 3)
       
       julia> objective_function(model)
      -3 x + 1
      source
      set_objective_coefficient(
      +3 x + 1
      source
      set_objective_coefficient(
           model::GenericModel,
           variables::Vector{<:GenericVariableRef},
           coefficients::Vector{<:Real},
      @@ -2119,7 +2119,7 @@
       julia> set_objective_coefficient(model, [x, y], [5, 4])
       
       julia> objective_function(model)
      -5 x + 4 y + 1
      source
      set_objective_coefficient(
      +5 x + 4 y + 1
      source
      set_objective_coefficient(
           model::GenericModel{T},
           variable_1::GenericVariableRef{T},
           variable_2::GenericVariableRef{T},
      @@ -2136,7 +2136,7 @@
       julia> set_objective_coefficient(model, x[1], x[2], 3)
       
       julia> objective_function(model)
      -2 x[1]² + 3 x[1]*x[2]
      source
      set_objective_coefficient(
      +2 x[1]² + 3 x[1]*x[2]
      source
      set_objective_coefficient(
           model::GenericModel{T},
           variables_1::AbstractVector{<:GenericVariableRef{T}},
           variables_2::AbstractVector{<:GenericVariableRef{T}},
      @@ -2151,7 +2151,7 @@
       julia> set_objective_coefficient(model, [x[1], x[1]], [x[1], x[2]], [2, 3])
       
       julia> objective_function(model)
      -2 x[1]² + 3 x[1]*x[2]
      source

      set_objective_function

      set_objective_function

      JuMP.set_objective_functionFunction
      set_objective_function(model::GenericModel, func::MOI.AbstractFunction)
       set_objective_function(model::GenericModel, func::AbstractJuMPScalar)
       set_objective_function(model::GenericModel, func::Real)
       set_objective_function(model::GenericModel, func::Vector{<:AbstractJuMPScalar})

      Sets the objective function of the model to the given function.

      See set_objective_sense to set the objective sense.

      These are low-level functions; the recommended way to set the objective is with the @objective macro.

      Example

      julia> model = Model();
      @@ -2166,7 +2166,7 @@
       julia> set_objective_function(model, 2 * x + 1)
       
       julia> objective_function(model)
      -2 x + 1
      source

      set_objective_sense

      JuMP.set_objective_senseFunction
      set_objective_sense(model::GenericModel, sense::MOI.OptimizationSense)

      Sets the objective sense of the model to the given sense.

      See set_objective_function to set the objective function.

      These are low-level functions; the recommended way to set the objective is with the @objective macro.

      Example

      julia> model = Model();
      +2 x + 1
      source

      set_objective_sense

      JuMP.set_objective_senseFunction
      set_objective_sense(model::GenericModel, sense::MOI.OptimizationSense)

      Sets the objective sense of the model to the given sense.

      See set_objective_function to set the objective function.

      These are low-level functions; the recommended way to set the objective is with the @objective macro.

      Example

      julia> model = Model();
       
       julia> objective_sense(model)
       FEASIBILITY_SENSE::OptimizationSense = 2
      @@ -2174,7 +2174,7 @@
       julia> set_objective_sense(model, MOI.MAX_SENSE)
       
       julia> objective_sense(model)
      -MAX_SENSE::OptimizationSense = 1
      source

      set_optimize_hook

      JuMP.set_optimize_hookFunction
      set_optimize_hook(model::GenericModel, f::Union{Function,Nothing})

      Set the function f as the optimize hook for model.

      f should have a signature f(model::GenericModel; kwargs...), where the kwargs are those passed to optimize!.

      Notes

      • The optimize hook should generally modify the model, or some external state in some way, and then call optimize!(model; ignore_optimize_hook = true) to optimize the problem, bypassing the hook.
      • Use set_optimize_hook(model, nothing) to unset an optimize hook.

      Example

      julia> model = Model();
      +MAX_SENSE::OptimizationSense = 1
      source

      set_optimize_hook

      JuMP.set_optimize_hookFunction
      set_optimize_hook(model::GenericModel, f::Union{Function,Nothing})

      Set the function f as the optimize hook for model.

      f should have a signature f(model::GenericModel; kwargs...), where the kwargs are those passed to optimize!.

      Notes

      • The optimize hook should generally modify the model, or some external state in some way, and then call optimize!(model; ignore_optimize_hook = true) to optimize the problem, bypassing the hook.
      • Use set_optimize_hook(model, nothing) to unset an optimize hook.

      Example

      julia> model = Model();
       
       julia> function my_hook(model::Model; kwargs...)
                  println(kwargs)
      @@ -2191,7 +2191,7 @@
       Base.Pairs{Symbol, Bool, Tuple{Symbol}, @NamedTuple{test_arg::Bool}}(:test_arg => 1)
       Calling with `ignore_optimize_hook = true`
       ERROR: NoOptimizer()
      -[...]
      source

      set_optimizer

      set_optimizer

      JuMP.set_optimizerFunction
      set_optimizer(
           model::GenericModel,
           optimizer_factory;
           add_bridges::Bool = true,
      @@ -2201,7 +2201,7 @@
       
       julia> set_optimizer(model, () -> HiGHS.Optimizer())
       
      -julia> set_optimizer(model, HiGHS.Optimizer; add_bridges = false)
      source

      set_parameter_value

      set_parameter_value

      JuMP.set_parameter_valueFunction
      set_parameter_value(x::GenericVariableRef, value)

      Update the parameter constraint on the variable x to value.

      Errors if x is not a parameter.

      See also ParameterRef, is_parameter, parameter_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, p in Parameter(2))
       p
      @@ -2212,7 +2212,7 @@
       julia> set_parameter_value(p, 2.5)
       
       julia> parameter_value(p)
      -2.5
      source

      set_silent

      JuMP.set_silentFunction
      set_silent(model::GenericModel)

      Takes precedence over any other attribute controlling verbosity and requires the solver to produce no output.

      See also: unset_silent.

      Example

      julia> import Ipopt
      +2.5
      source

      set_silent

      JuMP.set_silentFunction
      set_silent(model::GenericModel)

      Takes precedence over any other attribute controlling verbosity and requires the solver to produce no output.

      See also: unset_silent.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2224,7 +2224,7 @@
       julia> unset_silent(model)
       
       julia> get_attribute(model, MOI.Silent())
      -false
      source

      set_start_value

      set_start_value

      JuMP.set_start_valueFunction
      set_start_value(con_ref::ConstraintRef, value)

      Set the primal start value (MOI.ConstraintPrimalStart) of the constraint con_ref to value.

      To remove a primal start value set it to nothing.

      See also start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 2.0);
       
      @@ -2239,7 +2239,7 @@
       
       julia> set_start_value(c, nothing)
       
      -julia> start_value(c)
      source
      set_start_value(variable::GenericVariableRef, value::Union{Real,Nothing})

      Set the start value (MOI.VariablePrimalStart) of the variable to value.

      Pass nothing to unset the start value.

      Note: VariablePrimalStarts are sometimes called "MIP-starts" or "warmstarts".

      See also: has_start_value, start_value.

      Example

      julia> model = Model();
      +julia> start_value(c)
      source
      set_start_value(variable::GenericVariableRef, value::Union{Real,Nothing})

      Set the start value (MOI.VariablePrimalStart) of the variable to value.

      Pass nothing to unset the start value.

      Note: VariablePrimalStarts are sometimes called "MIP-starts" or "warmstarts".

      See also: has_start_value, start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 1.5);
       
      @@ -2265,13 +2265,13 @@
       true
       
       julia> start_value(y)
      -2.0
      source

      set_start_values

      set_start_values

      JuMP.set_start_valuesFunction
      set_start_values(
           model::GenericModel;
           variable_primal_start::Union{Nothing,Function} = value,
           constraint_primal_start::Union{Nothing,Function} = value,
           constraint_dual_start::Union{Nothing,Function} = dual,
           nonlinear_dual_start::Union{Nothing,Function} = nonlinear_dual_start_value,
      -)

      Set the primal and dual starting values in model using the functions provided.

      If any keyword argument is nothing, the corresponding start value is skipped.

      If the optimizer does not support setting the starting value, the value will be skipped.

      variable_primal_start

      This function controls the primal starting solution for the variables. It is equivalent to calling set_start_value for each variable, or setting the MOI.VariablePrimalStart attribute.

      If it is a function, it must have the form variable_primal_start(x::VariableRef) that maps each variable x to the starting primal value.

      The default is value.

      constraint_primal_start

      This function controls the primal starting solution for the constraints. It is equivalent to calling set_start_value for each constraint, or setting the MOI.ConstraintPrimalStart attribute.

      If it is a function, it must have the form constraint_primal_start(ci::ConstraintRef) that maps each constraint ci to the starting primal value.

      The default is value.

      constraint_dual_start

      This function controls the dual starting solution for the constraints. It is equivalent to calling set_dual_start_value for each constraint, or setting the MOI.ConstraintDualStart attribute.

      If it is a function, it must have the form constraint_dual_start(ci::ConstraintRef) that maps each constraint ci to the starting dual value.

      The default is dual.

      nonlinear_dual_start

      This function controls the dual starting solution for the nonlinear constraints It is equivalent to calling set_nonlinear_dual_start_value.

      If it is a function, it must have the form nonlinear_dual_start(model::GenericModel) that returns a vector corresponding to the dual start of the constraints.

      The default is nonlinear_dual_start_value.

      source

      set_string_names_on_creation

      JuMP.set_string_names_on_creationFunction
      set_string_names_on_creation(model::GenericModel, value::Bool)

      Set the default argument of the set_string_name keyword in the @variable and @constraint macros to value.

      The set_string_name keyword is used to determine whether to assign String names to all variables and constraints in model.

      By default, value is true. However, for larger models calling set_string_names_on_creation(model, false) can improve performance at the cost of reducing the readability of printing and solver log messages.

      Example

      julia> import HiGHS
      +)

      Set the primal and dual starting values in model using the functions provided.

      If any keyword argument is nothing, the corresponding start value is skipped.

      If the optimizer does not support setting the starting value, the value will be skipped.

      variable_primal_start

      This function controls the primal starting solution for the variables. It is equivalent to calling set_start_value for each variable, or setting the MOI.VariablePrimalStart attribute.

      If it is a function, it must have the form variable_primal_start(x::VariableRef) that maps each variable x to the starting primal value.

      The default is value.

      constraint_primal_start

      This function controls the primal starting solution for the constraints. It is equivalent to calling set_start_value for each constraint, or setting the MOI.ConstraintPrimalStart attribute.

      If it is a function, it must have the form constraint_primal_start(ci::ConstraintRef) that maps each constraint ci to the starting primal value.

      The default is value.

      constraint_dual_start

      This function controls the dual starting solution for the constraints. It is equivalent to calling set_dual_start_value for each constraint, or setting the MOI.ConstraintDualStart attribute.

      If it is a function, it must have the form constraint_dual_start(ci::ConstraintRef) that maps each constraint ci to the starting dual value.

      The default is dual.

      nonlinear_dual_start

      This function controls the dual starting solution for the nonlinear constraints It is equivalent to calling set_nonlinear_dual_start_value.

      If it is a function, it must have the form nonlinear_dual_start(model::GenericModel) that returns a vector corresponding to the dual start of the constraints.

      The default is nonlinear_dual_start_value.

      source

      set_string_names_on_creation

      JuMP.set_string_names_on_creationFunction
      set_string_names_on_creation(model::GenericModel, value::Bool)

      Set the default argument of the set_string_name keyword in the @variable and @constraint macros to value.

      The set_string_name keyword is used to determine whether to assign String names to all variables and constraints in model.

      By default, value is true. However, for larger models calling set_string_names_on_creation(model, false) can improve performance at the cost of reducing the readability of printing and solver log messages.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -2281,7 +2281,7 @@
       julia> set_string_names_on_creation(model, false)
       
       julia> set_string_names_on_creation(model)
      -false
      source

      set_time_limit_sec

      set_time_limit_sec

      set_upper_bound

      set_upper_bound

      shadow_price

      JuMP.shadow_priceFunction
      shadow_price(con_ref::ConstraintRef)

      Return the change in the objective from an infinitesimal relaxation of the constraint.

      The shadow price is computed from dual and can be queried only when has_duals is true and the objective sense is MIN_SENSE or MAX_SENSE (not FEASIBILITY_SENSE).

      See also reduced_cost.

      Comparison to dual

      The shadow prices differ at most in sign from the dual value depending on the objective sense. The differences are summarized in the table:

      MinMax
      f(x) <= b+1-1
      f(x) >= b-1+1

      Notes

      • The function simply translates signs from dual and does not validate the conditions needed to guarantee the sensitivity interpretation of the shadow price. The caller is responsible, for example, for checking whether the solver converged to an optimal primal-dual pair or a proof of infeasibility.
      • The computation is based on the current objective sense of the model. If this has changed since the last solve, the results will be incorrect.
      • Relaxation of equality constraints (and hence the shadow price) is defined based on which sense of the equality constraint is active.

      Example

      julia> import HiGHS
      +2.0
      source

      shadow_price

      JuMP.shadow_priceFunction
      shadow_price(con_ref::ConstraintRef)

      Return the change in the objective from an infinitesimal relaxation of the constraint.

      The shadow price is computed from dual and can be queried only when has_duals is true and the objective sense is MIN_SENSE or MAX_SENSE (not FEASIBILITY_SENSE).

      See also reduced_cost.

      Comparison to dual

      The shadow prices differ at most in sign from the dual value depending on the objective sense. The differences are summarized in the table:

      MinMax
      f(x) <= b+1-1
      f(x) >= b-1+1

      Notes

      • The function simply translates signs from dual and does not validate the conditions needed to guarantee the sensitivity interpretation of the shadow price. The caller is responsible, for example, for checking whether the solver converged to an optimal primal-dual pair or a proof of infeasibility.
      • The computation is based on the current objective sense of the model. If this has changed since the last solve, the results will be incorrect.
      • Relaxation of equality constraints (and hence the shadow price) is defined based on which sense of the equality constraint is active.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -2323,7 +2323,7 @@
       true
       
       julia> shadow_price(c)
      -2.0
      source

      shape

      JuMP.shapeFunction
      shape(c::AbstractConstraint)::AbstractShape

      Return the shape of the constraint c.

      Example

      julia> model = Model();
      +2.0
      source

      shape

      JuMP.shapeFunction
      shape(c::AbstractConstraint)::AbstractShape

      Return the shape of the constraint c.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -2335,20 +2335,20 @@
       julia> d = @constraint(model, x in SOS1());
       
       julia> shape(constraint_object(d))
      -VectorShape()
      source

      show_backend_summary

      JuMP.show_backend_summaryFunction
      show_backend_summary(io::IO, model::GenericModel)

      Print a summary of the optimizer backing model.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
      +VectorShape()
      source

      show_backend_summary

      JuMP.show_backend_summaryFunction
      show_backend_summary(io::IO, model::GenericModel)

      Print a summary of the optimizer backing model.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
       
       julia> show_backend_summary(stdout, model)
       Model mode: AUTOMATIC
       CachingOptimizer state: NO_OPTIMIZER
      -Solver name: No optimizer attached.
      source

      show_constraints_summary

      JuMP.show_constraints_summaryFunction
      show_constraints_summary(io::IO, model::AbstractModel)

      Write to io a summary of the number of constraints.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
      +Solver name: No optimizer attached.
      source

      show_constraints_summary

      JuMP.show_constraints_summaryFunction
      show_constraints_summary(io::IO, model::AbstractModel)

      Write to io a summary of the number of constraints.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
       
       julia> @variable(model, x >= 0);
       
       julia> show_constraints_summary(stdout, model)
      -`VariableRef`-in-`MathOptInterface.GreaterThan{Float64}`: 1 constraint
      source

      show_objective_function_summary

      JuMP.show_objective_function_summaryFunction
      show_objective_function_summary(io::IO, model::AbstractModel)

      Write to io a summary of the objective function type.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
      +`VariableRef`-in-`MathOptInterface.GreaterThan{Float64}`: 1 constraint
      source

      show_objective_function_summary

      JuMP.show_objective_function_summaryFunction
      show_objective_function_summary(io::IO, model::AbstractModel)

      Write to io a summary of the objective function type.

      Extensions

      AbstractModels should implement this method.

      Example

      julia> model = Model();
       
       julia> show_objective_function_summary(stdout, model)
      -Objective function type: AffExpr
      source

      simplex_iterations

      JuMP.simplex_iterationsFunction
      simplex_iterations(model::GenericModel)

      If available, returns the cumulative number of simplex iterations during the most-recent optimization (the MOI.SimplexIterations attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
      +Objective function type: AffExpr
      source

      simplex_iterations

      JuMP.simplex_iterationsFunction
      simplex_iterations(model::GenericModel)

      If available, returns the cumulative number of simplex iterations during the most-recent optimization (the MOI.SimplexIterations attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -2357,7 +2357,7 @@
       julia> optimize!(model)
       
       julia> simplex_iterations(model)
      -0
      source

      solution_summary

      JuMP.solution_summaryFunction
      solution_summary(model::GenericModel; result::Int = 1, verbose::Bool = false)

      Return a struct that can be used print a summary of the solution in result result.

      If verbose=true, write out the primal solution for every variable and the dual solution for every constraint, excluding those with empty names.

      Example

      When called at the REPL, the summary is automatically printed:

      julia> model = Model();
      +0
      source

      solution_summary

      JuMP.solution_summaryFunction
      solution_summary(model::GenericModel; result::Int = 1, verbose::Bool = false)

      Return a struct that can be used print a summary of the solution in result result.

      If verbose=true, write out the primal solution for every variable and the dual solution for every constraint, excluding those with empty names.

      Example

      When called at the REPL, the summary is automatically printed:

      julia> model = Model();
       
       julia> solution_summary(model)
       * Solver : No optimizer attached.
      @@ -2393,7 +2393,7 @@
         Primal status      : NO_SOLUTION
         Dual status        : NO_SOLUTION
       
      -* Work counters
      source

      solve_time

      JuMP.solve_timeFunction
      solve_time(model::GenericModel)

      If available, returns the solve time in wall-clock seconds reported by the solver (the MOI.SolveTimeSec attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
      +* Work counters
      source

      solve_time

      JuMP.solve_timeFunction
      solve_time(model::GenericModel)

      If available, returns the solve time in wall-clock seconds reported by the solver (the MOI.SolveTimeSec attribute).

      Throws a MOI.GetAttributeNotAllowed error if the attribute is not implemented by the solver.

      Example

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer);
       
      @@ -2402,7 +2402,7 @@
       julia> optimize!(model)
       
       julia> solve_time(model)
      -1.0488089174032211e-5
      source

      solver_name

      JuMP.solver_nameFunction
      solver_name(model::GenericModel)

      If available, returns the MOI.SolverName property of the underlying optimizer.

      Returns "No optimizer attached." in AUTOMATIC or MANUAL modes when no optimizer is attached.

      Returns "SolverName() attribute not implemented by the optimizer." if the attribute is not implemented.

      Example

      julia> import Ipopt
      +1.0488089174032211e-5
      source

      solver_name

      JuMP.solver_nameFunction
      solver_name(model::GenericModel)

      If available, returns the MOI.SolverName property of the underlying optimizer.

      Returns "No optimizer attached." in AUTOMATIC or MANUAL modes when no optimizer is attached.

      Returns "SolverName() attribute not implemented by the optimizer." if the attribute is not implemented.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2417,7 +2417,7 @@
       julia> model = Model(MOI.FileFormats.MPS.Model);
       
       julia> solver_name(model)
      -"SolverName() attribute not implemented by the optimizer."
      source

      start_value

      JuMP.start_valueFunction
      start_value(con_ref::ConstraintRef)

      Return the primal start value (MOI.ConstraintPrimalStart) of the constraint con_ref.

      If no primal start value has been set, start_value will return nothing.

      See also set_start_value.

      Example

      julia> model = Model();
      +"SolverName() attribute not implemented by the optimizer."
      source

      start_value

      JuMP.start_valueFunction
      start_value(con_ref::ConstraintRef)

      Return the primal start value (MOI.ConstraintPrimalStart) of the constraint con_ref.

      If no primal start value has been set, start_value will return nothing.

      See also set_start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 2.0);
       
      @@ -2432,7 +2432,7 @@
       
       julia> set_start_value(c, nothing)
       
      -julia> start_value(c)
      source
      start_value(v::GenericVariableRef)

      Return the start value (MOI.VariablePrimalStart) of the variable v.

      Note: VariablePrimalStarts are sometimes called "MIP-starts" or "warmstarts".

      See also: has_start_value, set_start_value.

      Example

      julia> model = Model();
      +julia> start_value(c)
      source
      start_value(v::GenericVariableRef)

      Return the start value (MOI.VariablePrimalStart) of the variable v.

      Note: VariablePrimalStarts are sometimes called "MIP-starts" or "warmstarts".

      See also: has_start_value, set_start_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, start = 1.5);
       
      @@ -2453,12 +2453,12 @@
       true
       
       julia> start_value(y)
      -2.0
      source

      termination_status

      termination_status

      time_limit_sec

      time_limit_sec

      JuMP.time_limit_secFunction
      time_limit_sec(model::GenericModel)

      Return the time limit (in seconds) of the model.

      Returns nothing if unset.

      See also: set_time_limit_sec, unset_time_limit_sec.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2471,7 +2471,7 @@
       
       julia> unset_time_limit_sec(model)
       
      -julia> time_limit_sec(model)
      source

      triangle_vec

      JuMP.triangle_vecFunction
      triangle_vec(matrix::Matrix)

      Return the upper triangle of a matrix concatenated into a vector in the order required by JuMP and MathOptInterface for Triangle sets.

      Example

      julia> model = Model();
      +julia> time_limit_sec(model)
      source

      triangle_vec

      JuMP.triangle_vecFunction
      triangle_vec(matrix::Matrix)

      Return the upper triangle of a matrix concatenated into a vector in the order required by JuMP and MathOptInterface for Triangle sets.

      Example

      julia> model = Model();
       
       julia> @variable(model, X[1:3, 1:3], Symmetric);
       
      @@ -2479,7 +2479,7 @@
       t
       
       julia> @constraint(model, [t; triangle_vec(X)] in MOI.RootDetConeTriangle(3))
      -[t, X[1,1], X[1,2], X[2,2], X[1,3], X[2,3], X[3,3]] ∈ MathOptInterface.RootDetConeTriangle(3)
      source

      unfix

      JuMP.unfixFunction
      unfix(v::GenericVariableRef)

      Delete the fixing constraint of a variable.

      Error if one does not exist.

      See also FixRef, is_fixed, fix_value, fix.

      Example

      julia> model = Model();
      +[t, X[1,1], X[1,2], X[2,2], X[1,3], X[2,3], X[3,3]] ∈ MathOptInterface.RootDetConeTriangle(3)
      source

      unfix

      JuMP.unfixFunction
      unfix(v::GenericVariableRef)

      Delete the fixing constraint of a variable.

      Error if one does not exist.

      See also FixRef, is_fixed, fix_value, fix.

      Example

      julia> model = Model();
       
       julia> @variable(model, x == 1);
       
      @@ -2489,7 +2489,7 @@
       julia> unfix(x)
       
       julia> is_fixed(x)
      -false
      source

      unregister

      JuMP.unregisterFunction
      unregister(model::GenericModel, key::Symbol)

      Unregister the name key from model so that a new variable, constraint, or expression can be created with the same key.

      Note that this will not delete the object model[key]; it will just remove the reference at model[key]. To delete the object, use delete as well.

      See also: delete, object_dictionary.

      Example

      julia> model = Model();
      +false
      source

      unregister

      JuMP.unregisterFunction
      unregister(model::GenericModel, key::Symbol)

      Unregister the name key from model so that a new variable, constraint, or expression can be created with the same key.

      Note that this will not delete the object model[key]; it will just remove the reference at model[key]. To delete the object, use delete as well.

      See also: delete, object_dictionary.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -2516,7 +2516,7 @@
       x
       
       julia> num_variables(model)
      -2
      source

      unsafe_backend

      JuMP.unsafe_backendFunction
      unsafe_backend(model::GenericModel)

      Return the innermost optimizer associated with the JuMP model model.

      This function should only be used by advanced users looking to access low-level solver-specific functionality. It has a high-risk of incorrect usage. We strongly suggest you use the alternative suggested below.

      See also: backend.

      To obtain the index of a variable or constraint in the unsafe backend, use optimizer_index.

      Unsafe behavior

      This function is unsafe for two main reasons.

      First, the formulation and order of variables and constraints in the unsafe backend may be different to the variables and constraints in model. This can happen because of bridges, or because the solver requires the variables or constraints in a specific order. In addition, the variable or constraint index returned by index at the JuMP level may be different to the index of the corresponding variable or constraint in the unsafe_backend. There is no solution to this. Use the alternative suggested below instead.

      Second, the unsafe_backend may be empty, or lack some modifications made to the JuMP model. Thus, before calling unsafe_backend you should first call MOI.Utilities.attach_optimizer to ensure that the backend is synchronized with the JuMP model.

      julia> import HiGHS
      +2
      source

      unsafe_backend

      JuMP.unsafe_backendFunction
      unsafe_backend(model::GenericModel)

      Return the innermost optimizer associated with the JuMP model model.

      This function should only be used by advanced users looking to access low-level solver-specific functionality. It has a high-risk of incorrect usage. We strongly suggest you use the alternative suggested below.

      See also: backend.

      To obtain the index of a variable or constraint in the unsafe backend, use optimizer_index.

      Unsafe behavior

      This function is unsafe for two main reasons.

      First, the formulation and order of variables and constraints in the unsafe backend may be different to the variables and constraints in model. This can happen because of bridges, or because the solver requires the variables or constraints in a specific order. In addition, the variable or constraint index returned by index at the JuMP level may be different to the index of the corresponding variable or constraint in the unsafe_backend. There is no solution to this. Use the alternative suggested below instead.

      Second, the unsafe_backend may be empty, or lack some modifications made to the JuMP model. Thus, before calling unsafe_backend you should first call MOI.Utilities.attach_optimizer to ensure that the backend is synchronized with the JuMP model.

      julia> import HiGHS
       
       julia> model = Model(HiGHS.Optimizer)
       A JuMP Model
      @@ -2557,7 +2557,7 @@
       A HiGHS model with 1 columns and 0 rows.
       
       julia> index(x)
      -MOI.VariableIndex(1)
      source

      unset_binary

      unset_binary

      JuMP.unset_binaryFunction
      unset_binary(variable_ref::GenericVariableRef)

      Remove the binary constraint on the variable variable_ref.

      See also BinaryRef, is_binary, set_binary.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Bin);
       
      @@ -2567,7 +2567,7 @@
       julia> unset_binary(x)
       
       julia> is_binary(x)
      -false
      source

      unset_integer

      unset_integer

      JuMP.unset_integerFunction
      unset_integer(variable_ref::GenericVariableRef)

      Remove the integrality constraint on the variable variable_ref.

      Errors if one does not exist.

      See also IntegerRef, is_integer, set_integer.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Int);
       
      @@ -2577,7 +2577,7 @@
       julia> unset_integer(x)
       
       julia> is_integer(x)
      -false
      source

      unset_silent

      JuMP.unset_silentFunction
      unset_silent(model::GenericModel)

      Neutralize the effect of the set_silent function and let the solver attributes control the verbosity.

      See also: set_silent.

      Example

      julia> import Ipopt
      +false
      source

      unset_silent

      JuMP.unset_silentFunction
      unset_silent(model::GenericModel)

      Neutralize the effect of the set_silent function and let the solver attributes control the verbosity.

      See also: set_silent.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2589,7 +2589,7 @@
       julia> unset_silent(model)
       
       julia> get_attribute(model, MOI.Silent())
      -false
      source

      unset_time_limit_sec

      unset_time_limit_sec

      JuMP.unset_time_limit_secFunction
      unset_time_limit_sec(model::GenericModel)

      Unset the time limit of the solver.

      See also: set_time_limit_sec, time_limit_sec.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2602,19 +2602,19 @@
       
       julia> unset_time_limit_sec(model)
       
      -julia> time_limit_sec(model)
      source

      upper_bound

      upper_bound

      value

      JuMP.valueFunction
      value(con_ref::ConstraintRef; result::Int = 1)

      Return the primal value of constraint con_ref associated with result index result of the most-recent solution returned by the solver.

      That is, if con_ref is the reference of a constraint func-in-set, it returns the value of func evaluated at the value of the variables (given by value(::GenericVariableRef)).

      Use has_values to check if a result exists before asking for values.

      See also: result_count.

      Note

      For scalar constraints, the constant is moved to the set so it is not taken into account in the primal value of the constraint. For instance, the constraint @constraint(model, 2x + 3y + 1 == 5) is transformed into 2x + 3y-in-MOI.EqualTo(4) so the value returned by this function is the evaluation of 2x + 3y.

      source
      value(var_value::Function, con_ref::ConstraintRef)

      Evaluate the primal value of the constraint con_ref using var_value(v) as the value for each variable v.

      source
      value(v::GenericVariableRef; result = 1)

      Return the value of variable v associated with result index result of the most-recent returned by the solver.

      Use has_values to check if a result exists before asking for values.

      See also: result_count.

      source
      value(var_value::Function, v::GenericVariableRef)

      Evaluate the value of the variable v as var_value(v).

      source
      value(var_value::Function, ex::GenericAffExpr)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(v::GenericAffExpr; result::Int = 1)

      Return the value of the GenericAffExpr v associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, ex::GenericQuadExpr)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(v::GenericQuadExpr; result::Int = 1)

      Return the value of the GenericQuadExpr v associated with result index result of the most-recent solution returned by the solver.

      Replaces getvalue for most use cases.

      See also: result_count.

      source
      value(p::NonlinearParameter)

      Return the current value stored in the nonlinear parameter p.

      Example

      julia> model = Model();
      +1.0
      source

      value

      JuMP.valueFunction
      value(con_ref::ConstraintRef; result::Int = 1)

      Return the primal value of constraint con_ref associated with result index result of the most-recent solution returned by the solver.

      That is, if con_ref is the reference of a constraint func-in-set, it returns the value of func evaluated at the value of the variables (given by value(::GenericVariableRef)).

      Use has_values to check if a result exists before asking for values.

      See also: result_count.

      Note

      For scalar constraints, the constant is moved to the set so it is not taken into account in the primal value of the constraint. For instance, the constraint @constraint(model, 2x + 3y + 1 == 5) is transformed into 2x + 3y-in-MOI.EqualTo(4) so the value returned by this function is the evaluation of 2x + 3y.

      source
      value(var_value::Function, con_ref::ConstraintRef)

      Evaluate the primal value of the constraint con_ref using var_value(v) as the value for each variable v.

      source
      value(v::GenericVariableRef; result = 1)

      Return the value of variable v associated with result index result of the most-recent returned by the solver.

      Use has_values to check if a result exists before asking for values.

      See also: result_count.

      source
      value(var_value::Function, v::GenericVariableRef)

      Evaluate the value of the variable v as var_value(v).

      source
      value(var_value::Function, ex::GenericAffExpr)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(v::GenericAffExpr; result::Int = 1)

      Return the value of the GenericAffExpr v associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, ex::GenericQuadExpr)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(v::GenericQuadExpr; result::Int = 1)

      Return the value of the GenericQuadExpr v associated with result index result of the most-recent solution returned by the solver.

      Replaces getvalue for most use cases.

      See also: result_count.

      source
      value(p::NonlinearParameter)

      Return the current value stored in the nonlinear parameter p.

      Example

      julia> model = Model();
       
       julia> @NLparameter(model, p == 10)
       p == 10.0
       
       julia> value(p)
      -10.0
      source
      value(ex::NonlinearExpression; result::Int = 1)

      Return the value of the NonlinearExpression ex associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, ex::NonlinearExpression)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(c::NonlinearConstraintRef; result::Int = 1)

      Return the value of the NonlinearConstraintRef c associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, c::NonlinearConstraintRef)

      Evaluate c using var_value(v) as the value for each variable v.

      source

      value_type

      JuMP.value_typeFunction
      value_type(::Type{<:Union{AbstractModel,AbstractVariableRef}})

      Return the return type of value for variables of that model. It defaults to Float64 if it is not implemented.

      Example

      julia> value_type(GenericModel{BigFloat})
      -BigFloat
      source

      variable_by_name

      JuMP.variable_by_nameFunction
      variable_by_name(
      +10.0
      source
      value(ex::NonlinearExpression; result::Int = 1)

      Return the value of the NonlinearExpression ex associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, ex::NonlinearExpression)

      Evaluate ex using var_value(v) as the value for each variable v.

      source
      value(c::NonlinearConstraintRef; result::Int = 1)

      Return the value of the NonlinearConstraintRef c associated with result index result of the most-recent solution returned by the solver.

      See also: result_count.

      source
      value(var_value::Function, c::NonlinearConstraintRef)

      Evaluate c using var_value(v) as the value for each variable v.

      source

      value_type

      JuMP.value_typeFunction
      value_type(::Type{<:Union{AbstractModel,AbstractVariableRef}})

      Return the return type of value for variables of that model. It defaults to Float64 if it is not implemented.

      Example

      julia> value_type(GenericModel{BigFloat})
      +BigFloat
      source

      variable_by_name

      JuMP.variable_by_nameFunction
      variable_by_name(
           model::AbstractModel,
           name::String,
       )::Union{AbstractVariableRef,Nothing}

      Returns the reference of the variable with name attribute name or Nothing if no variable has this name attribute. Throws an error if several variables have name as their name attribute.

      Example

      julia> model = Model();
      @@ -2657,12 +2657,12 @@
        u[2]
       
       julia> variable_by_name(model, "u[2]")
      -u[2]
      source

      variable_ref_type

      JuMP.variable_ref_typeFunction
      variable_ref_type(::Union{F,Type{F}}) where {F}

      A helper function used internally by JuMP and some JuMP extensions. Returns the variable type associated with the model or expression type F.

      source

      vectorize

      JuMP.vectorizeFunction
      vectorize(matrix::AbstractMatrix, ::Shape)

      Convert the matrix into a vector according to Shape.

      source

      write_to_file

      variable_ref_type

      JuMP.variable_ref_typeFunction
      variable_ref_type(::Union{F,Type{F}}) where {F}

      A helper function used internally by JuMP and some JuMP extensions. Returns the variable type associated with the model or expression type F.

      source

      vectorize

      JuMP.vectorizeFunction
      vectorize(matrix::AbstractMatrix, ::Shape)

      Convert the matrix into a vector according to Shape.

      source

      write_to_file

      JuMP.write_to_fileFunction
      write_to_file(
           model::GenericModel,
           filename::String;
           format::MOI.FileFormats.FileFormat = MOI.FileFormats.FORMAT_AUTOMATIC,
           kwargs...,
      -)

      Write the JuMP model model to filename in the format format.

      If the filename ends in .gz, it will be compressed using GZip. If the filename ends in .bz2, it will be compressed using BZip2.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      AbstractConstraint

      JuMP.AbstractConstraintType
      abstract type AbstractConstraint

      An abstract base type for all constraint types. AbstractConstraints store the function and set directly, unlike ConstraintRefs that are merely references to constraints stored in a model. AbstractConstraints do not need to be attached to a model.

      source

      AbstractJuMPScalar

      JuMP.AbstractJuMPScalarType
      AbstractJuMPScalar <: MutableArithmetics.AbstractMutable

      Abstract base type for all scalar types

      The subtyping of AbstractMutable will allow calls of some Base functions to be redirected to a method in MA that handles type promotion more carefully (for example the promotion in sparse matrix products in SparseArrays usually does not work for JuMP types) and exploits the mutability of AffExpr and QuadExpr.

      source

      AbstractModel

      JuMP.AbstractModelType
      AbstractModel

      An abstract type that should be subtyped for users creating JuMP extensions.

      source

      AbstractScalarSet

      JuMP.AbstractScalarSetType
      AbstractScalarSet

      An abstract type for defining new scalar sets in JuMP.

      Implement moi_set(::AbstractScalarSet) to convert the type into an MOI set.

      See also: moi_set.

      source

      AbstractShape

      AbstractVariable

      AbstractVariableRef

      JuMP.AbstractVariableRefType
      AbstractVariableRef

      Variable returned by add_variable. Affine (resp. quadratic) operations with variables of type V<:AbstractVariableRef and coefficients of type T create a GenericAffExpr{T,V} (resp. GenericQuadExpr{T,V}).

      source

      AbstractVectorSet

      JuMP.AbstractVectorSetType
      AbstractVectorSet

      An abstract type for defining new sets in JuMP.

      Implement moi_set(::AbstractVectorSet, dim::Int) to convert the type into an MOI set.

      See also: moi_set.

      source

      AffExpr

      ArrayShape

      JuMP.ArrayShapeType
      ArrayShape{N}(dims::NTuple{N,Int}) where {N}

      An AbstractShape that represents array-valued constraints.

      Example

      julia> model = Model();
      +)

      Write the JuMP model model to filename in the format format.

      If the filename ends in .gz, it will be compressed using GZip. If the filename ends in .bz2, it will be compressed using BZip2.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      AbstractConstraint

      JuMP.AbstractConstraintType
      abstract type AbstractConstraint

      An abstract base type for all constraint types. AbstractConstraints store the function and set directly, unlike ConstraintRefs that are merely references to constraints stored in a model. AbstractConstraints do not need to be attached to a model.

      source

      AbstractJuMPScalar

      JuMP.AbstractJuMPScalarType
      AbstractJuMPScalar <: MutableArithmetics.AbstractMutable

      Abstract base type for all scalar types

      The subtyping of AbstractMutable will allow calls of some Base functions to be redirected to a method in MA that handles type promotion more carefully (for example the promotion in sparse matrix products in SparseArrays usually does not work for JuMP types) and exploits the mutability of AffExpr and QuadExpr.

      source

      AbstractModel

      JuMP.AbstractModelType
      AbstractModel

      An abstract type that should be subtyped for users creating JuMP extensions.

      source

      AbstractScalarSet

      JuMP.AbstractScalarSetType
      AbstractScalarSet

      An abstract type for defining new scalar sets in JuMP.

      Implement moi_set(::AbstractScalarSet) to convert the type into an MOI set.

      See also: moi_set.

      source

      AbstractShape

      AbstractVariable

      AbstractVariableRef

      JuMP.AbstractVariableRefType
      AbstractVariableRef

      Variable returned by add_variable. Affine (resp. quadratic) operations with variables of type V<:AbstractVariableRef and coefficients of type T create a GenericAffExpr{T,V} (resp. GenericQuadExpr{T,V}).

      source

      AbstractVectorSet

      JuMP.AbstractVectorSetType
      AbstractVectorSet

      An abstract type for defining new sets in JuMP.

      Implement moi_set(::AbstractVectorSet, dim::Int) to convert the type into an MOI set.

      See also: moi_set.

      source

      AffExpr

      ArrayShape

      JuMP.ArrayShapeType
      ArrayShape{N}(dims::NTuple{N,Int}) where {N}

      An AbstractShape that represents array-valued constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2, 1:3]);
       
      @@ -2671,12 +2671,12 @@
        x[2,1]  x[2,2]  x[2,3]] ∈ Nonnegatives()
       
       julia> shape(constraint_object(c))
      -ArrayShape{2}((2, 3))
      source

      BinaryRef

      JuMP.BinaryRefFunction
      BinaryRef(v::GenericVariableRef)

      Return a constraint reference to the constraint constraining v to be binary. Errors if one does not exist.

      See also is_binary, set_binary, unset_binary.

      Example

      julia> model = Model();
      +ArrayShape{2}((2, 3))
      source

      BinaryRef

      JuMP.BinaryRefFunction
      BinaryRef(v::GenericVariableRef)

      Return a constraint reference to the constraint constraining v to be binary. Errors if one does not exist.

      See also is_binary, set_binary, unset_binary.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Bin);
       
       julia> BinaryRef(x)
      -x binary
      source

      BridgeableConstraint

      BridgeableConstraint

      JuMP.BridgeableConstraintType
      BridgeableConstraint(
           constraint::C,
           bridge_type::B;
           coefficient_type::Type{T} = Float64,
      @@ -2691,7 +2691,7 @@
       )
           constraint = ScalarConstraint(func, set)
           return BridgeableConstraint(constraint, CustomBridge)
      -end

      Note

      JuMP extensions should extend JuMP.build_constraint only if they also defined CustomSet, for three reasons:

      1. It is problematic if multiple extensions overload the same JuMP method.
      2. A missing method will not inform the users that they forgot to load the extension module defining the build_constraint method.
      3. Defining a method where neither the function nor any of the argument types are defined in the package is called type piracy and is discouraged in the Julia style guide.
      source

      ComplexPlane

      JuMP.ComplexPlaneType
      ComplexPlane

      Complex plane object that can be used to create a complex variable in the @variable macro.

      Example

      Consider the following example:

      julia> model = Model();
      +end

      Note

      JuMP extensions should extend JuMP.build_constraint only if they also defined CustomSet, for three reasons:

      1. It is problematic if multiple extensions overload the same JuMP method.
      2. A missing method will not inform the users that they forgot to load the extension module defining the build_constraint method.
      3. Defining a method where neither the function nor any of the argument types are defined in the package is called type piracy and is discouraged in the Julia style guide.
      source

      ComplexPlane

      JuMP.ComplexPlaneType
      ComplexPlane

      Complex plane object that can be used to create a complex variable in the @variable macro.

      Example

      Consider the following example:

      julia> model = Model();
       
       julia> @variable(model, x in ComplexPlane())
       real(x) + imag(x) im
      @@ -2699,7 +2699,7 @@
       julia> all_variables(model)
       2-element Vector{VariableRef}:
        real(x)
      - imag(x)

      We see in the output of the last command that two real variables were created. The Julia variable x binds to an affine expression in terms of these two variables that parametrize the complex plane.

      source

      ComplexVariable

      ConstraintNotOwned

      JuMP.ConstraintNotOwnedType
      struct ConstraintNotOwned{C<:ConstraintRef} <: Exception
      + imag(x)

      We see in the output of the last command that two real variables were created. The Julia variable x binds to an affine expression in terms of these two variables that parametrize the complex plane.

      source

      ComplexVariable

      ConstraintNotOwned

      JuMP.ConstraintNotOwnedType
      struct ConstraintNotOwned{C<:ConstraintRef} <: Exception
           constraint_ref::C
       end

      An error thrown when the constraint constraint_ref was used in a model different to owner_model(constraint_ref).

      Example

      julia> model = Model();
       
      @@ -2713,12 +2713,12 @@
       julia> MOI.get(model_new, MOI.ConstraintName(), c)
       ERROR: ConstraintNotOwned{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.GreaterThan{Float64}}, ScalarShape}}(c : x ≥ 0)
       Stacktrace:
      -[...]
      source

      ConstraintRef

      FixRef

      JuMP.FixRefFunction
      FixRef(v::GenericVariableRef)

      Return a constraint reference to the constraint fixing the value of v.

      Errors if one does not exist.

      See also is_fixed, fix_value, fix, unfix.

      Example

      julia> model = Model();
      +[...]
      source

      ConstraintRef

      FixRef

      JuMP.FixRefFunction
      FixRef(v::GenericVariableRef)

      Return a constraint reference to the constraint fixing the value of v.

      Errors if one does not exist.

      See also is_fixed, fix_value, fix, unfix.

      Example

      julia> model = Model();
       
       julia> @variable(model, x == 1);
       
       julia> FixRef(x)
      -x = 1
      source

      GenericAffExpr

      GenericAffExpr

      JuMP.GenericAffExprType
      mutable struct GenericAffExpr{CoefType,VarType} <: AbstractJuMPScalar
           constant::CoefType
           terms::OrderedDict{VarType,CoefType}
       end

      An expression type representing an affine expression of the form: $\sum a_i x_i + c$.

      Fields

      • .constant: the constant c in the expression.
      • .terms: an OrderedDict, with keys of VarType and values of CoefType describing the sparse vector a.

      Example

      julia> model = Model();
      @@ -2734,13 +2734,13 @@
       julia> expr.terms
       OrderedCollections.OrderedDict{VariableRef, Float64} with 2 entries:
         x[2] => 1.0
      -  x[1] => 3.0
      source

      GenericModel

      GenericModel

      JuMP.GenericModelType
      GenericModel{T}(
           [optimizer_factory;]
           add_bridges::Bool = true,
       ) where {T<:Real}

      Create a new instance of a JuMP model.

      If optimizer_factory is provided, the model is initialized with the optimizer returned by MOI.instantiate(optimizer_factory).

      If optimizer_factory is not provided, use set_optimizer to set the optimizer before calling optimize!.

      If add_bridges, JuMP adds a MOI.Bridges.LazyBridgeOptimizer to automatically reformulate the problem into a form supported by the optimizer.

      Value type T

      Passing a type other than Float64 as the value type T is an advanced operation. The value type must match that expected by the chosen optimizer. Consult the optimizers documentation for details.

      If not documented, assume that the optimizer supports only Float64.

      Choosing an unsupported value type will throw an MOI.UnsupportedConstraint or an MOI.UnsupportedAttribute error, the timing of which (during the model construction or during a call to optimize!) depends on how the solver is interfaced to JuMP.

      Example

      julia> model = GenericModel{BigFloat}();
       
       julia> typeof(model)
      -GenericModel{BigFloat}
      source

      GenericNonlinearExpr

      GenericNonlinearExpr

      JuMP.GenericNonlinearExprType
      GenericNonlinearExpr{V}(head::Symbol, args::Vector{Any})
       GenericNonlinearExpr{V}(head::Symbol, args::Any...)

      The scalar-valued nonlinear function head(args...), represented as a symbolic expression tree, with the call operator head and ordered arguments in args.

      V is the type of AbstractVariableRef present in the expression, and is used to help dispatch JuMP extensions.

      head

      The head::Symbol must be an operator supported by the model.

      The default list of supported univariate operators is given by:

      and the default list of supported multivariate operators is given by:

      Additional operators can be add using @operator.

      See the full list of operators supported by a MOI.ModelLike by querying the MOI.ListOfSupportedNonlinearOperators attribute.

      args

      The vector args contains the arguments to the nonlinear function. If the operator is univariate, it must contain one element. Otherwise, it may contain multiple elements.

      Given a subtype of AbstractVariableRef, V, for GenericNonlinearExpr{V}, each element must be one of the following:

      where T<:Real and T == value_type(V).

      Unsupported operators

      If the optimizer does not support head, an MOI.UnsupportedNonlinearOperator error will be thrown.

      There is no guarantee about when this error will be thrown; it may be thrown when the function is first added to the model, or it may be thrown when optimize! is called.

      Example

      To represent the function $f(x) = sin(x)^2$, do:

      julia> model = Model();
       
       julia> @variable(model, x)
      @@ -2754,7 +2754,7 @@
                  GenericNonlinearExpr{VariableRef}(:sin, x),
                  2.0,
              )
      -sin(x) ^ 2.0
      source

      GenericQuadExpr

      GenericQuadExpr

      JuMP.GenericQuadExprType
      mutable struct GenericQuadExpr{CoefType,VarType} <: AbstractJuMPScalar
           aff::GenericAffExpr{CoefType,VarType}
           terms::OrderedDict{UnorderedPair{VarType}, CoefType}
       end

      An expression type representing an quadratic expression of the form: $\sum q_{i,j} x_i x_j + \sum a_i x_i + c$.

      Fields

      • .aff: an GenericAffExpr representing the affine portion of the expression.
      • .terms: an OrderedDict, with keys of UnorderedPair{VarType} and values of CoefType, describing the sparse list of terms q.

      Example

      julia> model = Model();
      @@ -2770,16 +2770,16 @@
       julia> expr.terms
       OrderedCollections.OrderedDict{UnorderedPair{VariableRef}, Float64} with 2 entries:
         UnorderedPair{VariableRef}(x[1], x[1]) => 2.0
      -  UnorderedPair{VariableRef}(x[1], x[2]) => 1.0
      source

      GenericReferenceMap

      JuMP.GenericReferenceMapType
      GenericReferenceMap{T}

      Mapping between variable and constraint reference of a model and its copy. The reference of the copied model can be obtained by indexing the map with the reference of the corresponding reference of the original model.

      source

      GenericVariableRef

      JuMP.GenericVariableRefType
      GenericVariableRef{T} <: AbstractVariableRef

      Holds a reference to the model and the corresponding MOI.VariableIndex.

      source

      GreaterThanZero

      JuMP.GreaterThanZeroType
      GreaterThanZero()

      A struct used to intercept when >= or is used in a macro via operator_to_set.

      This struct is not the same as Nonnegatives so that we can disambiguate x >= y and x - y in Nonnegatives().

      This struct is not intended for general usage, but it may be useful to some JuMP extensions.

      Example

      julia> operator_to_set(error, Val(:>=))
      -GreaterThanZero()
      source

      HermitianMatrixAdjointShape

      HermitianMatrixShape

      GenericReferenceMap

      JuMP.GenericReferenceMapType
      GenericReferenceMap{T}

      Mapping between variable and constraint reference of a model and its copy. The reference of the copied model can be obtained by indexing the map with the reference of the corresponding reference of the original model.

      source

      GenericVariableRef

      JuMP.GenericVariableRefType
      GenericVariableRef{T} <: AbstractVariableRef

      Holds a reference to the model and the corresponding MOI.VariableIndex.

      source

      GreaterThanZero

      JuMP.GreaterThanZeroType
      GreaterThanZero()

      A struct used to intercept when >= or is used in a macro via operator_to_set.

      This struct is not the same as Nonnegatives so that we can disambiguate x >= y and x - y in Nonnegatives().

      This struct is not intended for general usage, but it may be useful to some JuMP extensions.

      Example

      julia> operator_to_set(error, Val(:>=))
      +GreaterThanZero()
      source

      HermitianMatrixAdjointShape

      HermitianMatrixShape

      JuMP.HermitianMatrixShapeType
      HermitianMatrixShape(
           side_dimension::Int;
           needs_adjoint_dual::Bool = false,
      -)

      The shape object for a Hermitian square matrix of side_dimension rows and columns.

      The vectorized form corresponds to MOI.HermitianPositiveSemidefiniteConeTriangle.

      needs_adjoint_dual

      By default, the dual_shape of HermitianMatrixShape is also HermitianMatrixShape. This is true for cases such as a LinearAlgebra.Hermitian matrix in HermitianPSDCone.

      However, JuMP also supports LinearAlgebra.Hermitian matrix in Zeros, which is interpreted as an element-wise equality constraint. By exploiting symmetry, we pass only the upper triangle of the equality constraints. This works for the primal, but it leads to a factor of 2 difference in the off-diagonal dual elements. (The dual value of the (i, j) element in the triangle formulation should be divided by 2 when spread across the (i, j) and (j, i) elements in the square matrix formulation.) If the constraint has this dual inconsistency, set needs_adjoint_dual = true.

      source

      HermitianMatrixSpace

      JuMP.HermitianMatrixSpaceType
      HermitianMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be hermitian.

      Example

      julia> model = Model();
      +)

      The shape object for a Hermitian square matrix of side_dimension rows and columns.

      The vectorized form corresponds to MOI.HermitianPositiveSemidefiniteConeTriangle.

      needs_adjoint_dual

      By default, the dual_shape of HermitianMatrixShape is also HermitianMatrixShape. This is true for cases such as a LinearAlgebra.Hermitian matrix in HermitianPSDCone.

      However, JuMP also supports LinearAlgebra.Hermitian matrix in Zeros, which is interpreted as an element-wise equality constraint. By exploiting symmetry, we pass only the upper triangle of the equality constraints. This works for the primal, but it leads to a factor of 2 difference in the off-diagonal dual elements. (The dual value of the (i, j) element in the triangle formulation should be divided by 2 when spread across the (i, j) and (j, i) elements in the square matrix formulation.) If the constraint has this dual inconsistency, set needs_adjoint_dual = true.

      source

      HermitianMatrixSpace

      JuMP.HermitianMatrixSpaceType
      HermitianMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be hermitian.

      Example

      julia> model = Model();
       
       julia> @variable(model, Q[1:2, 1:2] in HermitianMatrixSpace())
       2×2 LinearAlgebra.Hermitian{GenericAffExpr{ComplexF64, VariableRef}, Matrix{GenericAffExpr{ComplexF64, VariableRef}}}:
        real(Q[1,1])                    real(Q[1,2]) + imag(Q[1,2]) im
      - real(Q[1,2]) - imag(Q[1,2]) im  real(Q[2,2])
      source

      HermitianPSDCone

      JuMP.HermitianPSDConeType
      HermitianPSDCone

      Hermitian positive semidefinite cone object that can be used to create a Hermitian positive semidefinite square matrix in the @variable and @constraint macros.

      Example

      Consider the following example:

      julia> model = Model();
      + real(Q[1,2]) - imag(Q[1,2]) im  real(Q[2,2])
      source

      HermitianPSDCone

      JuMP.HermitianPSDConeType
      HermitianPSDCone

      Hermitian positive semidefinite cone object that can be used to create a Hermitian positive semidefinite square matrix in the @variable and @constraint macros.

      Example

      Consider the following example:

      julia> model = Model();
       
       julia> @variable(model, H[1:3, 1:3] in HermitianPSDCone())
       3×3 LinearAlgebra.Hermitian{GenericAffExpr{ComplexF64, VariableRef}, Matrix{GenericAffExpr{ComplexF64, VariableRef}}}:
      @@ -2801,18 +2801,18 @@
       
       julia> all_constraints(model, Vector{VariableRef}, MOI.HermitianPositiveSemidefiniteConeTriangle)
       1-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.VectorOfVariables, MathOptInterface.HermitianPositiveSemidefiniteConeTriangle}}}:
      - [real(H[1,1]), real(H[1,2]), real(H[2,2]), real(H[1,3]), real(H[2,3]), real(H[3,3]), imag(H[1,2]), imag(H[1,3]), imag(H[2,3])] ∈ MathOptInterface.HermitianPositiveSemidefiniteConeTriangle(3)

      We see in the output of the last commands that 9 real variables were created. The matrix H constrains affine expressions in terms of these 9 variables that parametrize a Hermitian matrix.

      source

      IntegerRef

      JuMP.IntegerRefFunction
      IntegerRef(v::GenericVariableRef)

      Return a constraint reference to the constraint constraining v to be integer.

      Errors if one does not exist.

      See also is_integer, set_integer, unset_integer.

      Example

      julia> model = Model();
      + [real(H[1,1]), real(H[1,2]), real(H[2,2]), real(H[1,3]), real(H[2,3]), real(H[3,3]), imag(H[1,2]), imag(H[1,3]), imag(H[2,3])] ∈ MathOptInterface.HermitianPositiveSemidefiniteConeTriangle(3)

      We see in the output of the last commands that 9 real variables were created. The matrix H constrains affine expressions in terms of these 9 variables that parametrize a Hermitian matrix.

      source

      IntegerRef

      JuMP.IntegerRefFunction
      IntegerRef(v::GenericVariableRef)

      Return a constraint reference to the constraint constraining v to be integer.

      Errors if one does not exist.

      See also is_integer, set_integer, unset_integer.

      Example

      julia> model = Model();
       
       julia> @variable(model, x, Int);
       
       julia> IntegerRef(x)
      -x integer
      source

      LPMatrixData

      LessThanZero

      JuMP.LessThanZeroType
      GreaterThanZero()

      A struct used to intercept when <= or is used in a macro via operator_to_set.

      This struct is not the same as Nonpositives so that we can disambiguate x <= y and x - y in Nonpositives().

      This struct is not intended for general usage, but it may be useful to some JuMP extensions.

      Example

      julia> operator_to_set(error, Val(:<=))
      -LessThanZero()
      source

      LinearTermIterator

      JuMP.LinearTermIteratorType
      LinearTermIterator{GAE<:GenericAffExpr}

      A struct that implements the iterate protocol in order to iterate over tuples of (coefficient, variable) in the GenericAffExpr.

      source

      LowerBoundRef

      LPMatrixData

      LessThanZero

      JuMP.LessThanZeroType
      GreaterThanZero()

      A struct used to intercept when <= or is used in a macro via operator_to_set.

      This struct is not the same as Nonpositives so that we can disambiguate x <= y and x - y in Nonpositives().

      This struct is not intended for general usage, but it may be useful to some JuMP extensions.

      Example

      julia> operator_to_set(error, Val(:<=))
      +LessThanZero()
      source

      LinearTermIterator

      JuMP.LinearTermIteratorType
      LinearTermIterator{GAE<:GenericAffExpr}

      A struct that implements the iterate protocol in order to iterate over tuples of (coefficient, variable) in the GenericAffExpr.

      source

      LowerBoundRef

      Model

      JuMP.ModelType
      Model([optimizer_factory;] add_bridges::Bool = true)

      Create a new instance of a JuMP model.

      If optimizer_factory is provided, the model is initialized with thhe optimizer returned by MOI.instantiate(optimizer_factory).

      If optimizer_factory is not provided, use set_optimizer to set the optimizer before calling optimize!.

      If add_bridges, JuMP adds a MOI.Bridges.LazyBridgeOptimizer to automatically reformulate the problem into a form supported by the optimizer.

      Example

      julia> import Ipopt
      +x ≥ 1
      source

      Model

      JuMP.ModelType
      Model([optimizer_factory;] add_bridges::Bool = true)

      Create a new instance of a JuMP model.

      If optimizer_factory is provided, the model is initialized with thhe optimizer returned by MOI.instantiate(optimizer_factory).

      If optimizer_factory is not provided, use set_optimizer to set the optimizer before calling optimize!.

      If add_bridges, JuMP adds a MOI.Bridges.LazyBridgeOptimizer to automatically reformulate the problem into a form supported by the optimizer.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
      @@ -2823,16 +2823,16 @@
       
       julia> import MultiObjectiveAlgorithms as MOA
       
      -julia> model = Model(() -> MOA.Optimizer(HiGHS.Optimizer); add_bridges = false);
      source

      ModelMode

      JuMP.ModelModeType
      ModelMode

      An enum to describe the state of the CachingOptimizer inside a JuMP model.

      See also: mode.

      Values

      Possible values are:

      • [AUTOMATIC]: moi_backend field holds a CachingOptimizer in AUTOMATIC mode.
      • [MANUAL]: moi_backend field holds a CachingOptimizer in MANUAL mode.
      • [DIRECT]: moi_backend field holds an AbstractOptimizer. No extra copy of the model is stored. The moi_backend must support add_constraint etc.
      source

      NLPEvaluator

      JuMP.NLPEvaluatorFunction
      NLPEvaluator(
      +julia> model = Model(() -> MOA.Optimizer(HiGHS.Optimizer); add_bridges = false);
      source

      ModelMode

      JuMP.ModelModeType
      ModelMode

      An enum to describe the state of the CachingOptimizer inside a JuMP model.

      See also: mode.

      Values

      Possible values are:

      • [AUTOMATIC]: moi_backend field holds a CachingOptimizer in AUTOMATIC mode.
      • [MANUAL]: moi_backend field holds a CachingOptimizer in MANUAL mode.
      • [DIRECT]: moi_backend field holds an AbstractOptimizer. No extra copy of the model is stored. The moi_backend must support add_constraint etc.
      source

      NLPEvaluator

      JuMP.NLPEvaluatorFunction
      NLPEvaluator(
           model::Model,
           _differentiation_backend::MOI.Nonlinear.AbstractAutomaticDifferentiation =
               MOI.Nonlinear.SparseReverseMode(),
      -)

      Return an MOI.AbstractNLPEvaluator constructed from model

      Warning

      Before using, you must initialize the evaluator using MOI.initialize.

      Experimental

      These features may change or be removed in any future version of JuMP.

      Pass _differentiation_backend to specify the differentiation backend used to compute derivatives.

      source

      NoOptimizer

      JuMP.NoOptimizerType
      struct NoOptimizer <: Exception end

      An error thrown when no optimizer is set and one is required.

      The optimizer can be provided to the Model constructor or by calling set_optimizer.

      Example

      julia> model = Model();
      +)

      Return an MOI.AbstractNLPEvaluator constructed from model

      Warning

      Before using, you must initialize the evaluator using MOI.initialize.

      Experimental

      These features may change or be removed in any future version of JuMP.

      Pass _differentiation_backend to specify the differentiation backend used to compute derivatives.

      source

      NoOptimizer

      JuMP.NoOptimizerType
      struct NoOptimizer <: Exception end

      An error thrown when no optimizer is set and one is required.

      The optimizer can be provided to the Model constructor or by calling set_optimizer.

      Example

      julia> model = Model();
       
       julia> optimize!(model)
       ERROR: NoOptimizer()
       Stacktrace:
      -[...]
      source

      NonlinearExpr

      NonlinearOperator

      JuMP.NonlinearOperatorType
      NonlinearOperator(func::Function, head::Symbol)

      A callable struct (functor) representing a function named head.

      When called with AbstractJuMPScalars, the struct returns a GenericNonlinearExpr.

      When called with non-JuMP types, the struct returns the evaluation of func(args...).

      Unless head is special-cased by the optimizer, the operator must have already been added to the model using add_nonlinear_operator or @operator.

      Example

      julia> model = Model();
      +[...]
      source

      NonlinearExpr

      NonlinearOperator

      JuMP.NonlinearOperatorType
      NonlinearOperator(func::Function, head::Symbol)

      A callable struct (functor) representing a function named head.

      When called with AbstractJuMPScalars, the struct returns a GenericNonlinearExpr.

      When called with non-JuMP types, the struct returns the evaluation of func(args...).

      Unless head is special-cased by the optimizer, the operator must have already been added to the model using add_nonlinear_operator or @operator.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -2856,7 +2856,7 @@
       op_f(x)
       
       julia> bar(2.0)
      -4.0
      source

      Nonnegatives

      JuMP.NonnegativesType
      Nonnegatives()

      The JuMP equivalent of the MOI.Nonnegatives set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
      +4.0
      source

      Nonnegatives

      JuMP.NonnegativesType
      Nonnegatives()

      The JuMP equivalent of the MOI.Nonnegatives set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2])
       2-element Vector{VariableRef}:
      @@ -2871,7 +2871,7 @@
       julia> b = [5, 6];
       
       julia> @constraint(model, A * x >= b)
      -[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonnegatives()
      source

      Nonpositives

      JuMP.NonpositivesType
      Nonpositives()

      The JuMP equivalent of the MOI.Nonpositives set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
      +[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonnegatives()
      source

      Nonpositives

      JuMP.NonpositivesType
      Nonpositives()

      The JuMP equivalent of the MOI.Nonpositives set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2])
       2-element Vector{VariableRef}:
      @@ -2886,14 +2886,14 @@
       julia> b = [5, 6];
       
       julia> @constraint(model, A * x <= b)
      -[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonpositives()
      source

      OptimizationSense

      OptimizeNotCalled

      JuMP.OptimizeNotCalledType
      struct OptimizeNotCalled <: Exception end

      An error thrown when a result attribute cannot be queried before optimize! is called.

      Example

      julia> import Ipopt
      +[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonpositives()
      source

      OptimizationSense

      OptimizeNotCalled

      JuMP.OptimizeNotCalledType
      struct OptimizeNotCalled <: Exception end

      An error thrown when a result attribute cannot be queried before optimize! is called.

      Example

      julia> import Ipopt
       
       julia> model = Model(Ipopt.Optimizer);
       
       julia> objective_value(model)
       ERROR: OptimizeNotCalled()
       Stacktrace:
      -[...]
      source

      PSDCone

      JuMP.PSDConeType
      PSDCone

      Positive semidefinite cone object that can be used to constrain a square matrix to be positive semidefinite in the @constraint macro.

      If the matrix has type Symmetric then the columns vectorization (the vector obtained by concatenating the columns) of its upper triangular part is constrained to belong to the MOI.PositiveSemidefiniteConeTriangle set, otherwise its column vectorization is constrained to belong to the MOI.PositiveSemidefiniteConeSquare set.

      Example

      Non-symmetric case:

      julia> model = Model();
      +[...]
      source

      PSDCone

      JuMP.PSDConeType
      PSDCone

      Positive semidefinite cone object that can be used to constrain a square matrix to be positive semidefinite in the @constraint macro.

      If the matrix has type Symmetric then the columns vectorization (the vector obtained by concatenating the columns) of its upper triangular part is constrained to belong to the MOI.PositiveSemidefiniteConeTriangle set, otherwise its column vectorization is constrained to belong to the MOI.PositiveSemidefiniteConeSquare set.

      Example

      Non-symmetric case:

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -2934,7 +2934,7 @@
        x - 4
       
       julia> moi_set(constraint_object(cref))
      -MathOptInterface.PositiveSemidefiniteConeTriangle(2)
      source

      Parameter

      JuMP.ParameterType
      Parameter(value)

      A short-cut for the MOI.Parameter set.

      Example

      julia> model = Model();
      +MathOptInterface.PositiveSemidefiniteConeTriangle(2)
      source

      Parameter

      JuMP.ParameterType
      Parameter(value)

      A short-cut for the MOI.Parameter set.

      Example

      julia> model = Model();
       
       julia> @variable(model, x in Parameter(2))
       x
      @@ -2942,7 +2942,7 @@
       julia> print(model)
       Feasibility
       Subject to
      - x ∈ MathOptInterface.Parameter{Float64}(2.0)
      source

      ParameterRef

      ParameterRef

      JuMP.ParameterRefFunction
      ParameterRef(x::GenericVariableRef)

      Return a constraint reference to the constraint constraining x to be a parameter.

      Errors if one does not exist.

      See also is_parameter, set_parameter_value, parameter_value.

      Example

      julia> model = Model();
       
       julia> @variable(model, p in Parameter(2))
       p
      @@ -2955,7 +2955,7 @@
       julia> ParameterRef(x)
       ERROR: Variable x is not a parameter.
       Stacktrace:
      -[...]
      source

      QuadExpr

      QuadTermIterator

      JuMP.QuadTermIteratorType
      QuadTermIterator{GQE<:GenericQuadExpr}

      A struct that implements the iterate protocol in order to iterate over tuples of (coefficient, variable, variable) in the GenericQuadExpr.

      source

      ReferenceMap

      JuMP.ReferenceMapType
      GenericReferenceMap{T}

      Mapping between variable and constraint reference of a model and its copy. The reference of the copied model can be obtained by indexing the map with the reference of the corresponding reference of the original model.

      source

      ResultStatusCode

      JuMP.ResultStatusCodeType
      ResultStatusCode

      An Enum of possible values for the PrimalStatus and DualStatus attributes.

      The values indicate how to interpret the result vector.

      Values

      Possible values are:

      • NO_SOLUTION: the result vector is empty.
      • FEASIBLE_POINT: the result vector is a feasible point.
      • NEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.
      • INFEASIBLE_POINT: the result vector is an infeasible point.
      • INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.
      • NEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.
      • REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.
      • NEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.
      • UNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.
      • OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above
      source

      RotatedSecondOrderCone

      JuMP.RotatedSecondOrderConeType
      RotatedSecondOrderCone

      Rotated second order cone object that can be used to constrain the square of the euclidean norm of a vector x to be less than or equal to $2tu$ where t and u are nonnegative scalars. This is a shortcut for the MOI.RotatedSecondOrderCone.

      Example

      The following constrains $\|(x-1, x-2)\|^2_2 \le 2tx$ and $t, x \ge 0$:

      julia> model = Model();
      +[...]
      source

      QuadExpr

      QuadTermIterator

      JuMP.QuadTermIteratorType
      QuadTermIterator{GQE<:GenericQuadExpr}

      A struct that implements the iterate protocol in order to iterate over tuples of (coefficient, variable, variable) in the GenericQuadExpr.

      source

      ReferenceMap

      JuMP.ReferenceMapType
      GenericReferenceMap{T}

      Mapping between variable and constraint reference of a model and its copy. The reference of the copied model can be obtained by indexing the map with the reference of the corresponding reference of the original model.

      source

      ResultStatusCode

      JuMP.ResultStatusCodeType
      ResultStatusCode

      An Enum of possible values for the PrimalStatus and DualStatus attributes.

      The values indicate how to interpret the result vector.

      Values

      Possible values are:

      • NO_SOLUTION: the result vector is empty.
      • FEASIBLE_POINT: the result vector is a feasible point.
      • NEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.
      • INFEASIBLE_POINT: the result vector is an infeasible point.
      • INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.
      • NEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.
      • REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.
      • NEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.
      • UNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.
      • OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above
      source

      RotatedSecondOrderCone

      JuMP.RotatedSecondOrderConeType
      RotatedSecondOrderCone

      Rotated second order cone object that can be used to constrain the square of the euclidean norm of a vector x to be less than or equal to $2tu$ where t and u are nonnegative scalars. This is a shortcut for the MOI.RotatedSecondOrderCone.

      Example

      The following constrains $\|(x-1, x-2)\|^2_2 \le 2tx$ and $t, x \ge 0$:

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -2964,7 +2964,7 @@
       t
       
       julia> @constraint(model, [t, x, x-1, x-2] in RotatedSecondOrderCone())
      -[t, x, x - 1, x - 2] ∈ MathOptInterface.RotatedSecondOrderCone(4)
      source

      SOS1

      JuMP.SOS1Type
      SOS1(weights = Real[])

      The SOS1 (Special Ordered Set of Type 1) set constrains a vector x to the set where at most one variable can take a non-zero value, and all other elements are zero.

      The weights vector, if specified, induces an ordering of the variables; as such, it should contain unique values. The weights vector must have the same number of elements as the vector x, and the element weights[i] corresponds to element x[i]. If not provided, the weights vector defaults to weights[i] = i.

      This is a shortcut for the MOI.SOS1 set.

      Example

      julia> model = Model();
      +[t, x, x - 1, x - 2] ∈ MathOptInterface.RotatedSecondOrderCone(4)
      source

      SOS1

      JuMP.SOS1Type
      SOS1(weights = Real[])

      The SOS1 (Special Ordered Set of Type 1) set constrains a vector x to the set where at most one variable can take a non-zero value, and all other elements are zero.

      The weights vector, if specified, induces an ordering of the variables; as such, it should contain unique values. The weights vector must have the same number of elements as the vector x, and the element weights[i] corresponds to element x[i]. If not provided, the weights vector defaults to weights[i] = i.

      This is a shortcut for the MOI.SOS1 set.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:3] in SOS1([4.1, 3.2, 5.0]))
       3-element Vector{VariableRef}:
      @@ -2975,7 +2975,7 @@
       julia> print(model)
       Feasibility
       Subject to
      - [x[1], x[2], x[3]] ∈ MathOptInterface.SOS1{Float64}([4.1, 3.2, 5.0])
      source

      SOS2

      JuMP.SOS2Type
      SOS2(weights = Real[])

      The SOS2 (Special Ordered Set of Type 2) set constrains a vector x to the set where at most two variables can take a non-zero value, and all other elements are zero. In addition, the two non-zero values must be consecutive given the ordering of the x vector induced by weights.

      The weights vector, if specified, induces an ordering of the variables; as such, it must contain unique values. The weights vector must have the same number of elements as the vector x, and the element weights[i] corresponds to element x[i]. If not provided, the weights vector defaults to weights[i] = i.

      This is a shortcut for the MOI.SOS2 set.

      Example

      julia> model = Model();
      + [x[1], x[2], x[3]] ∈ MathOptInterface.SOS1{Float64}([4.1, 3.2, 5.0])
      source

      SOS2

      JuMP.SOS2Type
      SOS2(weights = Real[])

      The SOS2 (Special Ordered Set of Type 2) set constrains a vector x to the set where at most two variables can take a non-zero value, and all other elements are zero. In addition, the two non-zero values must be consecutive given the ordering of the x vector induced by weights.

      The weights vector, if specified, induces an ordering of the variables; as such, it must contain unique values. The weights vector must have the same number of elements as the vector x, and the element weights[i] corresponds to element x[i]. If not provided, the weights vector defaults to weights[i] = i.

      This is a shortcut for the MOI.SOS2 set.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:3] in SOS2([4.1, 3.2, 5.0]))
       3-element Vector{VariableRef}:
      @@ -2986,7 +2986,7 @@
       julia> print(model)
       Feasibility
       Subject to
      - [x[1], x[2], x[3]] ∈ MathOptInterface.SOS2{Float64}([4.1, 3.2, 5.0])
      source

      ScalarConstraint

      JuMP.ScalarConstraintType
      struct ScalarConstraint

      The data for a scalar constraint.

      See also the documentation on JuMP's representation of constraints for more background.

      Fields

      • .func: field contains a JuMP object representing the function
      • .set: field contains the MOI set

      Example

      A scalar constraint:

      julia> model = Model();
      + [x[1], x[2], x[3]] ∈ MathOptInterface.SOS2{Float64}([4.1, 3.2, 5.0])
      source

      ScalarConstraint

      JuMP.ScalarConstraintType
      struct ScalarConstraint

      The data for a scalar constraint.

      See also the documentation on JuMP's representation of constraints for more background.

      Fields

      • .func: field contains a JuMP object representing the function
      • .set: field contains the MOI set

      Example

      A scalar constraint:

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3003,14 +3003,14 @@
       2 x
       
       julia> object.set
      -MathOptInterface.LessThan{Float64}(1.0)
      source

      ScalarShape

      ScalarShape

      JuMP.ScalarShapeType
      ScalarShape()

      An AbstractShape that represents scalar constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
       julia> c = @constraint(model, x[2] <= 1);
       
       julia> shape(constraint_object(c))
      -ScalarShape()
      source

      ScalarVariable

      SecondOrderCone

      JuMP.SecondOrderConeType
      SecondOrderCone

      Second order cone object that can be used to constrain the euclidean norm of a vector x to be less than or equal to a nonnegative scalar t. This is a shortcut for the MOI.SecondOrderCone.

      Example

      The following constrains $\|(x-1, x-2)\|_2 \le t$ and $t \ge 0$:

      julia> model = Model();
      +ScalarShape()
      source

      ScalarVariable

      SecondOrderCone

      JuMP.SecondOrderConeType
      SecondOrderCone

      Second order cone object that can be used to constrain the euclidean norm of a vector x to be less than or equal to a nonnegative scalar t. This is a shortcut for the MOI.SecondOrderCone.

      Example

      The following constrains $\|(x-1, x-2)\|_2 \le t$ and $t \ge 0$:

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -3019,7 +3019,7 @@
       t
       
       julia> @constraint(model, [t, x-1, x-2] in SecondOrderCone())
      -[t, x - 1, x - 2] ∈ MathOptInterface.SecondOrderCone(3)
      source

      Semicontinuous

      JuMP.SemicontinuousType
      Semicontinuous(lower, upper)

      A short-cut for the MOI.Semicontinuous set.

      This short-cut is useful because it automatically promotes lower and upper to the same type, and converts them into the element type supported by the JuMP model.

      Example

      julia> model = Model();
      +[t, x - 1, x - 2] ∈ MathOptInterface.SecondOrderCone(3)
      source

      Semicontinuous

      JuMP.SemicontinuousType
      Semicontinuous(lower, upper)

      A short-cut for the MOI.Semicontinuous set.

      This short-cut is useful because it automatically promotes lower and upper to the same type, and converts them into the element type supported by the JuMP model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x in Semicontinuous(1, 2))
       x
      @@ -3027,7 +3027,7 @@
       julia> print(model)
       Feasibility
       Subject to
      - x ∈ MathOptInterface.Semicontinuous{Int64}(1, 2)
      source

      Semiinteger

      JuMP.SemiintegerType
      Semiinteger(lower, upper)

      A short-cut for the MOI.Semiinteger set.

      This short-cut is useful because it automatically promotes lower and upper to the same type, and converts them into the element type supported by the JuMP model.

      Example

      julia> model = Model();
      + x ∈ MathOptInterface.Semicontinuous{Int64}(1, 2)
      source

      Semiinteger

      JuMP.SemiintegerType
      Semiinteger(lower, upper)

      A short-cut for the MOI.Semiinteger set.

      This short-cut is useful because it automatically promotes lower and upper to the same type, and converts them into the element type supported by the JuMP model.

      Example

      julia> model = Model();
       
       julia> @variable(model, x in Semiinteger(3, 5))
       x
      @@ -3035,12 +3035,12 @@
       julia> print(model)
       Feasibility
       Subject to
      - x ∈ MathOptInterface.Semiinteger{Int64}(3, 5)
      source

      SensitivityReport

      SkewSymmetricMatrixShape

      JuMP.SkewSymmetricMatrixShapeType
      SkewSymmetricMatrixShape

      Shape object for a skew symmetric square matrix of side_dimension rows and columns. The vectorized form contains the entries of the upper-right triangular part of the matrix (without the diagonal) given column by column (or equivalently, the entries of the lower-left triangular part given row by row). The diagonal is zero.

      source

      SkewSymmetricMatrixSpace

      JuMP.SkewSymmetricMatrixSpaceType
      SkewSymmetricMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be skew-symmetric.

      Example

      julia> model = Model();
      + x ∈ MathOptInterface.Semiinteger{Int64}(3, 5)
      source

      SensitivityReport

      SkewSymmetricMatrixShape

      JuMP.SkewSymmetricMatrixShapeType
      SkewSymmetricMatrixShape

      Shape object for a skew symmetric square matrix of side_dimension rows and columns. The vectorized form contains the entries of the upper-right triangular part of the matrix (without the diagonal) given column by column (or equivalently, the entries of the lower-left triangular part given row by row). The diagonal is zero.

      source

      SkewSymmetricMatrixSpace

      JuMP.SkewSymmetricMatrixSpaceType
      SkewSymmetricMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be skew-symmetric.

      Example

      julia> model = Model();
       
       julia> @variable(model, Q[1:2, 1:2] in SkewSymmetricMatrixSpace())
       2×2 Matrix{AffExpr}:
        0        Q[1,2]
      - -Q[1,2]  0
      source

      SkipModelConvertScalarSetWrapper

      JuMP.SkipModelConvertScalarSetWrapperType
      SkipModelConvertScalarSetWrapper(set::MOI.AbstractScalarSet)

      JuMP uses model_convert to automatically promote MOI.AbstractScalarSet sets to the same value_type as the model.

      In cases there this is undesirable, wrap the set in SkipModelConvertScalarSetWrapper to pass the set un-changed to the solver.

      Warning

      This struct is intended for use internally by JuMP extensions. You should not need to use it in regular JuMP code.

      Example

      julia> model = Model();
      + -Q[1,2]  0
      source

      SkipModelConvertScalarSetWrapper

      JuMP.SkipModelConvertScalarSetWrapperType
      SkipModelConvertScalarSetWrapper(set::MOI.AbstractScalarSet)

      JuMP uses model_convert to automatically promote MOI.AbstractScalarSet sets to the same value_type as the model.

      In cases there this is undesirable, wrap the set in SkipModelConvertScalarSetWrapper to pass the set un-changed to the solver.

      Warning

      This struct is intended for use internally by JuMP extensions. You should not need to use it in regular JuMP code.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3048,15 +3048,15 @@
       x = 0.5
       
       julia> @constraint(model, x in SkipModelConvertScalarSetWrapper(MOI.EqualTo(1 // 2)))
      -x = 1//2
      source

      SquareMatrixShape

      JuMP.SquareMatrixShapeType
      SquareMatrixShape

      Shape object for a square matrix of side_dimension rows and columns. The vectorized form contains the entries of the matrix given column by column (or equivalently, the entries of the lower-left triangular part given row by row).

      source

      SymmetricMatrixAdjointShape

      SymmetricMatrixShape

      SquareMatrixShape

      JuMP.SquareMatrixShapeType
      SquareMatrixShape

      Shape object for a square matrix of side_dimension rows and columns. The vectorized form contains the entries of the matrix given column by column (or equivalently, the entries of the lower-left triangular part given row by row).

      source

      SymmetricMatrixAdjointShape

      SymmetricMatrixShape

      JuMP.SymmetricMatrixShapeType
      SymmetricMatrixShape(
           side_dimension::Int;
           needs_adjoint_dual::Bool = false,
      -)

      The shape object for a symmetric square matrix of side_dimension rows and columns.

      The vectorized form contains the entries of the upper-right triangular part of the matrix given column by column (or equivalently, the entries of the lower-left triangular part given row by row).

      needs_adjoint_dual

      By default, the dual_shape of SymmetricMatrixShape is also SymmetricMatrixShape. This is true for cases such as a LinearAlgebra.Symmetric matrix in PSDCone.

      However, JuMP also supports LinearAlgebra.Symmetric matrix in Zeros, which is interpreted as an element-wise equality constraint. By exploiting symmetry, we pass only the upper triangle of the equality constraints. This works for the primal, but it leads to a factor of 2 difference in the off-diagonal dual elements. (The dual value of the (i, j) element in the triangle formulation should be divided by 2 when spread across the (i, j) and (j, i) elements in the square matrix formulation.) If the constraint has this dual inconsistency, set needs_adjoint_dual = true.

      source

      SymmetricMatrixSpace

      JuMP.SymmetricMatrixSpaceType
      SymmetricMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be symmetric.

      Example

      julia> model = Model();
      +)

      The shape object for a symmetric square matrix of side_dimension rows and columns.

      The vectorized form contains the entries of the upper-right triangular part of the matrix given column by column (or equivalently, the entries of the lower-left triangular part given row by row).

      needs_adjoint_dual

      By default, the dual_shape of SymmetricMatrixShape is also SymmetricMatrixShape. This is true for cases such as a LinearAlgebra.Symmetric matrix in PSDCone.

      However, JuMP also supports LinearAlgebra.Symmetric matrix in Zeros, which is interpreted as an element-wise equality constraint. By exploiting symmetry, we pass only the upper triangle of the equality constraints. This works for the primal, but it leads to a factor of 2 difference in the off-diagonal dual elements. (The dual value of the (i, j) element in the triangle formulation should be divided by 2 when spread across the (i, j) and (j, i) elements in the square matrix formulation.) If the constraint has this dual inconsistency, set needs_adjoint_dual = true.

      source

      SymmetricMatrixSpace

      JuMP.SymmetricMatrixSpaceType
      SymmetricMatrixSpace()

      Use in the @variable macro to constrain a matrix of variables to be symmetric.

      Example

      julia> model = Model();
       
       julia> @variable(model, Q[1:2, 1:2] in SymmetricMatrixSpace())
       2×2 LinearAlgebra.Symmetric{VariableRef, Matrix{VariableRef}}:
        Q[1,1]  Q[1,2]
      - Q[1,2]  Q[2,2]
      source

      TerminationStatusCode

      JuMP.TerminationStatusCodeType
      TerminationStatusCode

      An Enum of possible values for the TerminationStatus attribute. This attribute is meant to explain the reason why the optimizer stopped executing in the most recent call to optimize!.

      Values

      Possible values are:

      • OPTIMIZE_NOT_CALLED: The algorithm has not started.
      • OPTIMAL: The algorithm found a globally optimal solution.
      • INFEASIBLE: The algorithm concluded that no feasible solution exists.
      • DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.
      • LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.
      • LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.
      • INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.
      • ALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.
      • ALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.
      • ALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.
      • ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.
      • ITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.
      • TIME_LIMIT: The algorithm stopped after a user-specified computation time.
      • NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.
      • SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.
      • MEMORY_LIMIT: The algorithm stopped because it ran out of memory.
      • OBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.
      • NORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.
      • OTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.
      • SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.
      • NUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.
      • INVALID_MODEL: The algorithm stopped because the model is invalid.
      • INVALID_OPTION: The algorithm stopped because it was provided an invalid option.
      • INTERRUPTED: The algorithm stopped because of an interrupt signal.
      • OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.
      source

      UnorderedPair

      TerminationStatusCode

      JuMP.TerminationStatusCodeType
      TerminationStatusCode

      An Enum of possible values for the TerminationStatus attribute. This attribute is meant to explain the reason why the optimizer stopped executing in the most recent call to optimize!.

      Values

      Possible values are:

      • OPTIMIZE_NOT_CALLED: The algorithm has not started.
      • OPTIMAL: The algorithm found a globally optimal solution.
      • INFEASIBLE: The algorithm concluded that no feasible solution exists.
      • DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.
      • LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.
      • LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.
      • INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.
      • ALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.
      • ALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.
      • ALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.
      • ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.
      • ITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.
      • TIME_LIMIT: The algorithm stopped after a user-specified computation time.
      • NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.
      • SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.
      • MEMORY_LIMIT: The algorithm stopped because it ran out of memory.
      • OBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.
      • NORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.
      • OTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.
      • SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.
      • NUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.
      • INVALID_MODEL: The algorithm stopped because the model is invalid.
      • INVALID_OPTION: The algorithm stopped because it was provided an invalid option.
      • INTERRUPTED: The algorithm stopped because of an interrupt signal.
      • OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.
      source

      UnorderedPair

      JuMP.UnorderedPairType
      UnorderedPair(a::T, b::T)

      A wrapper type used by GenericQuadExpr with fields .a and .b.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -3065,12 +3065,12 @@
       
       julia> expr.terms
       OrderedCollections.OrderedDict{UnorderedPair{VariableRef}, Float64} with 1 entry:
      -  UnorderedPair{VariableRef}(x[1], x[2]) => 2.0
      source

      UpperBoundRef

      UpperBoundRef

      VariableConstrainedOnCreation

      JuMP.VariableConstrainedOnCreationType
      VariableConstrainedOnCreation <: AbstractVariable

      Variable scalar_variables constrained to belong to set.

      Adding this variable can be understood as doing:

      function JuMP.add_variable(
      +x ≤ 1
      source

      VariableConstrainedOnCreation

      JuMP.VariableConstrainedOnCreationType
      VariableConstrainedOnCreation <: AbstractVariable

      Variable scalar_variables constrained to belong to set.

      Adding this variable can be understood as doing:

      function JuMP.add_variable(
           model::GenericModel,
           variable::VariableConstrainedOnCreation,
           names,
      @@ -3078,9 +3078,9 @@
           var_ref = add_variable(model, variable.scalar_variable, name)
           add_constraint(model, VectorConstraint(var_ref, variable.set))
           return var_ref
      -end

      but adds the variables with MOI.add_constrained_variable(model, variable.set) instead.

      source

      VariableInfo

      JuMP.VariableInfoType
      VariableInfo{S,T,U,V}

      A struct by JuMP internally when creating variables. This may also be used by JuMP extensions to create new types of variables.

      See also: ScalarVariable.

      source

      VariableNotOwned

      JuMP.VariableNotOwnedType
      struct VariableNotOwned{V<:AbstractVariableRef} <: Exception
      +end

      but adds the variables with MOI.add_constrained_variable(model, variable.set) instead.

      source

      VariableInfo

      JuMP.VariableInfoType
      VariableInfo{S,T,U,V}

      A struct by JuMP internally when creating variables. This may also be used by JuMP extensions to create new types of variables.

      See also: ScalarVariable.

      source

      VariableNotOwned

      JuMP.VariableNotOwnedType
      struct VariableNotOwned{V<:AbstractVariableRef} <: Exception
           variable::V
      -end

      The variable variable was used in a model different to owner_model(variable).

      source

      VariableRef

      JuMP.VariableRefType
      GenericVariableRef{T} <: AbstractVariableRef

      Holds a reference to the model and the corresponding MOI.VariableIndex.

      source

      VariablesConstrainedOnCreation

      JuMP.VariablesConstrainedOnCreationType
      VariablesConstrainedOnCreation <: AbstractVariable

      Vector of variables scalar_variables constrained to belong to set. Adding this variable can be thought as doing:

      function JuMP.add_variable(
      +end

      The variable variable was used in a model different to owner_model(variable).

      source

      VariableRef

      JuMP.VariableRefType
      GenericVariableRef{T} <: AbstractVariableRef

      Holds a reference to the model and the corresponding MOI.VariableIndex.

      source

      VariablesConstrainedOnCreation

      JuMP.VariablesConstrainedOnCreationType
      VariablesConstrainedOnCreation <: AbstractVariable

      Vector of variables scalar_variables constrained to belong to set. Adding this variable can be thought as doing:

      function JuMP.add_variable(
           model::GenericModel,
           variable::VariablesConstrainedOnCreation,
           names,
      @@ -3089,7 +3089,7 @@
           var_refs = add_variable.(model, variable.scalar_variables, v_names)
           add_constraint(model, VectorConstraint(var_refs, variable.set))
           return reshape_vector(var_refs, variable.shape)
      -end

      but adds the variables with MOI.add_constrained_variables(model, variable.set) instead. See the MOI documentation for the difference between adding the variables with MOI.add_constrained_variables and adding them with MOI.add_variables and adding the constraint separately.

      source

      VectorConstraint

      JuMP.VectorConstraintType
      struct VectorConstraint

      The data for a vector constraint.

      See also the documentation on JuMP's representation of constraints.

      Fields

      • func: field contains a JuMP object representing the function
      • set: field contains the MOI set.
      • shape: field contains an AbstractShape matching the form in which the constraint was constructed (for example, by using matrices or flat vectors).

      Example

      julia> model = Model();
      +end

      but adds the variables with MOI.add_constrained_variables(model, variable.set) instead. See the MOI documentation for the difference between adding the variables with MOI.add_constrained_variables and adding them with MOI.add_variables and adding the constraint separately.

      source

      VectorConstraint

      JuMP.VectorConstraintType
      struct VectorConstraint

      The data for a vector constraint.

      See also the documentation on JuMP's representation of constraints.

      Fields

      • func: field contains a JuMP object representing the function
      • set: field contains the MOI set.
      • shape: field contains an AbstractShape matching the form in which the constraint was constructed (for example, by using matrices or flat vectors).

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:3]);
       
      @@ -3112,14 +3112,14 @@
       MathOptInterface.SecondOrderCone(3)
       
       julia> object.shape
      -VectorShape()
      source

      VectorShape

      VectorShape

      JuMP.VectorShapeType
      VectorShape()

      An AbstractShape that represents vector-valued constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
       julia> c = @constraint(model, x in SOS1());
       
       julia> shape(constraint_object(c))
      -VectorShape()
      source

      Zeros

      JuMP.ZerosType
      Zeros()

      The JuMP equivalent of the MOI.Zeros set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
      +VectorShape()
      source

      Zeros

      JuMP.ZerosType
      Zeros()

      The JuMP equivalent of the MOI.Zeros set, in which the dimension is inferred from the corresponding function.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2])
       2-element Vector{VariableRef}:
      @@ -3134,7 +3134,7 @@
       julia> b = [5, 6];
       
       julia> @constraint(model, A * x == b)
      -[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Zeros()
      source

      ALMOST_DUAL_INFEASIBLE

      ALMOST_INFEASIBLE

      ALMOST_LOCALLY_SOLVED

      JuMP.ALMOST_LOCALLY_SOLVEDConstant
      ALMOST_LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.

      source

      ALMOST_OPTIMAL

      AUTOMATIC

      DIRECT

      JuMP.DIRECTConstant

      moi_backend field holds an AbstractOptimizer. No extra copy of the model is stored. The moi_backend must support add_constraint etc.

      source

      DUAL_INFEASIBLE

      JuMP.DUAL_INFEASIBLEConstant
      DUAL_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.

      source

      FEASIBILITY_SENSE

      FEASIBLE_POINT

      INFEASIBILITY_CERTIFICATE

      JuMP.INFEASIBILITY_CERTIFICATEConstant
      INFEASIBILITY_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.

      source

      INFEASIBLE

      INFEASIBLE_OR_UNBOUNDED

      JuMP.INFEASIBLE_OR_UNBOUNDEDConstant
      INFEASIBLE_OR_UNBOUNDED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.

      source

      INFEASIBLE_POINT

      INTERRUPTED

      INVALID_MODEL

      INVALID_OPTION

      ITERATION_LIMIT

      LOCALLY_INFEASIBLE

      JuMP.LOCALLY_INFEASIBLEConstant
      LOCALLY_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.

      source

      LOCALLY_SOLVED

      JuMP.LOCALLY_SOLVEDConstant
      LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.

      source

      MANUAL

      JuMP.MANUALConstant

      moi_backend field holds a CachingOptimizer in MANUAL mode.

      source

      MAX_SENSE

      MEMORY_LIMIT

      MIN_SENSE

      NEARLY_FEASIBLE_POINT

      NEARLY_INFEASIBILITY_CERTIFICATE

      NEARLY_REDUCTION_CERTIFICATE

      NODE_LIMIT

      JuMP.NODE_LIMITConstant
      NODE_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.

      source

      NORM_LIMIT

      NO_SOLUTION

      NUMERICAL_ERROR

      OBJECTIVE_LIMIT

      OPTIMAL

      OPTIMIZE_NOT_CALLED

      OTHER_ERROR

      JuMP.OTHER_ERRORConstant
      OTHER_ERROR::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.

      source

      OTHER_LIMIT

      OTHER_RESULT_STATUS

      JuMP.OTHER_RESULT_STATUSConstant
      OTHER_RESULT_STATUS::ResultStatusCode

      An instance of the ResultStatusCode enum.

      OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above

      source

      REDUCTION_CERTIFICATE

      JuMP.REDUCTION_CERTIFICATEConstant
      REDUCTION_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.

      source

      SLOW_PROGRESS

      JuMP.SLOW_PROGRESSConstant
      SLOW_PROGRESS::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.

      source

      SOLUTION_LIMIT

      JuMP.SOLUTION_LIMITConstant
      SOLUTION_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.

      source

      TIME_LIMIT

      UNKNOWN_RESULT_STATUS

      op_and

      JuMP.op_andConstant
      op_and(x, y)

      A function that falls back to x & y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
      +[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Zeros()
      source

      ALMOST_DUAL_INFEASIBLE

      ALMOST_INFEASIBLE

      ALMOST_LOCALLY_SOLVED

      JuMP.ALMOST_LOCALLY_SOLVEDConstant
      ALMOST_LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.

      source

      ALMOST_OPTIMAL

      AUTOMATIC

      DIRECT

      JuMP.DIRECTConstant

      moi_backend field holds an AbstractOptimizer. No extra copy of the model is stored. The moi_backend must support add_constraint etc.

      source

      DUAL_INFEASIBLE

      JuMP.DUAL_INFEASIBLEConstant
      DUAL_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.

      source

      FEASIBILITY_SENSE

      FEASIBLE_POINT

      INFEASIBILITY_CERTIFICATE

      JuMP.INFEASIBILITY_CERTIFICATEConstant
      INFEASIBILITY_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.

      source

      INFEASIBLE

      INFEASIBLE_OR_UNBOUNDED

      JuMP.INFEASIBLE_OR_UNBOUNDEDConstant
      INFEASIBLE_OR_UNBOUNDED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.

      source

      INFEASIBLE_POINT

      INTERRUPTED

      INVALID_MODEL

      INVALID_OPTION

      ITERATION_LIMIT

      LOCALLY_INFEASIBLE

      JuMP.LOCALLY_INFEASIBLEConstant
      LOCALLY_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.

      source

      LOCALLY_SOLVED

      JuMP.LOCALLY_SOLVEDConstant
      LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.

      source

      MANUAL

      JuMP.MANUALConstant

      moi_backend field holds a CachingOptimizer in MANUAL mode.

      source

      MAX_SENSE

      MEMORY_LIMIT

      MIN_SENSE

      NEARLY_FEASIBLE_POINT

      NEARLY_INFEASIBILITY_CERTIFICATE

      NEARLY_REDUCTION_CERTIFICATE

      NODE_LIMIT

      JuMP.NODE_LIMITConstant
      NODE_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.

      source

      NORM_LIMIT

      NO_SOLUTION

      NUMERICAL_ERROR

      OBJECTIVE_LIMIT

      OPTIMAL

      OPTIMIZE_NOT_CALLED

      OTHER_ERROR

      JuMP.OTHER_ERRORConstant
      OTHER_ERROR::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.

      source

      OTHER_LIMIT

      OTHER_RESULT_STATUS

      JuMP.OTHER_RESULT_STATUSConstant
      OTHER_RESULT_STATUS::ResultStatusCode

      An instance of the ResultStatusCode enum.

      OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above

      source

      REDUCTION_CERTIFICATE

      JuMP.REDUCTION_CERTIFICATEConstant
      REDUCTION_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.

      source

      SLOW_PROGRESS

      JuMP.SLOW_PROGRESSConstant
      SLOW_PROGRESS::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.

      source

      SOLUTION_LIMIT

      JuMP.SOLUTION_LIMITConstant
      SOLUTION_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.

      source

      TIME_LIMIT

      UNKNOWN_RESULT_STATUS

      op_and

      JuMP.op_andConstant
      op_and(x, y)

      A function that falls back to x & y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3142,7 +3142,7 @@
       false
       
       julia> op_and(true, x)
      -true && x
      source

      op_equal_to

      JuMP.op_equal_toConstant
      op_equal_to(x, y)

      A function that falls back to x == y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
      +true && x
      source

      op_equal_to

      JuMP.op_equal_toConstant
      op_equal_to(x, y)

      A function that falls back to x == y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3150,7 +3150,7 @@
       true
       
       julia> op_equal_to(x, 2)
      -x == 2
      source

      op_greater_than_or_equal_to

      op_greater_than_or_equal_to

      JuMP.op_greater_than_or_equal_toConstant
      op_greater_than_or_equal_to(x, y)

      A function that falls back to x >= y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3158,7 +3158,7 @@
       true
       
       julia> op_greater_than_or_equal_to(x, 2)
      -x >= 2
      source

      op_less_than_or_equal_to

      op_less_than_or_equal_to

      JuMP.op_less_than_or_equal_toConstant
      op_less_than_or_equal_to(x, y)

      A function that falls back to x <= y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3166,7 +3166,7 @@
       true
       
       julia> op_less_than_or_equal_to(x, 2)
      -x <= 2
      source

      op_or

      JuMP.op_orConstant
      op_or(x, y)

      A function that falls back to x | y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
      +x <= 2
      source

      op_or

      JuMP.op_orConstant
      op_or(x, y)

      A function that falls back to x | y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3174,7 +3174,7 @@
       true
       
       julia> op_or(true, x)
      -true || x
      source

      op_strictly_greater_than

      op_strictly_greater_than

      JuMP.op_strictly_greater_thanConstant
      op_strictly_greater_than(x, y)

      A function that falls back to x > y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3182,7 +3182,7 @@
       false
       
       julia> op_strictly_greater_than(x, 2)
      -x > 2
      source

      op_strictly_less_than

      op_strictly_less_than

      JuMP.op_strictly_less_thanConstant
      op_strictly_less_than(x, y)

      A function that falls back to x < y, but when called with JuMP variables or expressions, returns a GenericNonlinearExpr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3190,7 +3190,7 @@
       true
       
       julia> op_strictly_less_than(x, 2)
      -x < 2
      source

      Base.empty!(::GenericModel)

      Base.empty!Method
      empty!(model::GenericModel)::GenericModel

      Empty the model, that is, remove all variables, constraints and model attributes but not optimizer attributes. Always return the argument.

      Note: removes extensions data.

      Example

      julia> model = Model();
      +x < 2
      source

      Base.empty!(::GenericModel)

      Base.empty!Method
      empty!(model::GenericModel)::GenericModel

      Empty the model, that is, remove all variables, constraints and model attributes but not optimizer attributes. Always return the argument.

      Note: removes extensions data.

      Example

      julia> model = Model();
       
       julia> @variable(model, x[1:2]);
       
      @@ -3210,7 +3210,7 @@
       Subject to
       
       julia> isempty(model)
      -true
      source

      Base.isempty(::GenericModel)

      Base.isemptyMethod
      isempty(model::GenericModel)

      Verifies whether the model is empty, that is, whether the MOI backend is empty and whether the model is in the same state as at its creation, apart from optimizer attributes.

      Example

      julia> model = Model();
      +true
      source

      Base.isempty(::GenericModel)

      Base.isemptyMethod
      isempty(model::GenericModel)

      Verifies whether the model is empty, that is, whether the MOI backend is empty and whether the model is in the same state as at its creation, apart from optimizer attributes.

      Example

      julia> model = Model();
       
       julia> isempty(model)
       true
      @@ -3218,7 +3218,7 @@
       julia> @variable(model, x[1:2]);
       
       julia> isempty(model)
      -false
      source

      Base.copy(::AbstractModel)

      Base.copyMethod
      copy(model::AbstractModel)

      Return a copy of the model model. It is similar to copy_model except that it does not return the mapping between the references of model and its copy.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and a constraint cref. It is then copied into a model new_model with the new references assigned to x_new and cref_new.

      julia> model = Model();
      +false
      source

      Base.copy(::AbstractModel)

      Base.copyMethod
      copy(model::AbstractModel)

      Return a copy of the model model. It is similar to copy_model except that it does not return the mapping between the references of model and its copy.

      Note

      Model copy is not supported in DIRECT mode, that is, when a model is constructed using the direct_model constructor instead of the Model constructor. Moreover, independently on whether an optimizer was provided at model construction, the new model will have no optimizer, that is, an optimizer will have to be provided to the new model in the optimize! call.

      Example

      In the following example, a model model is constructed with a variable x and a constraint cref. It is then copied into a model new_model with the new references assigned to x_new and cref_new.

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -3232,12 +3232,12 @@
       x
       
       julia> cref_new = model[:cref]
      -cref : x = 2
      source

      Base.write(::IO, ::GenericModel; ::MOI.FileFormats.FileFormat)

      Base.write(::IO, ::GenericModel; ::MOI.FileFormats.FileFormat)

      Base.writeMethod
      Base.write(
           io::IO,
           model::GenericModel;
           format::MOI.FileFormats.FileFormat = MOI.FileFormats.FORMAT_MOF,
           kwargs...,
      -)

      Write the JuMP model model to io in the format format.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      MOI.Utilities.reset_optimizer(::GenericModel)

      MOI.Utilities.drop_optimizer(::GenericModel)

      MOI.Utilities.attach_optimizer(::GenericModel)

      @NLconstraint

      JuMP.@NLconstraintMacro
      @NLconstraint(model::GenericModel, expr)

      Add a constraint described by the nonlinear expression expr. See also @constraint.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLconstraint with @constraint.

      Example

      julia> model = Model();
      +)

      Write the JuMP model model to io in the format format.

      Other kwargs are passed to the Model constructor of the chosen format.

      source

      MOI.Utilities.reset_optimizer(::GenericModel)

      MOI.Utilities.drop_optimizer(::GenericModel)

      MOI.Utilities.attach_optimizer(::GenericModel)

      @NLconstraint

      JuMP.@NLconstraintMacro
      @NLconstraint(model::GenericModel, expr)

      Add a constraint described by the nonlinear expression expr. See also @constraint.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLconstraint with @constraint.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -3249,7 +3249,7 @@
       3-element Vector{NonlinearConstraintRef{ScalarShape}}:
        (sin(1.0 * x) - 1.0 / 1.0) - 0.0 ≤ 0
        (sin(2.0 * x) - 1.0 / 2.0) - 0.0 ≤ 0
      - (sin(3.0 * x) - 1.0 / 3.0) - 0.0 ≤ 0
      source

      @NLconstraints

      JuMP.@NLconstraintsMacro
      @NLconstraints(model, args...)

      Adds multiple nonlinear constraints to model at once, in the same fashion as the @NLconstraint macro.

      The model must be the first argument, and multiple constraints can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the constraints that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLconstraints with @constraints.

      Example

      julia> model = Model();
      + (sin(3.0 * x) - 1.0 / 3.0) - 0.0 ≤ 0
      source

      @NLconstraints

      JuMP.@NLconstraintsMacro
      @NLconstraints(model, args...)

      Adds multiple nonlinear constraints to model at once, in the same fashion as the @NLconstraint macro.

      The model must be the first argument, and multiple constraints can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the constraints that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLconstraints with @constraints.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3265,7 +3265,7 @@
                  t >= sqrt(x^2 + y^2)
                  [i = 1:2], z[i] <= log(a[i])
              end)
      -((t - sqrt(x ^ 2.0 + y ^ 2.0)) - 0.0 ≥ 0, NonlinearConstraintRef{ScalarShape}[(z[1] - log(4.0)) - 0.0 ≤ 0, (z[2] - log(5.0)) - 0.0 ≤ 0])
      source

      @NLexpression

      JuMP.@NLexpressionMacro
      @NLexpression(args...)

      Efficiently build a nonlinear expression which can then be inserted in other nonlinear constraints and the objective. See also [@expression].

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLexpression with @expression.

      Example

      julia> model = Model();
      +((t - sqrt(x ^ 2.0 + y ^ 2.0)) - 0.0 ≥ 0, NonlinearConstraintRef{ScalarShape}[(z[1] - log(4.0)) - 0.0 ≤ 0, (z[2] - log(5.0)) - 0.0 ≤ 0])
      source

      @NLexpression

      JuMP.@NLexpressionMacro
      @NLexpression(args...)

      Efficiently build a nonlinear expression which can then be inserted in other nonlinear constraints and the objective. See also [@expression].

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLexpression with @expression.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -3286,7 +3286,7 @@
        subexpression[4]: sin(3.0 * x)
       
       julia> my_expr_2 = @NLexpression(model, log(1 + sum(exp(my_expr_1[i]) for i in 1:2)))
      -subexpression[5]: log(1.0 + (exp(subexpression[2]) + exp(subexpression[3])))
      source

      @NLexpressions

      JuMP.@NLexpressionsMacro
      @NLexpressions(model, args...)

      Adds multiple nonlinear expressions to model at once, in the same fashion as the @NLexpression macro.

      The model must be the first argument, and multiple expressions can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the expressions that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLexpressions with @expressions.

      Example

      julia> model = Model();
      +subexpression[5]: log(1.0 + (exp(subexpression[2]) + exp(subexpression[3])))
      source

      @NLexpressions

      JuMP.@NLexpressionsMacro
      @NLexpressions(model, args...)

      Adds multiple nonlinear expressions to model at once, in the same fashion as the @NLexpression macro.

      The model must be the first argument, and multiple expressions can be added on multiple lines wrapped in a begin ... end block.

      The macro returns a tuple containing the expressions that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLexpressions with @expressions.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
      @@ -3300,7 +3300,7 @@
                  my_expr, sqrt(x^2 + y^2)
                  my_expr_1[i = 1:2], log(a[i]) - z[i]
              end)
      -(subexpression[1]: sqrt(x ^ 2.0 + y ^ 2.0), NonlinearExpression[subexpression[2]: log(4.0) - z[1], subexpression[3]: log(5.0) - z[2]])
      source

      @NLobjective

      JuMP.@NLobjectiveMacro
      @NLobjective(model, sense, expression)

      Add a nonlinear objective to model with optimization sense sense. sense must be Max or Min.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLobjective with @objective.

      Example

      julia> model = Model();
      +(subexpression[1]: sqrt(x ^ 2.0 + y ^ 2.0), NonlinearExpression[subexpression[2]: log(4.0) - z[1], subexpression[3]: log(5.0) - z[2]])
      source

      @NLobjective

      JuMP.@NLobjectiveMacro
      @NLobjective(model, sense, expression)

      Add a nonlinear objective to model with optimization sense sense. sense must be Max or Min.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace @NLobjective with @objective.

      Example

      julia> model = Model();
       
       julia> @variable(model, x)
       x
      @@ -3309,7 +3309,7 @@
       
       julia> print(model)
       Max 2.0 * x + 1.0 + sin(x)
      -Subject to
      source

      @NLparameter

      JuMP.@NLparameterMacro
      @NLparameter(model, param == value)

      Create and return a nonlinear parameter param attached to the model model with initial value set to value. Nonlinear parameters may be used only in nonlinear expressions.

      Example

      julia> model = Model();
      +Subject to
      source

      @NLparameter

      JuMP.@NLparameterMacro
      @NLparameter(model, param == value)

      Create and return a nonlinear parameter param attached to the model model with initial value set to value. Nonlinear parameters may be used only in nonlinear expressions.

      Example

      julia> model = Model();
       
       julia> @NLparameter(model, x == 10)
       x == 10.0
      @@ -3339,7 +3339,7 @@
        parameter[3] == 6.0
       
       julia> value(y[2])
      -4.0
      source

      @NLparameters

      JuMP.@NLparametersMacro
       @NLparameters(model, args...)

      Create and return multiple nonlinear parameters attached to model model, in the same fashion as @NLparameter macro.

      The model must be the first argument, and multiple parameters can be added on multiple lines wrapped in a begin ... end block. Distinct parameters need to be placed on separate lines as in the following example.

      The macro returns a tuple containing the parameters that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace a call like

      @NLparameters(model, begin
      +4.0
      source

      @NLparameters

      JuMP.@NLparametersMacro
       @NLparameters(model, args...)

      Create and return multiple nonlinear parameters attached to model model, in the same fashion as @NLparameter macro.

      The model must be the first argument, and multiple parameters can be added on multiple lines wrapped in a begin ... end block. Distinct parameters need to be placed on separate lines as in the following example.

      The macro returns a tuple containing the parameters that were defined.

      Compat

      This macro is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling. In most cases, you can replace a call like

      @NLparameters(model, begin
           p == value
       end)

      with

      @variables(model, begin
           p in Parameter(value)
      @@ -3351,17 +3351,17 @@
              end);
       
       julia> value(x)
      -10.0
      source

      add_nonlinear_constraint

      JuMP.add_nonlinear_constraintFunction
      add_nonlinear_constraint(model::Model, expr::Expr)

      Add a nonlinear constraint described by the Julia expression ex to model.

      This function is most useful if the expression ex is generated programmatically, and you cannot use @NLconstraint.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Notes

      • You must interpolate the variables directly into the expression expr.

      Example

      julia> model = Model();
      +10.0
      source

      add_nonlinear_constraint

      JuMP.add_nonlinear_constraintFunction
      add_nonlinear_constraint(model::Model, expr::Expr)

      Add a nonlinear constraint described by the Julia expression ex to model.

      This function is most useful if the expression ex is generated programmatically, and you cannot use @NLconstraint.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Notes

      • You must interpolate the variables directly into the expression expr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> add_nonlinear_constraint(model, :($(x) + $(x)^2 <= 1))
      -(x + x ^ 2.0) - 1.0 ≤ 0
      source

      add_nonlinear_expression

      JuMP.add_nonlinear_expressionFunction
      add_nonlinear_expression(model::Model, expr::Expr)

      Add a nonlinear expression expr to model.

      This function is most useful if the expression expr is generated programmatically, and you cannot use @NLexpression.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Notes

      • You must interpolate the variables directly into the expression expr.

      Example

      julia> model = Model();
      +(x + x ^ 2.0) - 1.0 ≤ 0
      source

      add_nonlinear_expression

      JuMP.add_nonlinear_expressionFunction
      add_nonlinear_expression(model::Model, expr::Expr)

      Add a nonlinear expression expr to model.

      This function is most useful if the expression expr is generated programmatically, and you cannot use @NLexpression.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Notes

      • You must interpolate the variables directly into the expression expr.

      Example

      julia> model = Model();
       
       julia> @variable(model, x);
       
       julia> add_nonlinear_expression(model, :($(x) + $(x)^2))
      -subexpression[1]: x + x ^ 2.0
      source

      add_nonlinear_parameter

      JuMP.add_nonlinear_parameterFunction
      add_nonlinear_parameter(model::Model, value::Real)

      Add an anonymous parameter to the model.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      all_nonlinear_constraints

      get_optimizer_attribute

      add_nonlinear_parameter

      JuMP.add_nonlinear_parameterFunction
      add_nonlinear_parameter(model::Model, value::Real)

      Add an anonymous parameter to the model.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      all_nonlinear_constraints

      get_optimizer_attribute

      JuMP.get_optimizer_attributeFunction
      get_optimizer_attribute(
           model::Union{GenericModel,MOI.OptimizerWithAttributes},
           attr::Union{AbstractString,MOI.AbstractOptimizerAttribute},
       )

      Return the value associated with the solver-specific attribute attr.

      If attr is an AbstractString, this is equivalent to get_optimizer_attribute(model, MOI.RawOptimizerAttribute(name)).

      Compat

      This method will remain in all v1.X releases of JuMP, but it may be removed in a future v2.0 release. We recommend using get_attribute instead.

      See also: set_optimizer_attribute, set_optimizer_attributes.

      Example

      julia> import Ipopt
      @@ -3369,18 +3369,18 @@
       julia> model = Model(Ipopt.Optimizer);
       
       julia> get_optimizer_attribute(model, MOI.Silent())
      -false
      source

      nonlinear_constraint_string

      nonlinear_constraint_string

      JuMP.nonlinear_constraint_stringFunction
      nonlinear_constraint_string(
           model::GenericModel,
           mode::MIME,
           c::_NonlinearConstraint,
      -)

      Return a string representation of the nonlinear constraint c belonging to model, given the mode.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      nonlinear_dual_start_value

      nonlinear_expr_string

      JuMP.nonlinear_expr_stringFunction
      nonlinear_expr_string(
      +)

      Return a string representation of the nonlinear constraint c belonging to model, given the mode.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      nonlinear_dual_start_value

      nonlinear_expr_string

      JuMP.nonlinear_expr_stringFunction
      nonlinear_expr_string(
           model::GenericModel,
           mode::MIME,
           c::MOI.Nonlinear.Expression,
      -)

      Return a string representation of the nonlinear expression c belonging to model, given the mode.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      nonlinear_model

      JuMP.nonlinear_modelFunction
      nonlinear_model(
      +)

      Return a string representation of the nonlinear expression c belonging to model, given the mode.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      nonlinear_model

      JuMP.nonlinear_modelFunction
      nonlinear_model(
           model::GenericModel;
           force::Bool = false,
      -)::Union{MOI.Nonlinear.Model,Nothing}

      If model has nonlinear components, return a MOI.Nonlinear.Model, otherwise return nothing.

      If force, always return a MOI.Nonlinear.Model, and if one does not exist for the model, create an empty one.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      num_nonlinear_constraints

      register

      JuMP.registerFunction
      register(
      +)::Union{MOI.Nonlinear.Model,Nothing}

      If model has nonlinear components, return a MOI.Nonlinear.Model, otherwise return nothing.

      If force, always return a MOI.Nonlinear.Model, and if one does not exist for the model, create an empty one.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source

      num_nonlinear_constraints

      register

      JuMP.registerFunction
      register(
           model::Model,
           op::Symbol,
           dimension::Integer,
      @@ -3408,7 +3408,7 @@
       
       julia> register(model, :g, 2, g; autodiff = true)
       
      -julia> @NLobjective(model, Min, g(x[1], x[2]))
      source
      register(
      +julia> @NLobjective(model, Min, g(x[1], x[2]))
      source
      register(
           model::Model,
           s::Symbol,
           dimension::Integer,
      @@ -3447,7 +3447,7 @@
       
       julia> register(model, :g, 2, g, ∇g)
       
      -julia> @NLobjective(model, Min, g(x[1], x[2]))
      source
      register(
      +julia> @NLobjective(model, Min, g(x[1], x[2]))
      source
      register(
           model::Model,
           s::Symbol,
           dimension::Integer,
      @@ -3471,7 +3471,7 @@
       julia> register(model, :foo, 1, f, ∇f, ∇²f)
       
       julia> @NLobjective(model, Min, foo(x))
      -
      source

      set_nonlinear_dual_start_value

      set_nonlinear_dual_start_value

      JuMP.set_nonlinear_dual_start_valueFunction
      set_nonlinear_dual_start_value(
           model::Model,
           start::Union{Nothing,Vector{Float64}},
       )

      Set the value of the MOI attribute MOI.NLPBlockDualStart.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      The start vector corresponds to the Lagrangian duals of the nonlinear constraints, in the order given by all_nonlinear_constraints. That is, you must pass a single start vector corresponding to all of the nonlinear constraints in a single function call; you cannot set the dual start value of nonlinear constraints one-by-one. The example below demonstrates how to use all_nonlinear_constraints to create a mapping between the nonlinear constraint references and the start vector.

      Pass nothing to unset a previous start.

      Example

      julia> model = Model();
      @@ -3494,7 +3494,7 @@
       julia> nonlinear_dual_start_value(model)
       2-element Vector{Float64}:
        -1.0
      -  1.0
      source

      set_nonlinear_objective

      set_nonlinear_objective

      JuMP.set_nonlinear_objectiveFunction
      set_nonlinear_objective(
           model::Model,
           sense::MOI.OptimizationSense,
           expr::Expr,
      @@ -3502,17 +3502,17 @@
       
       julia> @variable(model, x);
       
      -julia> set_nonlinear_objective(model, MIN_SENSE, :($(x) + $(x)^2))
      source

      set_normalized_coefficients

      set_normalized_coefficients

      JuMP.set_normalized_coefficientsFunction
      set_normalized_coefficients(
           constraint::ConstraintRef{<:AbstractModel,<:MOI.ConstraintIndex{F}},
           variable::AbstractVariableRef,
           new_coefficients::Vector{Tuple{Int64,T}},
      -) where {T,F<:Union{MOI.VectorAffineFunction{T},MOI.VectorQuadraticFunction{T}}}

      A deprecated method that now redirects to set_normalized_coefficient.

      source

      set_optimizer_attribute

      set_optimizer_attribute

      JuMP.set_optimizer_attributeFunction
      set_optimizer_attribute(
           model::Union{GenericModel,MOI.OptimizerWithAttributes},
           attr::Union{AbstractString,MOI.AbstractOptimizerAttribute},
           value,
       )

      Set the solver-specific attribute attr in model to value.

      If attr is an AbstractString, this is equivalent to set_optimizer_attribute(model, MOI.RawOptimizerAttribute(name), value).

      Compat

      This method will remain in all v1.X releases of JuMP, but it may be removed in a future v2.0 release. We recommend using set_attribute instead.

      See also: set_optimizer_attributes, get_optimizer_attribute.

      Example

      julia> model = Model();
       
      -julia> set_optimizer_attribute(model, MOI.Silent(), true)
      source

      set_optimizer_attributes

      set_optimizer_attributes

      JuMP.set_optimizer_attributesFunction
      set_optimizer_attributes(
           model::Union{GenericModel,MOI.OptimizerWithAttributes},
           pairs::Pair...,
       )

      Given a list of attribute => value pairs, calls set_optimizer_attribute(model, attribute, value) for each pair.

      Compat

      This method will remain in all v1.X releases of JuMP, but it may be removed in a future v2.0 release. We recommend using set_attributes instead.

      See also: set_optimizer_attribute, get_optimizer_attribute.

      Example

      julia> import Ipopt
      @@ -3525,7 +3525,7 @@
       
       julia> set_optimizer_attribute(model, "tol", 1e-4)
       
      -julia> set_optimizer_attribute(model, "max_iter", 100)
      source

      set_value

      JuMP.set_valueFunction
      set_value(p::NonlinearParameter, v::Number)

      Store the value v in the nonlinear parameter p.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Example

      julia> model = Model();
      +julia> set_optimizer_attribute(model, "max_iter", 100)
      source

      set_value

      JuMP.set_valueFunction
      set_value(p::NonlinearParameter, v::Number)

      Store the value v in the nonlinear parameter p.

      Compat

      This function is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      Example

      julia> model = Model();
       
       julia> @NLparameter(model, p == 0)
       p == 0.0
      @@ -3534,4 +3534,4 @@
       5
       
       julia> value(p)
      -5.0
      source

      NonlinearConstraintIndex

      NonlinearConstraintRef

      NonlinearExpression

      NonlinearParameter

      JuMP.NonlinearParameterType
      NonlinearParameter <: AbstractJuMPScalar

      A struct to represent a nonlinear parameter.

      Create a parameter using @NLparameter.

      Compat

      This type is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source
      +5.0source

      NonlinearConstraintIndex

      NonlinearConstraintRef

      NonlinearExpression

      NonlinearParameter

      JuMP.NonlinearParameterType
      NonlinearParameter <: AbstractJuMPScalar

      A struct to represent a nonlinear parameter.

      Create a parameter using @NLparameter.

      Compat

      This type is part of the legacy nonlinear interface. Consider using the new nonlinear interface documented in Nonlinear Modeling.

      source
      diff --git a/dev/background/algebraic_modeling_languages/index.html b/dev/background/algebraic_modeling_languages/index.html index 80e7dd71e23..47f1742a767 100644 --- a/dev/background/algebraic_modeling_languages/index.html +++ b/dev/background/algebraic_modeling_languages/index.html @@ -138,4 +138,4 @@ julia> highs_knapsack([1.0, 2.0], [0.5, 0.5], 1.25) 2-element Vector{Float64}: 0.0 - 2.0

      We've now gone from a algebraic model that looked identical to the mathematical model we started with, to a verbose function that uses HiGHS-specific functionality.

      The difference between algebraic_knapsack and highs_knapsack highlights the benefit that algebraic modeling languages provide to users. Moreover, if we used a different solver, the solver-specific function would be entirely different. A key benefit of an algebraic modeling language is that you can change the solver without needing to rewrite the model.

      + 2.0

      We've now gone from a algebraic model that looked identical to the mathematical model we started with, to a verbose function that uses HiGHS-specific functionality.

      The difference between algebraic_knapsack and highs_knapsack highlights the benefit that algebraic modeling languages provide to users. Moreover, if we used a different solver, the solver-specific function would be entirely different. A key benefit of an algebraic modeling language is that you can change the solver without needing to rewrite the model.

      diff --git a/dev/background/bibliography/index.html b/dev/background/bibliography/index.html index 0dd943f0cd3..eb66d1893ab 100644 --- a/dev/background/bibliography/index.html +++ b/dev/background/bibliography/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Bibliography

      +

      Bibliography

      diff --git a/dev/changelog/index.html b/dev/changelog/index.html index 9f6cfd3b521..097459a994b 100644 --- a/dev/changelog/index.html +++ b/dev/changelog/index.html @@ -12,4 +12,4 @@ new_b = backend(model)
    1. All usages of @SDconstraint are deprecated. The new syntax is @constraint(model, X >= Y, PSDCone()).
    2. Creating a DenseAxisArray with a Number as an axis will now display a warning. This catches a common error in which users write @variable(model, x[length(S)]) instead of @variable(model, x[1:length(S)]).
    3. The caching_mode argument to Model, for example, Model(caching_mode = MOIU.MANUAL) mode has been removed. For more control over the optimizer, use direct_model instead.
    4. The previously deprecated lp_objective_perturbation_range and lp_rhs_perturbation_range functions have been removed. Use lp_sensitivity_report instead.
    5. The .m fields of NonlinearExpression and NonlinearParameter have been renamed to .model.
    6. Infinite variable bounds are now ignored. Thus, @variable(model, x <= Inf) will show has_upper_bound(x) == false. Previously, these bounds were passed through to the solvers which caused numerical issues for solvers expecting finite bounds.
    7. The variable_type and constraint_type functions were removed. This should only affect users who previously wrote JuMP extensions. The functions can be deleted without consequence.
    8. The internal functions moi_mode, moi_bridge_constraints, moi_add_constraint, and moi_add_to_function_constant are no longer exported.
    9. The un-used method Containers.generate_container has been deleted.
    10. The Containers API has been refactored, and _build_ref_sets is now public as Containers.build_ref_sets.
    11. The parse_constraint_ methods for extending @constraint at parse time have been refactored in a breaking way. Consult the Extensions documentation for more details and examples.
    12. Added

      • The TerminationStatusCode and ResultStatusCode enums are now exported by JuMP. Prefer termination_status(model) == OPTIMAL instead of == MOI.OPTIMAL, although the MOI. prefix way still works.
      • Copy a x::DenseAxisArray to an Array by calling Array(x).
      • NonlinearExpression is now a subtype of AbstractJuMPScalar
      • Constraints such as @constraint(model, x + 1 in MOI.Integer()) are now supported.
      • primal_feasibility_report now accepts a function as the first argument.
      • Scalar variables @variable(model, x[1:2] in MOI.Integer()) creates two variables, both of which are constrained to be in the set MOI.Integer.
      • Conic constraints can now be specified as inequalities under a different partial ordering. So @constraint(model, x - y in MOI.Nonnegatives()) can now be written as @constraint(model, x >= y, MOI.Nonnegatives()).
      • Names are now set for vectorized constraints.

      Fixed

      • Fixed a performance issue when show was called on a SparseAxisArray with a large number of elements.
      • Fixed a bug displaying barrier and simplex iterations in solution_summary.
      • Fixed a bug by implementing hash for DenseAxisArray and SparseAxisArray.
      • Names are now only set if the solver supports them. Previously, this prevented solvers such as Ipopt from being used with direct_model.
      • MutableArithmetics.Zero is converted into a 0.0 before being returned to the user. Previously, some calls to @expression would return the undocumented MutableArithmetics.Zero() object. One example is summing over an empty set @expression(model, sum(x[i] for i in 1:0)). You will now get 0.0 instead.
      • AffExpr and QuadExpr can now be used with == 0 instead of iszero. This fixes a number of issues relating to Julia standard libraries such as LinearAlgebra and SparseArrays.
      • Fixed a bug when registering a user-defined function with splatting.

      Other

      • The documentation is now available as a PDF.
      • The documentation now includes a full copy of the MathOptInterface documentation to make it easy to link concepts between the docs. (The MathOptInterface documentation has also been significantly improved.)
      • The documentation contains a large number of improvements and clarifications on a range of topics. Thanks to @sshin23, @DilumAluthge, and @jlwether.
      • The documentation is now built with Julia 1.6 instead of 1.0.
      • Various error messages have been improved to be more readable.

      Version 0.21.10 (September 4, 2021)

      Added

      • Added add_NL_expression
      • add_NL_xxx functions now support AffExpr and QuadExpr as terms

      Fixed

      • Fixed a bug in solution_summary
      • Fixed a bug in relax_integrality

      Other

      • Improved error message in lp_sensitivity_report

      Version 0.21.9 (August 1, 2021)

      Added

      • Containers now support arbitrary container types by passing the type to the container keyword and overloading Containers.container.
      • is_valid now supports nonlinear constraints
      • Added unsafe_backend for querying the inner-most optimizer of a JuMP model.
      • Nonlinear parameters now support the plural @NLparameters macro.
      • Containers (for example, DenseAxisArray) can now be used in vector-valued constraints.

      Other

      • Various improvements to the documentation.

      Version 0.21.8 (May 8, 2021)

      Added

      • The @constraint macro is now extendable in the same way as @variable.
      • AffExpr and QuadExpr can now be used in nonlinear macros.

      Fixed

      • Fixed a bug in lp_sensitivity_report.
      • Fixed an inference issue when creating empty SparseAxisArrays.

      Version 0.21.7 (April 12, 2021)

      Added

      • Added primal_feasibility_report, which can be used to check whether a primal point satisfies primal feasibility.
      • Added coefficient, which returns the coefficient associated with a variable in affine and quadratic expressions.
      • Added copy_conflict, which returns the IIS of an infeasible model.
      • Added solution_summary, which returns (and prints) a struct containing a summary of the solution.
      • Allow AbstractVector in vector constraints instead of just Vector.
      • Added latex_formulation(model) which returns an object representing the latex formulation of a model. Use print(latex_formulation(model)) to print the formulation as a string.
      • User-defined functions in nonlinear expressions are now automatically registered to aid quick model prototyping. However, a warning is printed to encourage the manual registration.
      • DenseAxisArray's now support broadcasting over multiple arrays.
      • Container indices can now be iterators of Base.SizeUnknown.

      Fixed

      • Fixed bug in rad2deg and deg2rad in nonlinear expressions.
      • Fixed a MethodError bug in Containers when forcing container type.
      • Allow partial slicing of a DenseAxisArray, resolving an issue from 2014.
      • Fixed a bug printing variable names in IJulia.
      • Ending an IJulia cell with model now prints a summary of the model (like in the REPL) not the latex formulation. Use print(model) to print the latex formulation.
      • Fixed a bug when copying models containing nested arrays.

      Other

      • Tutorials are now part of the documentation, and more refactoring has taken place.
      • Added JuliaFormatter added as a code formatter.
      • Added some precompilation statements to reduce initial latency.
      • Various improvements to error messages to make them more helpful.
      • Improved performance of value(::NonlinearExpression).
      • Improved performance of fix(::VariableRef).

      Version 0.21.6 (January 29, 2021)

      Added

      • Added support for skew symmetric variables via @variable(model, X[1:2, 1:2] in SkewSymmetricMatrixSpace()).
      • lp_sensitivity_report has been added which significantly improves the performance of querying the sensitivity summary of an LP. lp_objective_perturbation_range and lp_rhs_perturbation_range are deprecated.
      • Dual warm-starts are now supported with set_dual_start_value and dual_start_value.
      • (\in<tab>) can now be used in macros instead of = or in.
      • Use haskey(model::Model, key::Symbol) to check if a name key is registered in a model.
      • Added unregister(model::Model, key::Symbol) to unregister a name key from model.
      • Added callback_node_status for use in callbacks.
      • Added print_bridge_graph to visualize the bridging graph generated by MathOptInterface.
      • Improved error message for containers with duplicate indices.

      Fixed

      • Various fixes to pass tests on Julia 1.6.
      • Fixed a bug in the printing of nonlinear expressions in IJulia.
      • Fixed a bug when nonlinear expressions are passed to user-defined functions.
      • Some internal functions that were previously exported are now no longer exported.
      • Fixed a bug when relaxing a fixed binary variable.
      • Fixed a StackOverflowError that occurred when SparseAxisArrays had a large number of elements.
      • Removed an unnecessary type assertion in list_of_constraint_types.
      • Fixed a bug when copying models with registered expressions.

      Other

      • The documentation has been significantly overhauled. It now has distinct sections for the manual, API reference, and examples. The existing examples in /examples have now been moved to /docs/src/examples and rewritten using Literate.jl, and they are now included in the documentation.
      • JuliaFormatter has been applied to most of the codebase. This will continue to roll out over time, as we fix upstream issues in the formatter, and will eventually become compulsory.
      • The root cause of a large number of method invalidations has been resolved.
      • We switched continuous integration from Travis and Appveyor to GitHub Actions.

      Version 0.21.5 (September 18, 2020)

      Fixed

      • Fixed deprecation warnings
      • Throw DimensionMismatch for incompatibly sized functions and sets
      • Unify treatment of keys(x) on JuMP containers

      Version 0.21.4 (September 14, 2020)

      Added

      • Add debug info when adding unsupported constraints
      • Add relax_integrality for solving continuous relaxation
      • Allow querying constraint conflicts

      Fixed

      • Dispatch on Real for MOI.submit
      • Implement copy for CustomSet in tests
      • Don't export private macros
      • Fix invalid assertion in nonlinear
      • Error if constraint has NaN right-hand side
      • Improve speed of tests
      • Lots of work modularizing files in /test
      • Improve line numbers in macro error messages
      • Print nonlinear subexpressions
      • Various documentation updates
      • Dependency updates:
        • Datastructures 0.18
        • MathOptFormat v0.5
        • Prep for MathOptInterface 0.9.15

      Version 0.21.3 (June 18, 2020)

      • Added Special Order Sets (SOS1 and SOS2) to JuMP with default weights to ease the creation of such constraints (#2212).
      • Added functions simplex_iterations, barrier_iterations and node_count (#2201).
      • Added function reduced_cost (#2205).
      • Implemented callback_value for affine and quadratic expressions (#2231).
      • Support MutableArithmetics.Zero in objective and constraints (#2219).
      • Documentation improvements:
        • Mention tutorials in the docs (#2223).
        • Update COIN-OR links (#2242).
        • Explicit link to the documentation of MOI.FileFormats (#2253).
        • Typo fixes (#2261).
      • Containers improvements:
        • Fix Base.map for DenseAxisArray (#2235).
        • Throw BoundsError if number of indices is incorrect for DenseAxisArray and SparseAxisArray (#2240).
      • Extensibility improvements:
        • Implement a set_objective method fallback that redirects to set_objective_sense and set_objective_function (#2247).
        • Add parse_constraint method with arbitrary number of arguments (#2051).
        • Add parse_constraint_expr and parse_constraint_head (#2228).

      Version 0.21.2 (April 2, 2020)

      • Added relative_gap() to access MOI.RelativeGap() attribute (#2199).
      • Documentation fixes:
        • Added link to source for docstrings in the documentation (#2207).
        • Added docstring for @variables macro (#2216).
        • Typo fixes (#2177, #2184, #2182).
      • Implementation of methods for Base functions:
        • Implemented Base.empty! for JuMP.Model (#2198).
        • Implemented Base.conj for JuMP scalar types (#2209).

      Fixed

      • Fixed sum of expression with scalar product in macro (#2178).
      • Fixed writing of nonlinear models to MathOptFormat (#2181).
      • Fixed construction of empty SparseAxisArray (#2179).
      • Fixed constraint with zero function (#2188).

      Version 0.21.1 (Feb 18, 2020)

      • Improved the clarity of the with_optimizer deprecation warning.

      Version 0.21.0 (Feb 16, 2020)

      Breaking

      • Deprecated with_optimizer (#2090, #2084, #2141). You can replace with_optimizer by either nothing, optimizer_with_attributes or a closure:

        • replace with_optimizer(Ipopt.Optimizer) by Ipopt.Optimizer.
        • replace with_optimizer(Ipopt.Optimizer, max_cpu_time=60.0) by optimizer_with_attributes(Ipopt.Optimizer, "max_cpu_time" => 60.0).
        • replace with_optimizer(Gurobi.Optimizer, env) by () -> Gurobi.Optimizer(env).
        • replace with_optimizer(Gurobi.Optimizer, env, Presolve=0) by optimizer_with_attributes(() -> Gurobi.Optimizer(env), "Presolve" => 0).

        alternatively to optimizer_with_attributes, you can also set the attributes separately with set_optimizer_attribute.

      • Renamed set_parameter and set_parameters to set_optimizer_attribute and set_optimizer_attributes (#2150).

      • Broadcast should now be explicit inside macros. @SDconstraint(model, x >= 1) and @constraint(model, x + 1 in SecondOrderCone()) now throw an error instead of broadcasting 1 along the dimension of x (#2107).

      • @SDconstraint(model, x >= 0) is now equivalent to @constraint(model, x in PSDCone()) instead of @constraint(model, (x .- 0) in PSDCone()) (#2107).

      • The macros now create the containers with map instead of for loops, as a consequence, containers created by @expression can now have any element type and containers of constraint references now have concrete element types when possible. This fixes a long-standing issue where @expression could only be used to generate a collection of linear expressions. Now it works for quadratic expressions as well (#2070).

      • Calling deepcopy(::AbstractModel) now throws an error.

      • The constraint name is now printed in the model string (#2108).

      Added

      • Added support for solver-independent and solver-specific callbacks (#2101).
      • Added write_to_file and read_from_file, supported formats are CBF, LP, MathOptFormat, MPS and SDPA (#2114).
      • Added support for complementarity constraints (#2132).
      • Added support for indicator constraints (#2092).
      • Added support for querying multiple solutions with the result keyword (#2100).
      • Added support for constraining variables on creation (#2128).
      • Added method delete that deletes a vector of variables at once if it is supported by the underlying solver (#2135).
      • The arithmetic between JuMP expression has be refactored into the MutableArithmetics package (#2107).
      • Improved error on complex values in NLP (#1978).
      • Added an example of column generation (#2010).

      Fixed

      • Incorrect coefficients generated when using Symmetric variables (#2102)

      Version 0.20.1 (Oct 18, 2019)

      • Add sections on @variables and @constraints in the documentation (#2062).
      • Fixed product of sparse matrices for Julia v1.3 (#2063).
      • Added set_objective_coefficient to modify the coefficient of a linear term of the objective function (#2008).
      • Added set_time_limit_sec, unset_time_limit_sec and time_limit_sec to set and query the time limit for the solver in seconds (#2053).

      Version 0.20.0 (Aug 24, 2019)

      • Documentation updates.
      • Numerous bug fixes.
      • Better error messages (#1977, #1978, #1997, #2017).
      • Performance improvements (#1947, #2032).
      • Added LP sensitivity summary functions lp_objective_perturbation_range and lp_rhs_perturbation_range (#1917).
      • Added functions dual_objective_value, raw_status and set_parameter.
      • Added function set_objective_coefficient to modify the coefficient of a linear term of the objective (#2008).
      • Added functions set_normalized_rhs, normalized_rhs, and add_to_function_constant to modify and get the constant part of a constraint (#1935, #1960).
      • Added functions set_normalized_coefficient and normalized_coefficient to modify and get the coefficient of a linear term of a constraint (#1935, #1960).
      • Numerous other improvements in MOI 0.9, see the NEWS.md file of MOI for more details.

      Version 0.19.2 (June 8, 2019)

      • Fix a bug in derivatives that could arise in models with nested nonlinear subexpressions.

      Version 0.19.1 (May 12, 2019)

      • Usability and performance improvements.
      • Bug fixes.

      Version 0.19.0 (February 15, 2019)

      JuMP 0.19 contains significant breaking changes.

      Breaking

      • JuMP's abstraction layer for communicating with solvers changed from MathProgBase (MPB) to MathOptInterface (MOI). MOI addresses many longstanding design issues. (See @mlubin's slides from JuMP-dev 2018.) JuMP 0.19 is compatible only with solvers that have been updated for MOI. See the installation guide for a list of solvers that have and have not yet been updated.

      • Most solvers have been renamed to PackageName.Optimizer. For example, GurobiSolver() is now Gurobi.Optimizer.

      • Solvers are no longer added to a model via Model(solver = XXX(kwargs...)). Instead use Model(with_optimizer(XXX, kwargs...)). For example, Model(with_optimizer(Gurobi.Optimizer, OutputFlag=0)).

      • JuMP containers (for example, the objects returned by @variable) have been redesigned. Containers.SparseAxisArray replaces JuMPDict, JuMPArray was rewritten (inspired by AxisArrays) and renamed Containers.DenseAxisArray, and you can now request a container type with the container= keyword to the macros. See the corresponding documentation for more details.

      • The statuses returned by solvers have changed. See the possible status values here. The MOI statuses are much richer than the MPB statuses and can be used to distinguish between previously indistinguishable cases (for example, did the solver have a feasible solution when it stopped because of the time limit?).

      • Starting values are separate from result values. Use value to query the value of a variable in a solution. Use start_value and set_start_value to get and set an initial starting point provided to the solver. The solutions from previous solves are no longer automatically set as the starting points for the next solve.

      • The data structures for affine and quadratic expressions AffExpr and QuadExpr have changed. Internally, terms are stored in dictionaries instead of lists. Duplicate coefficients can no longer exist. Accessors and iteration methods have changed.

      • JuMPNLPEvaluator no longer includes the linear and quadratic parts of the model in the evaluation calls. These are now handled separately to allow NLP solvers that support various types of constraints.

      • JuMP solver-independent callbacks have been replaced by solver-specific callbacks. See your favorite solver for more details. (See the note below: No solver-specific callbacks are implemented yet.)

      • The norm() syntax is no longer recognized inside macros. Use the SecondOrderCone() set instead.

      • JuMP no longer performs automatic transformation between special quadratic forms and second-order cone constraints. Support for these constraint classes depends on the solver.

      • The symbols :Min and :Max are no longer used as optimization senses. Instead, JuMP uses the OptimizationSense enum from MathOptInterface. @objective(model, Max, ...), @objective(model, Min, ...), @NLobjective(model, Max, ...), and @objective(model, Min, ...) remain valid, but @objective(m, :Max, ...) is no longer accepted.

      • The sign conventions for duals has changed in some cases for consistency with conic duality (see the documentation). The shadow_price helper method returns duals with signs that match conventional LP interpretations of dual values as sensitivities of the objective value to relaxations of constraints.

      • @constraintref is no longer defined. Instead, create the appropriate container to hold constraint references manually. For example,

        constraints = Dict() # Optionally, specify types for improved performance.
         for i in 1:N
           constraints[i] = @constraint(model, ...)
        -end
      • The lowerbound, upperbound, and basename keyword arguments to the @variable macro have been renamed to lower_bound, upper_bound, and base_name, for consistency with JuMP's new style recommendations.

      • We rely on broadcasting syntax to apply accessors to collections of variables, for example, value.(x) instead of getvalue(x) for collections. (Use value(x) when x is a scalar object.)

      Added

      • Splatting (like f(x...)) is recognized in restricted settings in nonlinear expressions.

      • Support for deleting constraints and variables.

      • The documentation has been completely rewritten using docstrings and Documenter.

      • Support for modeling mixed conic and quadratic models (for example, conic models with quadratic objectives and bi-linear matrix inequalities).

      • Significantly improved support for modeling new types of constraints and for extending JuMP's macros.

      • Support for providing dual warm starts.

      • Improved support for accessing solver-specific attributes (for example, the irreducible inconsistent subsystem).

      • Explicit control of whether symmetry-enforcing constraints are added to PSD constraints.

      • Support for modeling exponential cones.

      • Significant improvements in internal code quality and testing.

      • Style and naming guidelines.

      • Direct mode and manual mode provide explicit control over when copies of a model are stored or regenerated. See the corresponding documentation.

      Regressions

      There are known regressions from JuMP 0.18 that will be addressed in a future release (0.19.x or later):

      • Performance regressions in model generation (issue). Please file an issue anyway if you notice a significant performance regression. We have plans to address a number of performance issues, but we might not be aware of all of them.

      • Fast incremental NLP solves are not yet reimplemented (issue).

      • We do not yet have an implementation of solver-specific callbacks.

      • The column generation syntax in @variable has been removed (that is, the objective, coefficients, and inconstraints keyword arguments). Support for column generation will be re-introduced in a future release.

      • The ability to solve the continuous relaxation (that is, via solve(model; relaxation = true)) is not yet reimplemented (issue).

      Version 0.18.5 (December 1, 2018)

      • Support views in some derivative evaluation functions.
      • Improved compatibility with PackageCompiler.

      Version 0.18.4 (October 8, 2018)

      • Fix a bug in model printing on Julia 0.7 and 1.0.

      Version 0.18.3 (October 1, 2018)

      • Add support for Julia v1.0 (Thanks @ExpandingMan)
      • Fix matrix expressions with quadratic functions (#1508)

      Version 0.18.2 (June 10, 2018)

      • Fix a bug in second-order derivatives when expressions are present (#1319)
      • Fix a bug in @constraintref (#1330)

      Version 0.18.1 (April 9, 2018)

      • Fix for nested tuple destructuring (#1193)
      • Preserve internal model when relaxation=true (#1209)
      • Minor bug fixes and updates for example

      Version 0.18.0 (July 27, 2017)

      • Drop support for Julia 0.5.
      • Update for ForwardDiff 0.5.
      • Minor bug fixes.

      Version 0.17.1 (June 9, 2017)

      • Use of constructconstraint! in @SDconstraint.
      • Minor bug fixes.

      Version 0.17.0 (May 27, 2017)

      • Breaking change: Mixing quadratic and conic constraints is no longer supported.
      • Breaking change: The getvariable and getconstraint functions are replaced by indexing on the corresponding symbol. For instance, to access the variable with name x, one should now write m[:x] instead of getvariable(m, :x). As a consequence, creating a variable and constraint with the same name now triggers a warning, and accessing one of them afterwards throws an error. This change is breaking only in the latter case.
      • Addition of the getobjectivebound function that mirrors the functionality of the MathProgBase getobjbound function except that it takes into account transformations performed by JuMP.
      • Minor bug fixes.

      The following changes are primarily of interest to developers of JuMP extensions:

      • The new syntax @constraint(model, expr in Cone) creates the constraint ensuring that expr is inside Cone. The Cone argument is passed to constructconstraint! which enables the call to the dispatched to an extension.
      • The @variable macro now calls constructvariable! instead of directly calling the Variable constructor. Extra arguments and keyword arguments passed to @variable are passed to constructvariable! which enables the call to be dispatched to an extension.
      • Refactor the internal function conicdata (used build the MathProgBase conic model) into smaller sub-functions to make these parts reusable by extensions.

      Version 0.16.2 (March 28, 2017)

      • Minor bug fixes and printing tweaks
      • Address deprecation warnings for Julia 0.6

      Version 0.16.1 (March 7, 2017)

      • Better support for AbstractArray in JuMP (Thanks @tkoolen)
      • Minor bug fixes

      Version 0.16.0 (February 23, 2017)

      • Breaking change: JuMP no longer has a mechanism for selecting solvers by default (the previous mechanism was flawed and incompatible with Julia 0.6). Not specifying a solver before calling solve() will result in an error.
      • Breaking change: User-defined functions are no longer global. The first argument to JuMP.register is now a JuMP Model object within whose scope the function will be registered. Calling JuMP.register without a Model now produces an error.
      • Breaking change: Use the new JuMP.fix method to fix a variable to a value or to update the value to which a variable is fixed. Calling setvalue on a fixed variable now results in an error in order to avoid silent behavior changes. (Thanks @joaquimg)
      • Nonlinear expressions now print out similarly to linear/quadratic expressions (useful for debugging!)
      • New category keyword to @variable. Used for specifying categories of anonymous variables.
      • Compatibility with Julia 0.6-dev.
      • Minor fixes and improvements (Thanks @cossio, @ccoffrin, @blegat)

      Version 0.15.1 (January 31, 2017)

      • Bugfix for @LinearConstraints and friends

      Version 0.15.0 (December 22, 2016)

      • Julia 0.5.0 is the minimum required version for this release.
      • Document support for BARON solver
      • Enable info callbacks in more states than before, for example, for recording solutions. New when argument to addinfocallback (#814, thanks @yeesian)
      • Improved support for anonymous variables. This includes new warnings for potentially confusing use of the traditional non-anonymous syntax:
        • When multiple variables in a model are given the same name
        • When non-symbols are used as names, for example, @variable(m, x[1][1:N])
      • Improvements in iterating over JuMP containers (#836, thanks @IssamT)
      • Support for writing variable names in .lp file output (Thanks @leethargo)
      • Support for querying duals to SDP problems (Thanks @blegat)
      • The comprehension syntax with curly braces sum{}, prod{}, and norm2{} has been deprecated in favor of Julia's native comprehension syntax sum(), prod() and norm() as previously announced. (For early adopters of the new syntax, norm2() was renamed to norm() without deprecation.)
      • Unit tests rewritten to use Base.Test instead of FactCheck
      • Improved support for operations with matrices of JuMP types (Thanks @ExpandingMan)
      • The syntax to halt a solver from inside a callback has changed from throw(CallbackAbort()) to return JuMP.StopTheSolver
      • Minor bug fixes

      Version 0.14.2 (December 12, 2016)

      • Allow singleton anonymous variables (includes bugfix)

      Version 0.14.1 (September 12, 2016)

      • More consistent handling of states in informational callbacks, includes a new when parameter to addinfocallback for specifying in which state an informational callback should be called.

      Version 0.14.0 (August 7, 2016)

      • Compatibility with Julia 0.5 and ForwardDiff 0.2
      • Support for "anonymous" variables, constraints, expressions, and parameters, for example, x = @variable(m, [1:N]) instead of @variable(m, x[1:N])
      • Support for retrieving constraints from a model by name via getconstraint
      • @NLconstraint now returns constraint references (as expected).
      • Support for vectorized expressions within lazy constraints
      • On Julia 0.5, parse new comprehension syntax sum(x[i] for i in 1:N if isodd(i)) instead of sum{ x[i], i in 1:N; isodd(i) }. The old syntax with curly braces will be deprecated in JuMP 0.15.
      • Now possible to provide nonlinear expressions as "raw" Julia Expr objects instead of using JuMP's nonlinear macros. This input format is useful for programmatically generated expressions.
      • s/Mathematical Programming/Mathematical Optimization/
      • Support for local cuts (Thanks to @madanim, Mehdi Madani)
      • Document Xpress interface developed by @joaquimg, Joaquim Dias Garcia
      • Minor bug and deprecation fixes (Thanks @odow, @jrevels)

      Version 0.13.2 (May 16, 2016)

      • Compatibility update for MathProgBase

      Version 0.13.1 (May 3, 2016)

      • Fix broken deprecation for registerNLfunction.

      Version 0.13.0 (April 29, 2016)

      • Most exported methods and macros have been renamed to avoid camelCase. See the list of changes here. There is a 1-1 mapping from the old names to the new, and it is safe to simply replace the names to update existing models.
      • Specify variable lower/upper bounds in @variable using the lowerbound and upperbound keyword arguments.
      • Change name printed for variable using the basename keyword argument to @variable.
      • New @variables macro allows multi-line declaration of groups of variables.
      • A number of solver methods previously available only through MathProgBase are now exposed directly in JuMP. The fix was recorded live.
      • Compatibility fixes with Julia 0.5.
      • The "end" indexing syntax is no longer supported within JuMPArrays which do not use 1-based indexing until upstream issues are resolved, see here.

      Version 0.12.2 (March 9, 2016)

      • Small fixes for nonlinear optimization

      Version 0.12.1 (March 1, 2016)

      • Fix a regression in slicing for JuMPArrays (when not using 1-based indexing)

      Version 0.12.0 (February 27, 2016)

      • The automatic differentiation functionality has been completely rewritten with a number of user-facing changes:
        • @defExpr and @defNLExpr now take the model as the first argument. The previous one-argument version of @defExpr is deprecated; all expressions should be named. For example, replace @defExpr(2x+y) with @defExpr(jump_model, my_expr, 2x+y).
        • JuMP no longer uses Julia's variable binding rules for efficiently re-solving a sequence of nonlinear models. Instead, we have introduced nonlinear parameters. This is a breaking change, so we have added a warning message when we detect models that may depend on the old behavior.
        • Support for user-defined functions integrated within nonlinear JuMP expressions.
      • Replaced iteration over AffExpr with Number-like scalar iteration; previous iteration behavior is now available via linearterms(::AffExpr).
      • Stopping the solver via throw(CallbackAbort()) from a callback no longer triggers an exception. Instead, solve() returns UserLimit status.
      • getDual() now works for conic problems (Thanks @emreyamangil.)

      Version 0.11.3 (February 4, 2016)

      • Bug-fix for problems with quadratic objectives and semidefinite constraints

      Version 0.11.2 (January 14, 2016)

      • Compatibility update for Mosek

      Version 0.11.1 (December 1, 2015)

      • Remove usage of @compat in tests.
      • Fix updating quadratic objectives for nonlinear models.

      Version 0.11.0 (November 30, 2015)

      • Julia 0.4.0 is the minimum required version for this release.
      • Fix for scoping semantics of index variables in sum{}. Index variables no longer leak into the surrounding scope.
      • Addition of the solve(m::Model, relaxation=true) keyword argument to solve the standard continuous relaxation of model m
      • The getConstraintBounds() method allows access to the lower and upper bounds of all constraints in a (nonlinear) model.
      • Update for breaking changes in MathProgBase

      Version 0.10.3 (November 20, 2015)

      • Fix a rare error when parsing quadratic expressions
      • Fix Variable() constructor with default arguments
      • Detect unrecognized keywords in solve()

      Version 0.10.2 (September 28, 2015)

      • Fix for deprecation warnings

      Version 0.10.1 (September 3, 2015)

      • Fixes for ambiguity warnings.
      • Fix for breaking change in precompilation syntax in Julia 0.4-pre

      Version 0.10.0 (August 31, 2015)

      • Support (on Julia 0.4 and later) for conditions in indexing @defVar and @addConstraint constructs, for example, @defVar(m, x[i=1:5,j=1:5; i+j >= 3])
      • Support for vectorized operations on Variables and expressions. See the documentation for details.
      • New getVar() method to access variables in a model by name
      • Support for semidefinite programming.
      • Dual solutions are now available for general nonlinear problems. You may call getDual on a reference object for a nonlinear constraint, and getDual on a variable object for Lagrange multipliers from active bounds.
      • Introduce warnings for two common performance traps: too many calls to getValue() on a collection of variables and use of the + operator in a loop to sum expressions.
      • Second-order cone constraints can be written directly with the norm() and norm2{} syntax.
      • Implement MathProgBase interface for querying Hessian-vector products.
      • Iteration over JuMPContainers is deprecated; instead, use the keys and values functions, and zip(keys(d),values(d)) for the old behavior.
      • @defVar returns Array{Variable,N} when each of N index sets are of the form 1:nᵢ.
      • Module precompilation: on Julia 0.4 and later, using JuMP is now much faster.

      Version 0.9.3 (August 11, 2015)

      • Fixes for FactCheck testing on julia v0.4.

      Version 0.9.2 (June 27, 2015)

      • Fix bug in @addConstraints.

      Version 0.9.1 (April 25, 2015)

      • Fix for Julia 0.4-dev.
      • Small infrastructure improvements for extensions.

      Version 0.9.0 (April 18, 2015)

      • Comparison operators for constructing constraints (for example, 2x >= 1) have been deprecated. Instead, construct the constraints explicitly in the @addConstraint macro to add them to the model, or in the @LinearConstraint macro to create a stand-alone linear constraint instance.
      • getValue() method implemented to compute the value of a nonlinear subexpression
      • JuMP is now released under the Mozilla Public License version 2.0 (was previously LGPL). MPL is a copyleft license which is less restrictive than LGPL, especially for embedding JuMP within other applications.
      • A number of performance improvements in ReverseDiffSparse for computing derivatives.
      • MathProgBase.getsolvetime(m) now returns the solution time reported by the solver, if available. (Thanks @odow, Oscar Dowson)
      • Formatting fix for LP format output. (Thanks @sbebo, Leonardo Taccari).

      Version 0.8.0 (February 17, 2015)

      • Nonlinear subexpressions now supported with the @defNLExpr macro.
      • SCS supported for solving second-order conic problems.
      • setXXXCallback family deprecated in favor of addXXXCallback.
      • Multiple callbacks of the same type can be registered.
      • Added support for informational callbacks via addInfoCallback.
      • A CallbackAbort exception can be thrown from callback to safely exit optimization.

      Version 0.7.4 (February 4, 2015)

      • Reduced costs and linear constraint duals are now accessible when quadratic constraints are present.
      • Two-sided nonlinear constraints are supported.
      • Methods for accessing the number of variables and constraints in a model are renamed.
      • New default procedure for setting initial values in nonlinear optimization: project zero onto the variable bounds.
      • Small bug fixes.

      Version 0.7.3 (January 14, 2015)

      • Fix a method ambiguity conflict with Compose.jl (cosmetic fix)

      Version 0.7.2 (January 9, 2015)

      • Fix a bug in sum(::JuMPDict)
      • Added the setCategory function to change a variables category (for example, continuous or binary)

      after construction, and getCategory to retrieve the variable category.

      Version 0.7.1 (January 2, 2015)

      • Fix a bug in parsing linear expressions in macros. Affects only Julia 0.4 and later.

      Version 0.7.0 (December 29, 2014)

      Linear/quadratic/conic programming

      • Breaking change: The syntax for column-wise model generation has been changed to use keyword arguments in @defVar.
      • On Julia 0.4 and later, variables and coefficients may be multiplied in any order within macros. That is, variable*coefficient is now valid syntax.
      • ECOS supported for solving second-order conic problems.

      Nonlinear programming

      • Support for skipping model generation when solving a sequence of nonlinear models with changing data.
      • Fix a memory leak when solving a sequence of nonlinear models.
      • The @addNLConstraint macro now supports the three-argument version to define sets of nonlinear constraints.
      • KNITRO supported as a nonlinear solver.
      • Speed improvements for model generation.
      • The @addNLConstraints macro supports adding multiple (groups of) constraints at once. Syntax is similar to @addConstraints.
      • Discrete variables allowed in nonlinear problems for solvers which support them (currently only KNITRO).

      General

      • Starting values for variables may now be specified with @defVar(m, x, start=value).
      • The setSolver function allows users to change the solver subsequent to model creation.
      • Support for "fixed" variables via the @defVar(m, x == 1) syntax.
      • Unit tests rewritten to use FactCheck.jl, improved testing across solvers.

      Version 0.6.3 (October 19, 2014)

      • Fix a bug in multiplying two AffExpr objects.

      Version 0.6.2 (October 11, 2014)

      • Further improvements and bug fixes for printing.
      • Fixed a bug in @defExpr.
      • Support for accessing expression graphs through the MathProgBase NLP interface.

      Version 0.6.1 (September 19, 2014)

      • Improvements and bug fixes for printing.

      Version 0.6.0 (September 9, 2014)

      • Julia 0.3.0 is the minimum required version for this release.
      • buildInternalModel(m::Model) added to build solver-level model in memory without optimizing.
      • Deprecate load_model_only keyword argument to solve.
      • Add groups of constraints with @addConstraints macro.
      • Unicode operators now supported, including for sum, for prod, and /
      • Quadratic constraints supported in @addConstraint macro.
      • Quadratic objectives supported in @setObjective macro.
      • MathProgBase solver-independent interface replaces Ipopt-specific interface for nonlinear problems
        • Breaking change: IpoptOptions no longer supported to specify solver options, use m = Model(solver=IpoptSolver(options...)) instead.
      • New solver interfaces: ECOS, NLopt, and nonlinear support for MOSEK
      • New option to control whether the lazy constraint callback is executed at each node in the B&B tree or just when feasible solutions are found
      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
      • Add support for index dependencies (for example, triangular indexing) in @defVar, @addConstraint, and @defExpr (for example, @defVar(m, x[i=1:10,j=i:10])).
        • This required some changes to the internal structure of JuMP containers, which may break code that explicitly stored JuMPDict objects.

      Version 0.5.8 (September 24, 2014)

      • Fix a bug with specifying solvers (affects Julia 0.2 only)

      Version 0.5.7 (September 5, 2014)

      • Fix a bug in printing models

      Version 0.5.6 (September 2, 2014)

      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
        • Breaking change: Syntax for Variable() constructor has changed (use of this interface remains discouraged)
      • Update for breaking changes in MathProgBase

      Version 0.5.5 (July 6, 2014)

      • Fix bug with problem modification: adding variables that did not appear in existing constraints or objective.

      Version 0.5.4 (June 19, 2014)

      • Update for breaking change in MathProgBase which reduces loading times for using JuMP
      • Fix error when MIPs not solved to optimality

      Version 0.5.3 (May 21, 2014)

      • Update for breaking change in ReverseDiffSparse

      Version 0.5.2 (May 9, 2014)

      • Fix compatibility with Julia 0.3 prerelease

      Version 0.5.1 (May 5, 2014)

      • Fix a bug in coefficient handling inside lazy constraints and user cuts

      Version 0.5.0 (May 2, 2014)

      • Support for nonlinear optimization with exact, sparse second-order derivatives automatically computed. Ipopt is currently the only solver supported.
      • getValue for AffExpr and QuadExpr
      • Breaking change: getSolverModel replaced by getInternalModel, which returns the internal MathProgBase-level model
      • Groups of constraints can be specified with @addConstraint (see documentation for details). This is not a breaking change.
      • dot(::JuMPDict{Variable},::JuMPDict{Variable}) now returns the corresponding quadratic expression.

      Version 0.4.1 (March 24, 2014)

      • Fix bug where change in objective sense was ignored when re-solving a model.
      • Fix issue with handling zero coefficients in AffExpr.

      Version 0.4.0 (March 10, 2014)

      • Support for SOS1 and SOS2 constraints.
      • Solver-independent callback for user heuristics.
      • dot and sum implemented for JuMPDict objects. Now you can say @addConstraint(m, dot(a,x) <= b).
      • Developers: support for extensions to JuMP. See definition of Model in src/JuMP.jl for more details.
      • Option to construct the low-level model before optimizing.

      Version 0.3.2 (February 17, 2014)

      • Improved model printing
        • Preliminary support for IJulia output

      Version 0.3.1 (January 30, 2014)

      • Documentation updates
      • Support for MOSEK
      • CPLEXLink renamed to CPLEX

      Version 0.3.0 (January 21, 2014)

      • Unbounded/infeasibility rays: getValue() will return the corresponding components of an unbounded ray when a model is unbounded, if supported by the selected solver. getDual() will return an infeasibility ray (Farkas proof) if a model is infeasible and the selected solver supports this feature.
      • Solver-independent callbacks for user generated cuts.
      • Use new interface for solver-independent QCQP.
      • setlazycallback renamed to setLazyCallback for consistency.

      Version 0.2.0 (December 15, 2013)

      Breaking

      • Objective sense is specified in setObjective instead of in the Model constructor.
      • lpsolver and mipsolver merged into single solver option.

      Added

      • Problem modification with efficient LP restarts and MIP warm-starts.
      • Relatedly, column-wise modeling now supported.
      • Solver-independent callbacks supported. Currently we support only a "lazy constraint" callback, which works with Gurobi, CPLEX, and GLPK. More callbacks coming soon.

      Version 0.1.2 (November 16, 2013)

      • Bug fixes for printing, improved error messages.
      • Allow AffExpr to be used in macros; for example, ex = y + z; @addConstraint(m, x + 2*ex <= 3)

      Version 0.1.1 (October 23, 2013)

      • Update for solver specification API changes in MathProgBase.

      Version 0.1.0 (October 3, 2013)

      • Initial public release.
      +end
    13. The lowerbound, upperbound, and basename keyword arguments to the @variable macro have been renamed to lower_bound, upper_bound, and base_name, for consistency with JuMP's new style recommendations.

    14. We rely on broadcasting syntax to apply accessors to collections of variables, for example, value.(x) instead of getvalue(x) for collections. (Use value(x) when x is a scalar object.)

    15. Added

      • Splatting (like f(x...)) is recognized in restricted settings in nonlinear expressions.

      • Support for deleting constraints and variables.

      • The documentation has been completely rewritten using docstrings and Documenter.

      • Support for modeling mixed conic and quadratic models (for example, conic models with quadratic objectives and bi-linear matrix inequalities).

      • Significantly improved support for modeling new types of constraints and for extending JuMP's macros.

      • Support for providing dual warm starts.

      • Improved support for accessing solver-specific attributes (for example, the irreducible inconsistent subsystem).

      • Explicit control of whether symmetry-enforcing constraints are added to PSD constraints.

      • Support for modeling exponential cones.

      • Significant improvements in internal code quality and testing.

      • Style and naming guidelines.

      • Direct mode and manual mode provide explicit control over when copies of a model are stored or regenerated. See the corresponding documentation.

      Regressions

      There are known regressions from JuMP 0.18 that will be addressed in a future release (0.19.x or later):

      • Performance regressions in model generation (issue). Please file an issue anyway if you notice a significant performance regression. We have plans to address a number of performance issues, but we might not be aware of all of them.

      • Fast incremental NLP solves are not yet reimplemented (issue).

      • We do not yet have an implementation of solver-specific callbacks.

      • The column generation syntax in @variable has been removed (that is, the objective, coefficients, and inconstraints keyword arguments). Support for column generation will be re-introduced in a future release.

      • The ability to solve the continuous relaxation (that is, via solve(model; relaxation = true)) is not yet reimplemented (issue).

      Version 0.18.5 (December 1, 2018)

      • Support views in some derivative evaluation functions.
      • Improved compatibility with PackageCompiler.

      Version 0.18.4 (October 8, 2018)

      • Fix a bug in model printing on Julia 0.7 and 1.0.

      Version 0.18.3 (October 1, 2018)

      • Add support for Julia v1.0 (Thanks @ExpandingMan)
      • Fix matrix expressions with quadratic functions (#1508)

      Version 0.18.2 (June 10, 2018)

      • Fix a bug in second-order derivatives when expressions are present (#1319)
      • Fix a bug in @constraintref (#1330)

      Version 0.18.1 (April 9, 2018)

      • Fix for nested tuple destructuring (#1193)
      • Preserve internal model when relaxation=true (#1209)
      • Minor bug fixes and updates for example

      Version 0.18.0 (July 27, 2017)

      • Drop support for Julia 0.5.
      • Update for ForwardDiff 0.5.
      • Minor bug fixes.

      Version 0.17.1 (June 9, 2017)

      • Use of constructconstraint! in @SDconstraint.
      • Minor bug fixes.

      Version 0.17.0 (May 27, 2017)

      • Breaking change: Mixing quadratic and conic constraints is no longer supported.
      • Breaking change: The getvariable and getconstraint functions are replaced by indexing on the corresponding symbol. For instance, to access the variable with name x, one should now write m[:x] instead of getvariable(m, :x). As a consequence, creating a variable and constraint with the same name now triggers a warning, and accessing one of them afterwards throws an error. This change is breaking only in the latter case.
      • Addition of the getobjectivebound function that mirrors the functionality of the MathProgBase getobjbound function except that it takes into account transformations performed by JuMP.
      • Minor bug fixes.

      The following changes are primarily of interest to developers of JuMP extensions:

      • The new syntax @constraint(model, expr in Cone) creates the constraint ensuring that expr is inside Cone. The Cone argument is passed to constructconstraint! which enables the call to the dispatched to an extension.
      • The @variable macro now calls constructvariable! instead of directly calling the Variable constructor. Extra arguments and keyword arguments passed to @variable are passed to constructvariable! which enables the call to be dispatched to an extension.
      • Refactor the internal function conicdata (used build the MathProgBase conic model) into smaller sub-functions to make these parts reusable by extensions.

      Version 0.16.2 (March 28, 2017)

      • Minor bug fixes and printing tweaks
      • Address deprecation warnings for Julia 0.6

      Version 0.16.1 (March 7, 2017)

      • Better support for AbstractArray in JuMP (Thanks @tkoolen)
      • Minor bug fixes

      Version 0.16.0 (February 23, 2017)

      • Breaking change: JuMP no longer has a mechanism for selecting solvers by default (the previous mechanism was flawed and incompatible with Julia 0.6). Not specifying a solver before calling solve() will result in an error.
      • Breaking change: User-defined functions are no longer global. The first argument to JuMP.register is now a JuMP Model object within whose scope the function will be registered. Calling JuMP.register without a Model now produces an error.
      • Breaking change: Use the new JuMP.fix method to fix a variable to a value or to update the value to which a variable is fixed. Calling setvalue on a fixed variable now results in an error in order to avoid silent behavior changes. (Thanks @joaquimg)
      • Nonlinear expressions now print out similarly to linear/quadratic expressions (useful for debugging!)
      • New category keyword to @variable. Used for specifying categories of anonymous variables.
      • Compatibility with Julia 0.6-dev.
      • Minor fixes and improvements (Thanks @cossio, @ccoffrin, @blegat)

      Version 0.15.1 (January 31, 2017)

      • Bugfix for @LinearConstraints and friends

      Version 0.15.0 (December 22, 2016)

      • Julia 0.5.0 is the minimum required version for this release.
      • Document support for BARON solver
      • Enable info callbacks in more states than before, for example, for recording solutions. New when argument to addinfocallback (#814, thanks @yeesian)
      • Improved support for anonymous variables. This includes new warnings for potentially confusing use of the traditional non-anonymous syntax:
        • When multiple variables in a model are given the same name
        • When non-symbols are used as names, for example, @variable(m, x[1][1:N])
      • Improvements in iterating over JuMP containers (#836, thanks @IssamT)
      • Support for writing variable names in .lp file output (Thanks @leethargo)
      • Support for querying duals to SDP problems (Thanks @blegat)
      • The comprehension syntax with curly braces sum{}, prod{}, and norm2{} has been deprecated in favor of Julia's native comprehension syntax sum(), prod() and norm() as previously announced. (For early adopters of the new syntax, norm2() was renamed to norm() without deprecation.)
      • Unit tests rewritten to use Base.Test instead of FactCheck
      • Improved support for operations with matrices of JuMP types (Thanks @ExpandingMan)
      • The syntax to halt a solver from inside a callback has changed from throw(CallbackAbort()) to return JuMP.StopTheSolver
      • Minor bug fixes

      Version 0.14.2 (December 12, 2016)

      • Allow singleton anonymous variables (includes bugfix)

      Version 0.14.1 (September 12, 2016)

      • More consistent handling of states in informational callbacks, includes a new when parameter to addinfocallback for specifying in which state an informational callback should be called.

      Version 0.14.0 (August 7, 2016)

      • Compatibility with Julia 0.5 and ForwardDiff 0.2
      • Support for "anonymous" variables, constraints, expressions, and parameters, for example, x = @variable(m, [1:N]) instead of @variable(m, x[1:N])
      • Support for retrieving constraints from a model by name via getconstraint
      • @NLconstraint now returns constraint references (as expected).
      • Support for vectorized expressions within lazy constraints
      • On Julia 0.5, parse new comprehension syntax sum(x[i] for i in 1:N if isodd(i)) instead of sum{ x[i], i in 1:N; isodd(i) }. The old syntax with curly braces will be deprecated in JuMP 0.15.
      • Now possible to provide nonlinear expressions as "raw" Julia Expr objects instead of using JuMP's nonlinear macros. This input format is useful for programmatically generated expressions.
      • s/Mathematical Programming/Mathematical Optimization/
      • Support for local cuts (Thanks to @madanim, Mehdi Madani)
      • Document Xpress interface developed by @joaquimg, Joaquim Dias Garcia
      • Minor bug and deprecation fixes (Thanks @odow, @jrevels)

      Version 0.13.2 (May 16, 2016)

      • Compatibility update for MathProgBase

      Version 0.13.1 (May 3, 2016)

      • Fix broken deprecation for registerNLfunction.

      Version 0.13.0 (April 29, 2016)

      • Most exported methods and macros have been renamed to avoid camelCase. See the list of changes here. There is a 1-1 mapping from the old names to the new, and it is safe to simply replace the names to update existing models.
      • Specify variable lower/upper bounds in @variable using the lowerbound and upperbound keyword arguments.
      • Change name printed for variable using the basename keyword argument to @variable.
      • New @variables macro allows multi-line declaration of groups of variables.
      • A number of solver methods previously available only through MathProgBase are now exposed directly in JuMP. The fix was recorded live.
      • Compatibility fixes with Julia 0.5.
      • The "end" indexing syntax is no longer supported within JuMPArrays which do not use 1-based indexing until upstream issues are resolved, see here.

      Version 0.12.2 (March 9, 2016)

      • Small fixes for nonlinear optimization

      Version 0.12.1 (March 1, 2016)

      • Fix a regression in slicing for JuMPArrays (when not using 1-based indexing)

      Version 0.12.0 (February 27, 2016)

      • The automatic differentiation functionality has been completely rewritten with a number of user-facing changes:
        • @defExpr and @defNLExpr now take the model as the first argument. The previous one-argument version of @defExpr is deprecated; all expressions should be named. For example, replace @defExpr(2x+y) with @defExpr(jump_model, my_expr, 2x+y).
        • JuMP no longer uses Julia's variable binding rules for efficiently re-solving a sequence of nonlinear models. Instead, we have introduced nonlinear parameters. This is a breaking change, so we have added a warning message when we detect models that may depend on the old behavior.
        • Support for user-defined functions integrated within nonlinear JuMP expressions.
      • Replaced iteration over AffExpr with Number-like scalar iteration; previous iteration behavior is now available via linearterms(::AffExpr).
      • Stopping the solver via throw(CallbackAbort()) from a callback no longer triggers an exception. Instead, solve() returns UserLimit status.
      • getDual() now works for conic problems (Thanks @emreyamangil.)

      Version 0.11.3 (February 4, 2016)

      • Bug-fix for problems with quadratic objectives and semidefinite constraints

      Version 0.11.2 (January 14, 2016)

      • Compatibility update for Mosek

      Version 0.11.1 (December 1, 2015)

      • Remove usage of @compat in tests.
      • Fix updating quadratic objectives for nonlinear models.

      Version 0.11.0 (November 30, 2015)

      • Julia 0.4.0 is the minimum required version for this release.
      • Fix for scoping semantics of index variables in sum{}. Index variables no longer leak into the surrounding scope.
      • Addition of the solve(m::Model, relaxation=true) keyword argument to solve the standard continuous relaxation of model m
      • The getConstraintBounds() method allows access to the lower and upper bounds of all constraints in a (nonlinear) model.
      • Update for breaking changes in MathProgBase

      Version 0.10.3 (November 20, 2015)

      • Fix a rare error when parsing quadratic expressions
      • Fix Variable() constructor with default arguments
      • Detect unrecognized keywords in solve()

      Version 0.10.2 (September 28, 2015)

      • Fix for deprecation warnings

      Version 0.10.1 (September 3, 2015)

      • Fixes for ambiguity warnings.
      • Fix for breaking change in precompilation syntax in Julia 0.4-pre

      Version 0.10.0 (August 31, 2015)

      • Support (on Julia 0.4 and later) for conditions in indexing @defVar and @addConstraint constructs, for example, @defVar(m, x[i=1:5,j=1:5; i+j >= 3])
      • Support for vectorized operations on Variables and expressions. See the documentation for details.
      • New getVar() method to access variables in a model by name
      • Support for semidefinite programming.
      • Dual solutions are now available for general nonlinear problems. You may call getDual on a reference object for a nonlinear constraint, and getDual on a variable object for Lagrange multipliers from active bounds.
      • Introduce warnings for two common performance traps: too many calls to getValue() on a collection of variables and use of the + operator in a loop to sum expressions.
      • Second-order cone constraints can be written directly with the norm() and norm2{} syntax.
      • Implement MathProgBase interface for querying Hessian-vector products.
      • Iteration over JuMPContainers is deprecated; instead, use the keys and values functions, and zip(keys(d),values(d)) for the old behavior.
      • @defVar returns Array{Variable,N} when each of N index sets are of the form 1:nᵢ.
      • Module precompilation: on Julia 0.4 and later, using JuMP is now much faster.

      Version 0.9.3 (August 11, 2015)

      • Fixes for FactCheck testing on julia v0.4.

      Version 0.9.2 (June 27, 2015)

      • Fix bug in @addConstraints.

      Version 0.9.1 (April 25, 2015)

      • Fix for Julia 0.4-dev.
      • Small infrastructure improvements for extensions.

      Version 0.9.0 (April 18, 2015)

      • Comparison operators for constructing constraints (for example, 2x >= 1) have been deprecated. Instead, construct the constraints explicitly in the @addConstraint macro to add them to the model, or in the @LinearConstraint macro to create a stand-alone linear constraint instance.
      • getValue() method implemented to compute the value of a nonlinear subexpression
      • JuMP is now released under the Mozilla Public License version 2.0 (was previously LGPL). MPL is a copyleft license which is less restrictive than LGPL, especially for embedding JuMP within other applications.
      • A number of performance improvements in ReverseDiffSparse for computing derivatives.
      • MathProgBase.getsolvetime(m) now returns the solution time reported by the solver, if available. (Thanks @odow, Oscar Dowson)
      • Formatting fix for LP format output. (Thanks @sbebo, Leonardo Taccari).

      Version 0.8.0 (February 17, 2015)

      • Nonlinear subexpressions now supported with the @defNLExpr macro.
      • SCS supported for solving second-order conic problems.
      • setXXXCallback family deprecated in favor of addXXXCallback.
      • Multiple callbacks of the same type can be registered.
      • Added support for informational callbacks via addInfoCallback.
      • A CallbackAbort exception can be thrown from callback to safely exit optimization.

      Version 0.7.4 (February 4, 2015)

      • Reduced costs and linear constraint duals are now accessible when quadratic constraints are present.
      • Two-sided nonlinear constraints are supported.
      • Methods for accessing the number of variables and constraints in a model are renamed.
      • New default procedure for setting initial values in nonlinear optimization: project zero onto the variable bounds.
      • Small bug fixes.

      Version 0.7.3 (January 14, 2015)

      • Fix a method ambiguity conflict with Compose.jl (cosmetic fix)

      Version 0.7.2 (January 9, 2015)

      • Fix a bug in sum(::JuMPDict)
      • Added the setCategory function to change a variables category (for example, continuous or binary)

      after construction, and getCategory to retrieve the variable category.

      Version 0.7.1 (January 2, 2015)

      • Fix a bug in parsing linear expressions in macros. Affects only Julia 0.4 and later.

      Version 0.7.0 (December 29, 2014)

      Linear/quadratic/conic programming

      • Breaking change: The syntax for column-wise model generation has been changed to use keyword arguments in @defVar.
      • On Julia 0.4 and later, variables and coefficients may be multiplied in any order within macros. That is, variable*coefficient is now valid syntax.
      • ECOS supported for solving second-order conic problems.

      Nonlinear programming

      • Support for skipping model generation when solving a sequence of nonlinear models with changing data.
      • Fix a memory leak when solving a sequence of nonlinear models.
      • The @addNLConstraint macro now supports the three-argument version to define sets of nonlinear constraints.
      • KNITRO supported as a nonlinear solver.
      • Speed improvements for model generation.
      • The @addNLConstraints macro supports adding multiple (groups of) constraints at once. Syntax is similar to @addConstraints.
      • Discrete variables allowed in nonlinear problems for solvers which support them (currently only KNITRO).

      General

      • Starting values for variables may now be specified with @defVar(m, x, start=value).
      • The setSolver function allows users to change the solver subsequent to model creation.
      • Support for "fixed" variables via the @defVar(m, x == 1) syntax.
      • Unit tests rewritten to use FactCheck.jl, improved testing across solvers.

      Version 0.6.3 (October 19, 2014)

      • Fix a bug in multiplying two AffExpr objects.

      Version 0.6.2 (October 11, 2014)

      • Further improvements and bug fixes for printing.
      • Fixed a bug in @defExpr.
      • Support for accessing expression graphs through the MathProgBase NLP interface.

      Version 0.6.1 (September 19, 2014)

      • Improvements and bug fixes for printing.

      Version 0.6.0 (September 9, 2014)

      • Julia 0.3.0 is the minimum required version for this release.
      • buildInternalModel(m::Model) added to build solver-level model in memory without optimizing.
      • Deprecate load_model_only keyword argument to solve.
      • Add groups of constraints with @addConstraints macro.
      • Unicode operators now supported, including for sum, for prod, and /
      • Quadratic constraints supported in @addConstraint macro.
      • Quadratic objectives supported in @setObjective macro.
      • MathProgBase solver-independent interface replaces Ipopt-specific interface for nonlinear problems
        • Breaking change: IpoptOptions no longer supported to specify solver options, use m = Model(solver=IpoptSolver(options...)) instead.
      • New solver interfaces: ECOS, NLopt, and nonlinear support for MOSEK
      • New option to control whether the lazy constraint callback is executed at each node in the B&B tree or just when feasible solutions are found
      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
      • Add support for index dependencies (for example, triangular indexing) in @defVar, @addConstraint, and @defExpr (for example, @defVar(m, x[i=1:10,j=i:10])).
        • This required some changes to the internal structure of JuMP containers, which may break code that explicitly stored JuMPDict objects.

      Version 0.5.8 (September 24, 2014)

      • Fix a bug with specifying solvers (affects Julia 0.2 only)

      Version 0.5.7 (September 5, 2014)

      • Fix a bug in printing models

      Version 0.5.6 (September 2, 2014)

      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
        • Breaking change: Syntax for Variable() constructor has changed (use of this interface remains discouraged)
      • Update for breaking changes in MathProgBase

      Version 0.5.5 (July 6, 2014)

      • Fix bug with problem modification: adding variables that did not appear in existing constraints or objective.

      Version 0.5.4 (June 19, 2014)

      • Update for breaking change in MathProgBase which reduces loading times for using JuMP
      • Fix error when MIPs not solved to optimality

      Version 0.5.3 (May 21, 2014)

      • Update for breaking change in ReverseDiffSparse

      Version 0.5.2 (May 9, 2014)

      • Fix compatibility with Julia 0.3 prerelease

      Version 0.5.1 (May 5, 2014)

      • Fix a bug in coefficient handling inside lazy constraints and user cuts

      Version 0.5.0 (May 2, 2014)

      • Support for nonlinear optimization with exact, sparse second-order derivatives automatically computed. Ipopt is currently the only solver supported.
      • getValue for AffExpr and QuadExpr
      • Breaking change: getSolverModel replaced by getInternalModel, which returns the internal MathProgBase-level model
      • Groups of constraints can be specified with @addConstraint (see documentation for details). This is not a breaking change.
      • dot(::JuMPDict{Variable},::JuMPDict{Variable}) now returns the corresponding quadratic expression.

      Version 0.4.1 (March 24, 2014)

      • Fix bug where change in objective sense was ignored when re-solving a model.
      • Fix issue with handling zero coefficients in AffExpr.

      Version 0.4.0 (March 10, 2014)

      • Support for SOS1 and SOS2 constraints.
      • Solver-independent callback for user heuristics.
      • dot and sum implemented for JuMPDict objects. Now you can say @addConstraint(m, dot(a,x) <= b).
      • Developers: support for extensions to JuMP. See definition of Model in src/JuMP.jl for more details.
      • Option to construct the low-level model before optimizing.

      Version 0.3.2 (February 17, 2014)

      • Improved model printing
        • Preliminary support for IJulia output

      Version 0.3.1 (January 30, 2014)

      • Documentation updates
      • Support for MOSEK
      • CPLEXLink renamed to CPLEX

      Version 0.3.0 (January 21, 2014)

      • Unbounded/infeasibility rays: getValue() will return the corresponding components of an unbounded ray when a model is unbounded, if supported by the selected solver. getDual() will return an infeasibility ray (Farkas proof) if a model is infeasible and the selected solver supports this feature.
      • Solver-independent callbacks for user generated cuts.
      • Use new interface for solver-independent QCQP.
      • setlazycallback renamed to setLazyCallback for consistency.

      Version 0.2.0 (December 15, 2013)

      Breaking

      • Objective sense is specified in setObjective instead of in the Model constructor.
      • lpsolver and mipsolver merged into single solver option.

      Added

      • Problem modification with efficient LP restarts and MIP warm-starts.
      • Relatedly, column-wise modeling now supported.
      • Solver-independent callbacks supported. Currently we support only a "lazy constraint" callback, which works with Gurobi, CPLEX, and GLPK. More callbacks coming soon.

      Version 0.1.2 (November 16, 2013)

      • Bug fixes for printing, improved error messages.
      • Allow AffExpr to be used in macros; for example, ex = y + z; @addConstraint(m, x + 2*ex <= 3)

      Version 0.1.1 (October 23, 2013)

      • Update for solver specification API changes in MathProgBase.

      Version 0.1.0 (October 3, 2013)

      • Initial public release.
      diff --git a/dev/developers/checklists/index.html b/dev/developers/checklists/index.html index 250dce95e64..015d1f7f228 100644 --- a/dev/developers/checklists/index.html +++ b/dev/developers/checklists/index.html @@ -69,4 +69,4 @@ - [ ] Implement `vectorize(data, ::NewShape)::Vector` - [ ] Implement `reshape_vector(vector, ::NewShape)` - [ ] Implement `dual_shape`, or verify that the shape is self-dual - - [ ] Add the tests from https://github.com/jump-dev/JuMP.jl/pull/3816 + - [ ] Add the tests from https://github.com/jump-dev/JuMP.jl/pull/3816 diff --git a/dev/developers/contributing/index.html b/dev/developers/contributing/index.html index a1c9a3ed1b3..d1291ce6935 100644 --- a/dev/developers/contributing/index.html +++ b/dev/developers/contributing/index.html @@ -25,4 +25,4 @@ $ git checkout master -$ git pull
      Note

      If you have suggestions to improve this guide, please make a pull request. It's particularly helpful if you do this after your first pull request because you'll know all the parts that could be explained better.

      +$ git pull
      Note

      If you have suggestions to improve this guide, please make a pull request. It's particularly helpful if you do this after your first pull request because you'll know all the parts that could be explained better.

      diff --git a/dev/developers/custom_solver_binaries/index.html b/dev/developers/custom_solver_binaries/index.html index d2386e8c355..404ba85072e 100644 --- a/dev/developers/custom_solver_binaries/index.html +++ b/dev/developers/custom_solver_binaries/index.html @@ -90,4 +90,4 @@ libCbc_path = "/usr/local/Cellar/cbc/2.10.5/lib/libCbc.3.10.5" libOsiCbc_path = "/usr/local/Cellar/cbc/2.10.5/lib/libOsiCbc.3.10.5" libcbcsolver_path = "/usr/local/Cellar/cbc/2.10.5/lib/libCbcSolver.3.10.5"
      Info

      Note that capitalization matters, so libcbcsolver_path corresponds to libCbcSolver.3.10.5.

      Override entire artifact

      To use the homebrew install as our custom binary we add the following to ~/.julia/artifacts/Overrides.toml:

      # Override for Cbc_jll
      -e481bc81db5e229ba1f52b2b4bd57484204b1b06 = "/usr/local/Cellar/cbc/2.10.5"
      +e481bc81db5e229ba1f52b2b4bd57484204b1b06 = "/usr/local/Cellar/cbc/2.10.5" diff --git a/dev/developers/extensions/index.html b/dev/developers/extensions/index.html index 60b93162f2d..d0987010389 100644 --- a/dev/developers/extensions/index.html +++ b/dev/developers/extensions/index.html @@ -310,4 +310,4 @@ _function_barrier(names, model, F, S) end return names -end
      Note

      It is important to explicitly type the F and S arguments. If you leave them untyped, for example, function _function_barrier(names, model, F, S), Julia will not specialize the function calls and performance will not be improved.

      +end
      Note

      It is important to explicitly type the F and S arguments. If you leave them untyped, for example, function _function_barrier(names, model, F, S), Julia will not specialize the function calls and performance will not be improved.

      diff --git a/dev/developers/roadmap/index.html b/dev/developers/roadmap/index.html index 4c0c3d5f873..fbd192da03e 100644 --- a/dev/developers/roadmap/index.html +++ b/dev/developers/roadmap/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Development roadmap

      The JuMP developers have compiled this roadmap document to share their plans and goals with the JuMP community. Contributions to roadmap issues are especially invited.

      Most of these issues will require changes to both JuMP and MathOptInterface, and are non-trivial in their implementation. They are in no particular order, but represent broad themes that we see as areas in which JuMP could be improved.

      • Support nonlinear expressions with vector-valued inputs and outputs. There are a few related components:
        • Representing terms like log(det(X)) as necessary for Convex.jl
        • Automatic differentiation of terms with vector inputs and outputs
        • User-defined functions with vector–as opposed to scalar–inputs, which is particularly useful for optimal control problems
        • User-defined functions with vector outputs, avoiding the need for User-defined operators with vector outputs
      • Add support for modeling with SI units. The UnitJuMP.jl extension is a good proof of concept for what this would look like. We want to make units a first-class concept in JuMP. See #1350 for more details.

      Completed

      +

      Development roadmap

      The JuMP developers have compiled this roadmap document to share their plans and goals with the JuMP community. Contributions to roadmap issues are especially invited.

      Most of these issues will require changes to both JuMP and MathOptInterface, and are non-trivial in their implementation. They are in no particular order, but represent broad themes that we see as areas in which JuMP could be improved.

      • Support nonlinear expressions with vector-valued inputs and outputs. There are a few related components:
        • Representing terms like log(det(X)) as necessary for Convex.jl
        • Automatic differentiation of terms with vector inputs and outputs
        • User-defined functions with vector–as opposed to scalar–inputs, which is particularly useful for optimal control problems
        • User-defined functions with vector outputs, avoiding the need for User-defined operators with vector outputs
      • Add support for modeling with SI units. The UnitJuMP.jl extension is a good proof of concept for what this would look like. We want to make units a first-class concept in JuMP. See #1350 for more details.

      Completed

      diff --git a/dev/developers/style/index.html b/dev/developers/style/index.html index d506baa969c..ddcedb24198 100644 --- a/dev/developers/style/index.html +++ b/dev/developers/style/index.html @@ -182,4 +182,4 @@ end # module TestPkg -TestPkg.runtests()

      Break the tests into multiple files, with one module per file, so that subsets of the codebase can be tested by calling include with the relevant file.

      +TestPkg.runtests()

      Break the tests into multiple files, with one module per file, so that subsets of the codebase can be tested by calling include with the relevant file.

      diff --git a/dev/extensions/DimensionalData/index.html b/dev/extensions/DimensionalData/index.html index c0c06fe5845..7bb559d2649 100644 --- a/dev/extensions/DimensionalData/index.html +++ b/dev/extensions/DimensionalData/index.html @@ -48,4 +48,4 @@ ↓ j Categorical{String} ["a", "b"] ForwardOrdered └──────────────────────────────────────────────────────────────────────────────┘ "a" x[2,a] + x[3,a] + x[4,a] ≤ 1 - "b" x[2,b] + x[3,b] + x[4,b] ≤ 1

      Documentation

      See the DimensionalData.jl documentation for more details on the syntax and features of DimensionalData.DimArray.

      + "b" x[2,b] + x[3,b] + x[4,b] ≤ 1

      Documentation

      See the DimensionalData.jl documentation for more details on the syntax and features of DimensionalData.DimArray.

      diff --git a/dev/extensions/introduction/index.html b/dev/extensions/introduction/index.html index 78f12164f2c..8cebf15caa6 100644 --- a/dev/extensions/introduction/index.html +++ b/dev/extensions/introduction/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Introduction

      This section of the documentation contains brief documentation for some popular JuMP extensions. The list of extensions is not exhaustive, but instead is intended to help you discover popular JuMP extensions, and to give you an overview of the types of extensions that are possible to write with JuMP.

      Affiliation

      Packages beginning with jump-dev/ are developed and maintained by the JuMP developers.

      Packages that do not begin with jump-dev/ are developed independently. The developers of these packages requested or consented to the inclusion of their README contents in the JuMP documentation for the benefit of users.

      Adding new extensions

      Written an extension? Add it to this section of the JuMP documentation by making a pull request to the docs/packages.toml file.

      Weak dependencies

      Some extensions listed in this section are implemented using the weak dependency feature added to Julia in v1.9. These extensions are activated if and only if you have JuMP and the other package loaded into your current scope with using or import.

      Compat

      Using a weak dependency requires Julia v1.9 or later.

      +

      Introduction

      This section of the documentation contains brief documentation for some popular JuMP extensions. The list of extensions is not exhaustive, but instead is intended to help you discover popular JuMP extensions, and to give you an overview of the types of extensions that are possible to write with JuMP.

      Affiliation

      Packages beginning with jump-dev/ are developed and maintained by the JuMP developers.

      Packages that do not begin with jump-dev/ are developed independently. The developers of these packages requested or consented to the inclusion of their README contents in the JuMP documentation for the benefit of users.

      Adding new extensions

      Written an extension? Add it to this section of the JuMP documentation by making a pull request to the docs/packages.toml file.

      Weak dependencies

      Some extensions listed in this section are implemented using the weak dependency feature added to Julia in v1.9. These extensions are activated if and only if you have JuMP and the other package loaded into your current scope with using or import.

      Compat

      Using a weak dependency requires Julia v1.9 or later.

      diff --git a/dev/index.html b/dev/index.html index 61e426401ee..575edb4f083 100644 --- a/dev/index.html +++ b/dev/index.html @@ -32,4 +32,4 @@ journal = {Mathematical Programming Computation}, year = {2023}, doi = {10.1007/s12532-023-00239-3} -}

      NumFOCUS

      NumFOCUS logo

      JuMP is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides JuMP with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit numfocus.org for more information.

      You can support JuMP by donating.

      Donations to JuMP are managed by NumFOCUS. For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax adviser about your particular tax situation.

      JuMP's largest expense is the annual JuMP-dev workshop. Donations will help us provide travel support for JuMP-dev attendees and take advantage of other opportunities that arise to support JuMP development.

      License

      JuMP is licensed under the MPL-2.0 software license. Consult the license and the Mozilla FAQ for more information. In addition, JuMP is typically used in conjunction with solver packages and extensions which have their own licences. Consult their package repositories for the specific licenses that apply.

      +}

      NumFOCUS

      NumFOCUS logo

      JuMP is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides JuMP with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit numfocus.org for more information.

      You can support JuMP by donating.

      Donations to JuMP are managed by NumFOCUS. For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax adviser about your particular tax situation.

      JuMP's largest expense is the annual JuMP-dev workshop. Donations will help us provide travel support for JuMP-dev attendees and take advantage of other opportunities that arise to support JuMP development.

      License

      JuMP is licensed under the MPL-2.0 software license. Consult the license and the Mozilla FAQ for more information. In addition, JuMP is typically used in conjunction with solver packages and extensions which have their own licences. Consult their package repositories for the specific licenses that apply.

      diff --git a/dev/installation/index.html b/dev/installation/index.html index 812548eb5ab..723c6172b62 100644 --- a/dev/installation/index.html +++ b/dev/installation/index.html @@ -28,4 +28,4 @@ [4076af6c] ↓ JuMP v0.21.5 ⇒ v0.18.6 [707a9f91] + JuMPeR v0.6.0 Updating `~/jump_example/Manifest.toml` - ... lines omitted ...

      JuMPeR gets added at version 0.6.0 (+ JuMPeR v0.6.0), but JuMP gets downgraded from 0.21.5 to 0.18.6 (↓ JuMP v0.21.5 ⇒ v0.18.6)! The reason for this is that JuMPeR doesn't support a version of JuMP newer than 0.18.6.

      Tip

      Pay careful attention to the output of the package manager when adding new packages, especially when you see a package being downgraded.

      + ... lines omitted ...

      JuMPeR gets added at version 0.6.0 (+ JuMPeR v0.6.0), but JuMP gets downgraded from 0.21.5 to 0.18.6 (↓ JuMP v0.21.5 ⇒ v0.18.6)! The reason for this is that JuMPeR doesn't support a version of JuMP newer than 0.18.6.

      Tip

      Pay careful attention to the output of the package manager when adding new packages, especially when you see a package being downgraded.

      diff --git a/dev/manual/callbacks/index.html b/dev/manual/callbacks/index.html index e237b801660..080be8c5769 100644 --- a/dev/manual/callbacks/index.html +++ b/dev/manual/callbacks/index.html @@ -84,4 +84,4 @@ end my_callback_function (generic function with 1 method) -julia> set_attribute(model, MOI.HeuristicCallback(), my_callback_function)

      The third argument to submit is a vector of JuMP variables, and the fourth argument is a vector of values corresponding to each variable.

      MOI.submit returns an enum that depends on whether the solver accepted the solution. The possible return codes are:

      • MOI.HEURISTIC_SOLUTION_ACCEPTED
      • MOI.HEURISTIC_SOLUTION_REJECTED
      • MOI.HEURISTIC_SOLUTION_UNKNOWN
      Warning

      Some solvers may accept partial solutions. Others require a feasible integer solution for every variable. If in doubt, provide a complete solution.

      Info

      The heuristic solution callback may be called at fractional nodes in the branch-and-bound tree. There is no guarantee that the callback is called at every fractional primal solution.

      +julia> set_attribute(model, MOI.HeuristicCallback(), my_callback_function)

      The third argument to submit is a vector of JuMP variables, and the fourth argument is a vector of values corresponding to each variable.

      MOI.submit returns an enum that depends on whether the solver accepted the solution. The possible return codes are:

      • MOI.HEURISTIC_SOLUTION_ACCEPTED
      • MOI.HEURISTIC_SOLUTION_REJECTED
      • MOI.HEURISTIC_SOLUTION_UNKNOWN
      Warning

      Some solvers may accept partial solutions. Others require a feasible integer solution for every variable. If in doubt, provide a complete solution.

      Info

      The heuristic solution callback may be called at fractional nodes in the branch-and-bound tree. There is no guarantee that the callback is called at every fractional primal solution.

      diff --git a/dev/manual/complex/index.html b/dev/manual/complex/index.html index 72e5d601993..c1bd560d08e 100644 --- a/dev/manual/complex/index.html +++ b/dev/manual/complex/index.html @@ -197,4 +197,4 @@ julia> @constraint(model, H in HermitianPSDCone()) [x[1] im - -im -x[2]] ∈ HermitianPSDCone()
      Note

      The matrix H in H in HermitianPSDCone() must be a LinearAlgebra.Hermitian matrix type. A build_constraint error will be thrown if the matrix is a different matrix type.

      + -im -x[2]] ∈ HermitianPSDCone()
      Note

      The matrix H in H in HermitianPSDCone() must be a LinearAlgebra.Hermitian matrix type. A build_constraint error will be thrown if the matrix is a different matrix type.

      diff --git a/dev/manual/constraints/index.html b/dev/manual/constraints/index.html index df0573e309e..5b2d61274ec 100644 --- a/dev/manual/constraints/index.html +++ b/dev/manual/constraints/index.html @@ -801,4 +801,4 @@ (x[1] == x[2]) - 0.0 = 0 julia> @constraint(model, x[1] == x[2] := rhs) -x[1] == x[2] = false +x[1] == x[2] = false diff --git a/dev/manual/containers/index.html b/dev/manual/containers/index.html index 762602c7dae..53671419b39 100644 --- a/dev/manual/containers/index.html +++ b/dev/manual/containers/index.html @@ -232,4 +232,4 @@ julia> Containers.@container([i = 1:2, j = 1:4; condition(i, j)], i + j) JuMP.Containers.SparseAxisArray{Int64, 2, Tuple{Int64, Int64}} with 2 entries: [1, 2] = 3 - [1, 4] = 5 + [1, 4] = 5 diff --git a/dev/manual/expressions/index.html b/dev/manual/expressions/index.html index baa944db465..1b7fcc107af 100644 --- a/dev/manual/expressions/index.html +++ b/dev/manual/expressions/index.html @@ -247,4 +247,4 @@ julia> x 2-element Vector{AffExpr}: 1.1 - 0

      Note that for large expressions this will be slower due to the allocation of additional temporary objects.

      + 0

      Note that for large expressions this will be slower due to the allocation of additional temporary objects.

      diff --git a/dev/manual/models/index.html b/dev/manual/models/index.html index 034fe6f1c9d..975f54501bb 100644 --- a/dev/manual/models/index.html +++ b/dev/manual/models/index.html @@ -313,4 +313,4 @@ If you expected the solver to support your problem, you may have an error in your formulation. Otherwise, consider using a different solver. The list of available solvers, along with the problem types they support, is available at https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers. -Stacktrace:
      Warning

      Another downside of direct mode is that the behavior of querying solution information after modifying the problem is solver-specific. This can lead to errors, or the solver silently returning an incorrect value. See OptimizeNotCalled errors for more information.

      +Stacktrace:
      Warning

      Another downside of direct mode is that the behavior of querying solution information after modifying the problem is solver-specific. This can lead to errors, or the solver silently returning an incorrect value. See OptimizeNotCalled errors for more information.

      diff --git a/dev/manual/nlp/index.html b/dev/manual/nlp/index.html index c1618eac73a..bd2604486ee 100644 --- a/dev/manual/nlp/index.html +++ b/dev/manual/nlp/index.html @@ -344,4 +344,4 @@ f1(x[1]) - 1.0 ≤ 0 f2(x[1], x[2]) - 1.0 ≤ 0 f3(x[2], x[3], x[4]) - 1.0 ≤ 0 - f4(x[1], x[3], x[4], x[5]) - 1.0 ≤ 0

      Known performance issues

      The macro-based input to JuMP's nonlinear interface can cause a performance issue if you:

      1. write a macro with a large number (hundreds) of terms
      2. call that macro from within a function instead of from the top-level in global scope.

      The first issue does not depend on the number of resulting terms in the mathematical expression, but rather the number of terms in the Julia Expr representation of that expression. For example, the expression sum(x[i] for i in 1:1_000_000) contains one million mathematical terms, but the Expr representation is just a single sum.

      The most common cause, other than a lot of tedious typing, is if you write a program that automatically writes a JuMP model as a text file, which you later execute. One example is MINLPlib.jl which automatically transpiled models in the GAMS scalar format into JuMP examples.

      As a rule of thumb, if you are writing programs to automatically generate expressions for the JuMP macros, you should target the Raw expression input instead. For more information, read MathOptInterface Issue#1997.

      + f4(x[1], x[3], x[4], x[5]) - 1.0 ≤ 0

      Known performance issues

      The macro-based input to JuMP's nonlinear interface can cause a performance issue if you:

      1. write a macro with a large number (hundreds) of terms
      2. call that macro from within a function instead of from the top-level in global scope.

      The first issue does not depend on the number of resulting terms in the mathematical expression, but rather the number of terms in the Julia Expr representation of that expression. For example, the expression sum(x[i] for i in 1:1_000_000) contains one million mathematical terms, but the Expr representation is just a single sum.

      The most common cause, other than a lot of tedious typing, is if you write a program that automatically writes a JuMP model as a text file, which you later execute. One example is MINLPlib.jl which automatically transpiled models in the GAMS scalar format into JuMP examples.

      As a rule of thumb, if you are writing programs to automatically generate expressions for the JuMP macros, you should target the Raw expression input instead. For more information, read MathOptInterface Issue#1997.

      diff --git a/dev/manual/nonlinear/index.html b/dev/manual/nonlinear/index.html index d7b0129d56e..0e2dabd1c8d 100644 --- a/dev/manual/nonlinear/index.html +++ b/dev/manual/nonlinear/index.html @@ -319,4 +319,4 @@ julia> ForwardDiff.gradient(x -> my_operator_good(x...), [1.0, 2.0]) 2-element Vector{Float64}: 2.0 - 4.0 + 4.0 diff --git a/dev/manual/objective/index.html b/dev/manual/objective/index.html index 8855e492051..4c78fbfc46a 100644 --- a/dev/manual/objective/index.html +++ b/dev/manual/objective/index.html @@ -179,4 +179,4 @@ 2 x[1] julia> @constraint(model, obj3 <= 2.0) -x[1] + x[2] ≤ 2 +x[1] + x[2] ≤ 2 diff --git a/dev/manual/solutions/index.html b/dev/manual/solutions/index.html index c6bb55789d6..a7bd7b17e5c 100644 --- a/dev/manual/solutions/index.html +++ b/dev/manual/solutions/index.html @@ -429,4 +429,4 @@ x integer => 0.1

      You can also use the functional form, where the first argument is a function that maps variables to their primal values:

      julia> optimize!(model)
       
       julia> primal_feasibility_report(v -> value(v), model)
      -Dict{Any, Float64}()
      +Dict{Any, Float64}() diff --git a/dev/manual/variables/index.html b/dev/manual/variables/index.html index eda656eab62..544292f7600 100644 --- a/dev/manual/variables/index.html +++ b/dev/manual/variables/index.html @@ -639,4 +639,4 @@ p*x julia> typeof(px) -QuadExpr (alias for GenericQuadExpr{Float64, GenericVariableRef{Float64}})

      When to use a parameter

      Parameters are most useful when solving nonlinear models in a sequence:

      julia> using JuMP, Ipopt
      julia> model = Model(Ipopt.Optimizer);
      julia> set_silent(model)
      julia> @variable(model, x)x
      julia> @variable(model, p in Parameter(1.0))p
      julia> @objective(model, Min, (x - p)^2)x² - 2 p*x + p²
      julia> optimize!(model)
      julia> value(x)1.0
      julia> set_parameter_value(p, 5.0)
      julia> optimize!(model)
      julia> value(x)5.0

      Using parameters can be faster than creating a new model from scratch with updated data because JuMP is able to avoid repeating a number of steps in processing the model before handing it off to the solver.

      +QuadExpr (alias for GenericQuadExpr{Float64, GenericVariableRef{Float64}})

      When to use a parameter

      Parameters are most useful when solving nonlinear models in a sequence:

      julia> using JuMP, Ipopt
      julia> model = Model(Ipopt.Optimizer);
      julia> set_silent(model)
      julia> @variable(model, x)x
      julia> @variable(model, p in Parameter(1.0))p
      julia> @objective(model, Min, (x - p)^2)x² - 2 p*x + p²
      julia> optimize!(model)
      julia> value(x)1.0
      julia> set_parameter_value(p, 5.0)
      julia> optimize!(model)
      julia> value(x)5.0

      Using parameters can be faster than creating a new model from scratch with updated data because JuMP is able to avoid repeating a number of steps in processing the model before handing it off to the solver.

      diff --git a/dev/moi/background/duality/index.html b/dev/moi/background/duality/index.html index 1884cd29f02..323e0ca62bd 100644 --- a/dev/moi/background/duality/index.html +++ b/dev/moi/background/duality/index.html @@ -81,4 +81,4 @@ \max & \sum b_k y_k \\ \text{s.t.} \;\; & C+C^\top - \sum (A_k+A_k^\top) y_k \in \mathcal{S}_+ \\ & C-C^\top - \sum(A_k-A_k^\top) y_k = 0 -\end{align}\]

      and we recover $Z = X + X^\top$.

      +\end{align}\]

      and we recover $Z = X + X^\top$.

      diff --git a/dev/moi/background/infeasibility_certificates/index.html b/dev/moi/background/infeasibility_certificates/index.html index 9745598b998..925040d1313 100644 --- a/dev/moi/background/infeasibility_certificates/index.html +++ b/dev/moi/background/infeasibility_certificates/index.html @@ -29,4 +29,4 @@ \end{align}\]

      and:

      \[-\sum_{i=1}^m b_i^\top (y_i + \eta d_i) > -\sum_{i=1}^m b_i^\top y_i,\]

      for any feasible dual solution $y$. The latter simplifies to $-\sum_{i=1}^m b_i^\top d_i > 0$. For a maximization problem, the inequality is $\sum_{i=1}^m b_i^\top d_i < 0$. (Note that these are the same inequality, modulo a - sign.)

      If the solver has found a certificate of primal infeasibility:

      Note

      The choice of whether to scale the ray $d$ to have magnitude 1 is left to the solver.

      Infeasibility certificates of variable bounds

      Many linear solvers (for example, Gurobi) do not provide explicit access to the primal infeasibility certificate of a variable bound. However, given a set of linear constraints:

      \[\begin{align} l_A \le A x \le u_A \\ l_x \le x \le u_x, -\end{align}\]

      the primal certificate of the variable bounds can be computed using the primal certificate associated with the affine constraints, $d$. (Note that $d$ will have one element for each row of the $A$ matrix, and that some or all of the elements in the vectors $l_A$ and $u_A$ may be $\pm \infty$. If both $l_A$ and $u_A$ are finite for some row, the corresponding element in `d must be 0.)

      Given $d$, compute $\bar{d} = d^\top A$. If the bound is finite, a certificate for the lower variable bound of $x_i$ is $\max\{\bar{d}_i, 0\}$, and a certificate for the upper variable bound is $\min\{\bar{d}_i, 0\}$.

      +\end{align}\]

      the primal certificate of the variable bounds can be computed using the primal certificate associated with the affine constraints, $d$. (Note that $d$ will have one element for each row of the $A$ matrix, and that some or all of the elements in the vectors $l_A$ and $u_A$ may be $\pm \infty$. If both $l_A$ and $u_A$ are finite for some row, the corresponding element in `d must be 0.)

      Given $d$, compute $\bar{d} = d^\top A$. If the bound is finite, a certificate for the lower variable bound of $x_i$ is $\max\{\bar{d}_i, 0\}$, and a certificate for the upper variable bound is $\min\{\bar{d}_i, 0\}$.

      diff --git a/dev/moi/background/motivation/index.html b/dev/moi/background/motivation/index.html index 88b6b66dedc..754586a4bb8 100644 --- a/dev/moi/background/motivation/index.html +++ b/dev/moi/background/motivation/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Motivation

      MathOptInterface (MOI) is a replacement for MathProgBase, the first-generation abstraction layer for mathematical optimization previously used by JuMP and Convex.jl.

      To address a number of limitations of MathProgBase, MOI is designed to:

      • Be simple and extensible
        • unifying linear, quadratic, and conic optimization,
        • seamlessly facilitating extensions to essentially arbitrary constraints and functions (for example, indicator constraints, complementarity constraints, and piecewise-linear functions)
      • Be fast
        • by allowing access to a solver's in-memory representation of a problem without writing intermediate files (when possible)
        • by using multiple dispatch and avoiding requiring containers of non-concrete types
      • Allow a solver to return multiple results (for example, a pool of solutions)
      • Allow a solver to return extra arbitrary information via attributes (for example, variable- and constraint-wise membership in an irreducible inconsistent subset for infeasibility analysis)
      • Provide a greatly expanded set of status codes explaining what happened during the optimization procedure
      • Enable a solver to more precisely specify which problem classes it supports
      • Enable both primal and dual warm starts
      • Enable adding and removing both variables and constraints by indices that are not required to be consecutive
      • Enable any modification that the solver supports to an existing model
      • Avoid requiring the solver wrapper to store an additional copy of the problem data
      +

      Motivation

      MathOptInterface (MOI) is a replacement for MathProgBase, the first-generation abstraction layer for mathematical optimization previously used by JuMP and Convex.jl.

      To address a number of limitations of MathProgBase, MOI is designed to:

      • Be simple and extensible
        • unifying linear, quadratic, and conic optimization,
        • seamlessly facilitating extensions to essentially arbitrary constraints and functions (for example, indicator constraints, complementarity constraints, and piecewise-linear functions)
      • Be fast
        • by allowing access to a solver's in-memory representation of a problem without writing intermediate files (when possible)
        • by using multiple dispatch and avoiding requiring containers of non-concrete types
      • Allow a solver to return multiple results (for example, a pool of solutions)
      • Allow a solver to return extra arbitrary information via attributes (for example, variable- and constraint-wise membership in an irreducible inconsistent subset for infeasibility analysis)
      • Provide a greatly expanded set of status codes explaining what happened during the optimization procedure
      • Enable a solver to more precisely specify which problem classes it supports
      • Enable both primal and dual warm starts
      • Enable adding and removing both variables and constraints by indices that are not required to be consecutive
      • Enable any modification that the solver supports to an existing model
      • Avoid requiring the solver wrapper to store an additional copy of the problem data
      diff --git a/dev/moi/background/naming_conventions/index.html b/dev/moi/background/naming_conventions/index.html index cf7a14540c2..f0ea70597ee 100644 --- a/dev/moi/background/naming_conventions/index.html +++ b/dev/moi/background/naming_conventions/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Naming conventions

      MOI follows several conventions for naming functions and structures. These should also be followed by packages extending MOI.

      Sets

      Sets encode the structure of constraints. Their names should follow the following conventions:

      • Abstract types in the set hierarchy should begin with Abstract and end in Set, for example, AbstractScalarSet, AbstractVectorSet.
      • Vector-valued conic sets should end with Cone, for example, NormInfinityCone, SecondOrderCone.
      • Vector-valued Cartesian products should be plural and not end in Cone, for example, Nonnegatives, not NonnegativeCone.
      • Matrix-valued conic sets should provide two representations: ConeSquare and ConeTriangle, for example, RootDetConeTriangle and RootDetConeSquare. See Matrix cones for more details.
      • Scalar sets should be singular, not plural, for example, Integer, not Integers.
      • As much as possible, the names should follow established conventions in the domain where this set is used: for instance, convex sets should have names close to those of CVX, and constraint-programming sets should follow MiniZinc's constraints.
      +

      Naming conventions

      MOI follows several conventions for naming functions and structures. These should also be followed by packages extending MOI.

      Sets

      Sets encode the structure of constraints. Their names should follow the following conventions:

      • Abstract types in the set hierarchy should begin with Abstract and end in Set, for example, AbstractScalarSet, AbstractVectorSet.
      • Vector-valued conic sets should end with Cone, for example, NormInfinityCone, SecondOrderCone.
      • Vector-valued Cartesian products should be plural and not end in Cone, for example, Nonnegatives, not NonnegativeCone.
      • Matrix-valued conic sets should provide two representations: ConeSquare and ConeTriangle, for example, RootDetConeTriangle and RootDetConeSquare. See Matrix cones for more details.
      • Scalar sets should be singular, not plural, for example, Integer, not Integers.
      • As much as possible, the names should follow established conventions in the domain where this set is used: for instance, convex sets should have names close to those of CVX, and constraint-programming sets should follow MiniZinc's constraints.
      diff --git a/dev/moi/changelog/index.html b/dev/moi/changelog/index.html index 6d8d4bc070b..5c0d419de25 100644 --- a/dev/moi/changelog/index.html +++ b/dev/moi/changelog/index.html @@ -3,7 +3,7 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Release notes

      The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

      v1.34.0 (November 7, 2024)

      Added

      Fixed

      • Fixed error when adding unsupported constraints to Utilities.AbstractModel (#2572)
      • Fixed creating Interval, Semicontinuous and Semiinteger if the bound values are different types (#2577)
      • Attributes are now ignored in ListOfXXXAttributesSet in Utilities.UniversalFallback if they are set to nothing (#2575)

      Other

      • Updated solver-tests.yml (#2578)
      • Improved various docstrings (#2579)

      v1.33.0 (October 28, 2024)

      Added

      Fixed

      • Fixed MOI.objective_expr(::InvalidEvaluator) (#2569)

      v1.32.0 (October 21, 2024)

      Added

      • Added support for user-defined univariate operators which do not support second derivatives (#2542)
      • Added the NodeLimit attribute (#2552)
      • Added support for Utilities.filter_variables with VectorNonlinearFunction (#2556)

      Fixed

      • Fixed Bridges.Constraint.TableToMILPBridge if there is a constant in the function (#2544)
      • Fixed FileFormats.MPS and FileFormats.LP to read separate variable bounds instead of an Interval set (#2548)
      • Fixed the variable domains in Test.test_nonlinear_expression_hs110 (#2551)
      • Fixed the dimension of VectorNonlinearFunction in tests (#2555)
      • Fixed the use of 1:length(x) in Nonlinear.Coloring (#2559)
      • Fixed an index conflict in Nonlinear.Coloring (#2561)

      Other

      • Documentation fixes (#2541) (#2543) (#2545) (#2557) (#2560)
      • Formatting improvements (#2554)

      v1.31.2 (August 30, 2024)

      Fixed

      • Fixed a bug writing FileFormats.MPS files with MAX_SENSE and quadratic objectives (#2539)

      Other

      • Improved the docstrings in src/nlp.jl (#2537)

      v1.31.1 (August 7, 2024)

      Fixed

      • Fixed NLPBlock when used with bridges (#2524)

      Other

      • Use inverse_trimap instead of redefining it (#2522)
      • Improved UnsupportedConstraint error (#2530)

      v1.31.0 (June 26, 2024)

      Added

      • Added default show(::IO, ::ModelLike) method (#2505) (#2510)
      • Set map bridges can now implement the various map_function methods to use the value of the bridge as the first argument, instead of passing the type of the bridge. (#2509)
      • Added cannot_unbridge argument to Bridges.runtests

      Fixed

      • Fixed supports_constraint for IndicatorSOS1Bridge (#2507)
      • Fixed getting ConstraintDual in slack bridges (#2508) (#2514) (#2515)
      • Fixed FileFormats.NL to read linear constraints as ScalarAffineFunction (#2512)
      • Changed default_copy_to to maintain the order of variables during copy_to. This change is marked as non-breaking, but it may cause different (but mathematically equivalent) models to be formulated, particularly conic models with bridges. (#2495) (#2520)

      Other

      • Updated solver-tests.yml (#2516) (#2518)

      v1.30.0 (May 23, 2024)

      Added

      • Added input and output functions to Bridges.runtests (#2497)

      Fixed

      • Improved the heuristic of when to write variable cones in FileFormats.CBF (#2494)
      • Fixed Bridges.runtests when model has no variable (#2499)
      • Fixed getting an attribute of an empty vector (#2501)

      Other

      • Fixed links in the documentation (#2502)

      v1.29.0 (April 19, 2024)

      Added

      • Added support for Indicator constraints in FileFormats.LP (#2483)

      Fixed

      Other

      • Updated versions in CI (#2484) (#2489)
      • Fixed duplicate names in tests (#2485)

      v1.28.1 (April 13, 2024)

      Fixed

      • Fixed a bug reading MPS files with integer variables and no corresponding entry in the BOUNDS section (#2480)

      v1.28.0 (April 11, 2024)

      Added

      Fixed

      • Fixed a correctness bug getting the set of a constraint that used both variable and constraint bridges (#2464) (#2472)
      • Fixed MethodError in some bridges when called with Complex-valued functions (#2468) (#2475)
      • Fixed reading MPS files that use * as the start of a name and not as a comment (#2470)

      Other

      • Updated solver-tests.yml (#2465)
      • Removed two unused methods from MOI.Bridges (#2466)
      • Documentation updates (#2467), (#2473), (#2474)
      • Simplify reading CBF files (#2476)

      v1.27.1 (March 27, 2024)

      Fixed

      • Fixed passing non-IndexMap in Utilities.pass_attributes (#2458)
      • Fixed getting MOI.ListOfConstraintAttributesSet for VectorOfConstraints (#2459)

      Other

      • Updated solver-tests.yml (#2453) (#2455)
      • Fixed path in error message (#2461)

      v1.27.0 (February 27, 2024)

      Added

      • Added support for sign(x) in Nonlinear (#2444)

      Fixed

      • Fixed copy_to to FileFormats.NL when Name is set (#2446)

      v1.26.0 (February 22, 2024)

      Added

      Fixed

      • Fixed writing binary variables with bounds in FileFormats.MPS (#2431)
      • Fixed parsing suffixes in FileFormats.NL (#2436)
      • Fixed writing free constraints in FileFormats.NL (#2437)
      • Fixed potential for unsafe out-of-bounds write in Hessian evaluation (#2441)

      Other

      • Fixed formatting of BasisStatusCode docstring (#2430)
      • Refactor test/Fileformats/MPS/MPS.jl (#2433)

      v1.25.3 (February 14, 2024)

      Fixed

      • Fixed number type in get_fallback (#2414)
      • Fixed error type thrown when a variable bridge cannot un-bridge the function. It used to throw ErrorException. It now throws MOI.GetAttributeNotAllowed{MOI.ConstraintFunction}. This enables Utilities.CachingOptimizer to more uniformly implement fallbacks for common bridges like Bridges.Variable.ZerosBridge. (#2415)
      • Fixed tests on upcoming Julia v1.11 (#2428)

      Other

      v1.25.2 (January 29, 2024)

      Fixed

      Other

      • Clarified ordering of nonlinear tape in documentation (#2401)
      • Updated vale.sh (#2403) (#2404)
      • Tidied `src/Utilities/results.jl (#2411)

      v1.25.1 (January 11, 2024)

      Fixed

      Other

      • Removed a duplicated test (#2395)

      v1.25.0 (January 5, 2024)

      Added

      • Added the AutomaticDifferentiationBackend attribute (#2386)

      Fixed

      v1.24.0 (January 2, 2024)

      Added

      • Added get_fallback for ConstraintDual of variable bounds (#2373)

      Fixed

      • Fixed RSOCtoPSDBridge for dimension 2 (#2359)
      • Fixed getting ConstraintFunction in conversion bridge (#2360)
      • Fixed map_indices (#2367)
      • Fixed SlackBridgePrimalDualStart for non-slack bridges (#2365)
      • Fixed test_attribute_TimeLimitSec (#2370)
      • Fixed order of model attributes during copy_to (#2372)
      • Fixed ConstraintIndex conflicts between variable and constraint bridges (#2362)
      • Fixed corner-case deletion in bridges (#2377)
      • Fixed ListOfVariablesWithAttributeSet for variable bridges (#2380)
      • Fixed SlackBridge if scalar constant is not zero (#2382)
      • Fixed setting multiple bounds on a bridged variable (#2383)

      Other

      • Minor documentation improvements (#2355), (#2374)
      • Improved side_dimension_for_vectorized_dimension (#2356)
      • Added DiffOpt and ParametricOptInterface to solver-tests.yml (#2368)
      • Refactored SDPAModel into a separate test file and test more widely (#2364), (#2357)

      v1.23.0 (November 29, 2023)

      Added

      Fixed

      • Fixed Test.test_model_Name_VariableName_ConstraintName (#2349)
      • Fixed errors thrown when querying an attribute is not supported, like when Utilities.CachingOptimizer is not attached to an optimizer (#2350)

      v1.22.0 (November 6, 2023)

      Added

      Fixed

      Other

      • Fixed typo in docstring of ScalarAffineFunction (#2326)
      • Added Gurobi to solver-tests.yml (#2332)
      • Improved the error message when a bridge does not support an attribute (#2329)
      • Improved documentation for implementing a bridge (#2334)
      • Updated [compat] bounds in Project.toml (#2344)

      v1.21.0 (October 25, 2023)

      Added

      Fixed

      • Fixed test_attribute_TimeLimitSec (#2256)
      • Fixed conversion cost in objective bridges (#2309)

      Other

      • Fixed flakey link checking in documentation (#2297)
      • Minor documentation fixes (#2304) (#2313)
      • Fixed [compat] section of Project.toml (#2310)
      • Added MultiObjectiveAlgorithms to solver-tests.yml (#2312)

      v1.20.1 (September 24, 2023)

      Fixed

      Other

      • Added MathOptSetDistances to solver-tests.yml (#2265)
      • Updated Documenter (#2266)
      • Fixed various JET errors (#2267) (#2269) (#2270) (#2271) (#2276) (#2277) (#2289)
      • Various style improvements
        • Replaced using Package with import Package where possible (#2274)
        • Removed Utilities.EMPTYSTRING (#2283)
        • Removed unnecessary const acronyms in Utilities (#2280) (#2281)
        • Removed invalid and unused method (#2286)
      • Refactored src/Utilities/model.jl (#2287)

      v1.20.0 (September 7, 2023)

      Added

      Other

      • Updated dependencies (#2258)
      • Improved performance of ScalarNonlinearFunction utilities (#2259)
      • Fixed docstrings (#2261)

      v1.19.0 (August 15, 2023)

      Added

      Fixed

      Other

      • Added extensions to solver-tests.yml (#2229)
      • Refactored test/Benchmarks (#2234)
      • Fixed warnings in tests (#2241) (#2243)
      • Small refactoring of bridges for upcoming VectorNonlinearFunction (#2244) (#2245)
      • Fixed various typos (#2251) (#2255)
      • Partitioned how we run the tests on GitHub actions (#2252) (#2253)

      v1.18.0 (June 23, 2023)

      Added

      Fixed

      • Fixed a missing @require in MOI.Test (#2195) (#2196)
      • Fixed incorrect usage of Utilities.operate! in bridges (#2207) (#2216)
      • Fixed splatting nonlinear expression with univariate operator (#2221)

      Other

      • Removed unused argument names (#2199)
      • Reduced memory requirement for tests (#2204)
      • Refactored Utilities.promote_operation (#2206)
      • Improved code style in Utilities/mutable_arithmetics.jl (#2209)
      • Refactored various methods in Utilities/functions.jl (#2208) (#2212) (#2213) (#2214) (#2215)

      v1.17.1 (June 6, 2023)

      Fixed

      Other

      • Added documentation for enum instances (#2186)
      • Updated chatroom links in documentation (#2188)
      • Changed the documentation to build on Julia v1.9 (#2191)

      v1.17.0 (June 1, 2023)

      Added

      Fixed

      • Fixed support for external sets in Utilities.loadfromstring! (#2177)
      • Fixed promote_operation for ScalarNonlinearFunction (#2179)
      • Fixed two issues in FileFormats.LP when reading files with quadratic functions (#2182) (#2184)

      v1.16.0 (May 16, 2023)

      Added

      Fixed

      • Fixed support for Julia v1.9 to work around a bug in the upstream Julia compiler (#2161) (#2163)
      • Fixed a correctness bug in Bridges.Constraint.HermitianToSymmetricPSDBridge (#2171)
      • Fixed convert(::VariableIndex, ::ScalarAffineFunction) when the function has terms with 0coefficients (#2173)

      Other

      • Fixed solver-tests.yml (#2157)
      • Updated documentation links to developer chatroom (#2160)
      • Added various tests for bridges (#2156)
      • Added checklists to the developer documentation (#2167) (#2168)

      v1.15.1 (April 25, 2023)

      Fixed

      • Fixed deleting a variable in a bridged objective (#2150)

      v1.15.0 (April 19, 2023)

      Added

      Fixed

      Other

      • Add a test for variables in one-sided open Interval sets (#2133)
      • Minor style fixes in the source code (#2148)

      v1.14.1 (April 6, 2023)

      Fixed

      Other

      • Added a warning when an ambiguous string is passed to exclude in Test.runtests (#2136)

      v1.14.0 (April 4, 2023)

      Added

      Fixed

      • Fixed ResultCount when parsing .sol files in FileFormats.NL (#2130)

      v1.13.2 (March 21, 2023)

      Fixed

      Other

      • Fixed typos in the documentation (#2114)
      • Functions now print to the REPL in algebraic form. This is potentially breaking if you have tests which rely on a specific String form of MOI functions. (#2112) (#2126)

      v1.13.1 (March 3, 2023)

      Other

      • Added the Google style guide to the documentation linter Vale, and fixed the resulting warnings (#2110)
      • Improved the docstrings in src/functions.jl (#2108)

      v1.13.0 (February 28, 2023)

      Added

      Fixed

      Other

      • Added tests for vector-valued objective functions in FileFormats.MOF (#2093)
      • Used and documented preference for import MathOptInterface as MOI (#2096)
      • Fix and test links in the documentation with linkcheck = true (#2098)
      • Improved docstrings of sets in src/sets.jl (#2099)
      • Skip checking flakey links in documentation with linkcheck_ignore (#2103)

      v1.12.0 (February 10, 2023)

      Added

      Fixed

      • Fixed a number of constraint bridges so that Bridges.final_touch can be called multiple times without forcing a rebuild of the reformulation (#2089)

      Other

      v1.11.5 (January 24, 2023)

      Fixed

      • Fixed a bug writing .lp files with an off-diagonal quadratic objective (#2082)

      Other

      • Added SnoopPrecompile directives for reduced time-to-first-X in Julia v1.9 (#2080)

      v1.11.4 (January 12, 2023)

      Fixed

      • Fixed a bug reading .lp files with an Integer section (#2078)

      v1.11.3 (January 12, 2023)

      Fixed

      • Fixed a performance bug when deleting a vector of constraints (#2072)
      • Fixed a bug reading .lp files with terms like x -1 y (#2076)

      Other

      • Documented the two-argument method of optimize! (#2074)

      v1.11.2 (January 2, 2023)

      Fixed

      • Fixed a bug reading .mof.json files with ConstraintName set for VariableIndex constraints (#2066)
      • Fixed a bug reading .mof.json files with nonlinear objectives and no constraints (#2068)

      v1.11.1 (December 22, 2022)

      Fixed

      • Fixed a bug reading .mof.json files with integer coefficients for affine and quadratic functions (#2063)

      v1.11.0 (December 2, 2022)

      Added

      Other

      • Tidied these release notes (#2055)

      v1.10.0 (November 22, 2022)

      Added

      Fixed

      • Fixed Bridges.Objective.SlackBridge when the objective function is complex-valued (#2036) (#2038)
      • Fixed docstring of Test.runtests to clarify the warn_unsupported argument (#2037)
      • Fixed reading of free variables in FileFormats.LP (#2044)
      • Fixed numerous edge cases reading files from QPLIB using FileFormats.LP (#2042) (#2044)
      • Fixed situations in which x^y returns a complex value in Nonlinear (#2050)

      Other

      • Improved the error message thrown when a user-defined nonlinear function does not accept splatted input (#2032)
      • Removed specialized iterators for keys and values in Utilities.CleverDicts (#2051)

      v1.9.0 (October 29, 2022)

      Added

      • Added default fallback for getting ListOfConstraintIndices and NumberOfConstraints when the constraint type is unsupported by the model (#2021)
      • Added support for min and max in nonlinear expressions (#2023)
      • Added support for Indicator{EqualTo{T}} constraints in FileFormats.MPS (#2022)
      • Added default fallback for write_to_file and read_from_file (#2029)

      Fixed

      • Fixed Constraint.ZeroOneBridge by adding new bounds as affine constraints instead of variable bounds (#1879)
      • Fixed reading free rows in FileFormats.MPS files (#2009)
      • Fixed parsing of OBJSENSE blocks in FileFormats.MPS files (#2016) (#2019)
      • Fixed the parsing of deeply nested nonlinear expressions by removing the use of recursion (#2020)
      • Fixed the requirements check in Test.test_constraint_get_ConstraintIndex (#2024)

      v1.8.2 (September 20, 2022)

      Documentation

      • Added vale as a documentation linter (#2002)
      • Improved styling of code blocks in the PDF (#1999) (#2000)
      • Fixed a number of typos in the documentation (#2001) (#2003)

      v1.8.1 (September 12, 2022)

      Fixed

      • Fixed a bug in supports(::AbstractBridgeOptimizer for constraint attributes (#1991) (#1992)

      v1.8.0 (September 1, 2022)

      Added

      Fixed

      • Lazily construct expressions in Nonlinear so that expressions are updated when Nonlinear.Parameter values are updated (#1984)
      • Allow NORM_LIMIT as a TerminationStatus for unbounded problems in Test (#1990)

      v1.7.0 (August 16, 2022)

      Added

      Fixed

      • Fixed some missing promotion rules

      Other

      • Improved the performance of Jacobian products in Nonlinear
      • Removed an un-needed copy in Utilities.modify_function
      • Various clean-ups in Bridges/bridge_optimizer.jl

      v1.6.1 (July 23, 2022)

      Fixed

      • Added support for ExponentialCone in MatrixOfConstraints
      • Fix PSDSquare_3 test to reflect a previously fixed bug getting the ConstraintDual of a PositiveSemidefiniteConeSquare constraint

      v1.6.0 (July 2, 2022)

      Added

      • Added Bridges.needs_final_touch and Bridges.final_touch
      • Added new bridges from constraint programming sets to mixed-integer linear programs:
        • AllDifferentToCountDistinctBridge
        • CountAtLeastToCountBelongsBridge
        • CountBelongsToMILPBridge
        • CountDistinctToMILPBridge
        • CountGreaterThanToMILPBridge
        • CircuitToMILPBridge

      Fixed

      • Relax an instance of ::Vector to ::AbstractVector in MOI.Nonlinear
      • Fix BinPackingToMILPBridge to respect variable bounds
      • Fix SemiToBinaryBridge to throw error if other bounds are set

      v1.5.0 (June 27, 2022)

      Added

      • Added GetAttributeNotAllowed for solvers to indicate when getting an attribute encounters an error
      • Added Utilities.get_fallback support for ObjectiveValue and DualObjectiveValue
      • Added new bridges:
        • RootDetConeSquare to RootDetConeTriangle
        • LogDetConeSquare to LogDetConeTriangle
        • BinPacking to a mixed-integer linear program
        • Table to a mixed-integer linear program
      • Added Bridges.print_active_bridges to display the current optimal hyper-path in a Bridges.LazyBridgeOptimizer

      Fixed

      • Fixed ZeroOne tests with lower and upper bounds
      • Fixed error in FileFormats.LP when reading a malformed file
      • Fixed reading of nonlinear programs in FileFormats.MOF
      • Fixed bug in ConstraintDual when using SquareBridge

      Other

      • Improved documentation of nonlinear API
      • Documented duality convention for PositiveSemidefiniteConeSquare sets
      • Fixed typo in Bridges.Constraint.QuadToSOCBridge docstring

      v1.4.0 (June 9, 2022)

      Added

      • Added a number of sets for constraint programming:
        • AllDifferent
        • BinPacking
        • Circuit
        • CountAtLeast
        • CountBelongs
        • CountDistinct
        • CountGreaterThan
        • Cumulative
        • Path
        • Table
      • Added support for user-defined hessians in Nonlinear
      • Added Bridges.runtests to simplify the testing of bridge implementations

      Fixed

      • Fixed a bug in FileFormats.NL when writing univariate *

      Other

      • Began a large refactoring of the Bridges submodule, with greatly improved documentation.

      v1.3.0 (May 27, 2022)

      Added

      • Add MOI.Nonlinear submodule. This is a large new submodule that has been refactored from code that was in JuMP. For now, it should be considered experimental.
      • Add FileFormats.NL.SolFileResults(::IO, ::Model)
      • Add FileFormats.NL.read!(::IO, ::Model)
      • Add MOI.modify that accepts a vector of modifications

      Fixed

      • Fixed a bug in Test which attempted to include non-.jl files
      • Fixed a bug in FileFormats for models with open interval constraints

      Other

      • Fixed a performance issue in Utilities.DoubleDict
      • Various minor improvements to the documentation

      v1.2.0 (April 25, 2022)

      Added

      • Add support for the FORMAT_REW/.rew file format in FileFormats.

      Fixed

      • Fix bug handling of default variable bounds in FileFormats.LP
      • Fix FileFormats.MPS to not write OBJSENSE by default since this is only supported by some readers.

      v1.1.2 (March 31, 2022)

      Fixed

      • Fix a range of bugs in FileFormats.LP
      • Fix reading of problem dimensions in FileFormats.SDPA

      v1.1.1 (March 23, 2022)

      Fixed

      • Fix bug in test_model_UpperBoundAlreadySet
      • Fix bug in test_infeasible_ tests
      • Fix bug in test_objective_ObjectiveFunction_blank
      • Relax restriction of MOI.AbstractOptimizer to MOI.ModelLike in Utilities.CachingOptimizer and instantiate.

      New tests

      • Add test_conic_empty_matrix that checks conic solvers support problems with no variables.

      v1.1.0 (March 2, 2022)

      Added

      • Added MOI.Utilities.throw_unsupported(::UniversalFallback) for simplifying solver wrappers which copy from a UniversalFallback.

      v1.0.2 (March 1, 2022)

      Fixed

      • Fixed a bug in the test_model_ScalarFunctionConstantNotZero test
      • Fixed the error type when an AbstractFunctionConversionBridge cannot get or set an attribute
      • Identified a correctness bug in RSOCtoPSDBridge. We now thrown an error instead of returning an incorrect result.

      v1.0.1 (February 25, 2022)

      Fixed

      • Fixed a bug in which OptimizerAttributes were not copied in CachingOptimizer
      • Fixed a bug in which shift_constant did not promote mixed types of coefficients
      • Fixed a bug in which deleting a constraint of a bridged variable threw ErrorException instead of MOI.DeleteNotAllowed
      • Fixed a bug in which add_constraint in MatrixOfConstraints did not canonicalize the function
      • Fixed a bug when modifying scalar constants of a function containing a bridged variable
      • Fixed a bug in which final_touch was not always called with a CachingOptimizer

      v1.0.0 (February 17, 2022)

      Although tagged as a breaking release, v1.0.0 is v0.10.9 with deprecations removed, similar to how Julia 1.0 was Julia 0.7 with deprecations removed.

      Breaking

      • Julia 1.6 is now the minimum supported version
      • All deprecations have been removed

      Troubleshooting problems when updating

      If you experience problems when updating, you are likely using previously deprecated features. (By default, Julia does not warn when you use deprecated features.)

      To find the deprecated features you are using, start Julia with --depwarn=yes:

      $ julia --depwarn=yes

      Then install MathOptInterface v0.10.9:

      julia> using Pkg
      +

      Release notes

      The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

      v1.34.0 (November 7, 2024)

      Added

      Fixed

      • Fixed error when adding unsupported constraints to Utilities.AbstractModel (#2572)
      • Fixed creating Interval, Semicontinuous and Semiinteger if the bound values are different types (#2577)
      • Attributes are now ignored in ListOfXXXAttributesSet in Utilities.UniversalFallback if they are set to nothing (#2575)

      Other

      • Updated solver-tests.yml (#2578)
      • Improved various docstrings (#2579)

      v1.33.0 (October 28, 2024)

      Added

      Fixed

      • Fixed MOI.objective_expr(::InvalidEvaluator) (#2569)

      v1.32.0 (October 21, 2024)

      Added

      • Added support for user-defined univariate operators which do not support second derivatives (#2542)
      • Added the NodeLimit attribute (#2552)
      • Added support for Utilities.filter_variables with VectorNonlinearFunction (#2556)

      Fixed

      • Fixed Bridges.Constraint.TableToMILPBridge if there is a constant in the function (#2544)
      • Fixed FileFormats.MPS and FileFormats.LP to read separate variable bounds instead of an Interval set (#2548)
      • Fixed the variable domains in Test.test_nonlinear_expression_hs110 (#2551)
      • Fixed the dimension of VectorNonlinearFunction in tests (#2555)
      • Fixed the use of 1:length(x) in Nonlinear.Coloring (#2559)
      • Fixed an index conflict in Nonlinear.Coloring (#2561)

      Other

      • Documentation fixes (#2541) (#2543) (#2545) (#2557) (#2560)
      • Formatting improvements (#2554)

      v1.31.2 (August 30, 2024)

      Fixed

      • Fixed a bug writing FileFormats.MPS files with MAX_SENSE and quadratic objectives (#2539)

      Other

      • Improved the docstrings in src/nlp.jl (#2537)

      v1.31.1 (August 7, 2024)

      Fixed

      • Fixed NLPBlock when used with bridges (#2524)

      Other

      • Use inverse_trimap instead of redefining it (#2522)
      • Improved UnsupportedConstraint error (#2530)

      v1.31.0 (June 26, 2024)

      Added

      • Added default show(::IO, ::ModelLike) method (#2505) (#2510)
      • Set map bridges can now implement the various map_function methods to use the value of the bridge as the first argument, instead of passing the type of the bridge. (#2509)
      • Added cannot_unbridge argument to Bridges.runtests

      Fixed

      • Fixed supports_constraint for IndicatorSOS1Bridge (#2507)
      • Fixed getting ConstraintDual in slack bridges (#2508) (#2514) (#2515)
      • Fixed FileFormats.NL to read linear constraints as ScalarAffineFunction (#2512)
      • Changed default_copy_to to maintain the order of variables during copy_to. This change is marked as non-breaking, but it may cause different (but mathematically equivalent) models to be formulated, particularly conic models with bridges. (#2495) (#2520)

      Other

      • Updated solver-tests.yml (#2516) (#2518)

      v1.30.0 (May 23, 2024)

      Added

      • Added input and output functions to Bridges.runtests (#2497)

      Fixed

      • Improved the heuristic of when to write variable cones in FileFormats.CBF (#2494)
      • Fixed Bridges.runtests when model has no variable (#2499)
      • Fixed getting an attribute of an empty vector (#2501)

      Other

      • Fixed links in the documentation (#2502)

      v1.29.0 (April 19, 2024)

      Added

      • Added support for Indicator constraints in FileFormats.LP (#2483)

      Fixed

      Other

      • Updated versions in CI (#2484) (#2489)
      • Fixed duplicate names in tests (#2485)

      v1.28.1 (April 13, 2024)

      Fixed

      • Fixed a bug reading MPS files with integer variables and no corresponding entry in the BOUNDS section (#2480)

      v1.28.0 (April 11, 2024)

      Added

      Fixed

      • Fixed a correctness bug getting the set of a constraint that used both variable and constraint bridges (#2464) (#2472)
      • Fixed MethodError in some bridges when called with Complex-valued functions (#2468) (#2475)
      • Fixed reading MPS files that use * as the start of a name and not as a comment (#2470)

      Other

      • Updated solver-tests.yml (#2465)
      • Removed two unused methods from MOI.Bridges (#2466)
      • Documentation updates (#2467), (#2473), (#2474)
      • Simplify reading CBF files (#2476)

      v1.27.1 (March 27, 2024)

      Fixed

      • Fixed passing non-IndexMap in Utilities.pass_attributes (#2458)
      • Fixed getting MOI.ListOfConstraintAttributesSet for VectorOfConstraints (#2459)

      Other

      • Updated solver-tests.yml (#2453) (#2455)
      • Fixed path in error message (#2461)

      v1.27.0 (February 27, 2024)

      Added

      • Added support for sign(x) in Nonlinear (#2444)

      Fixed

      • Fixed copy_to to FileFormats.NL when Name is set (#2446)

      v1.26.0 (February 22, 2024)

      Added

      Fixed

      • Fixed writing binary variables with bounds in FileFormats.MPS (#2431)
      • Fixed parsing suffixes in FileFormats.NL (#2436)
      • Fixed writing free constraints in FileFormats.NL (#2437)
      • Fixed potential for unsafe out-of-bounds write in Hessian evaluation (#2441)

      Other

      • Fixed formatting of BasisStatusCode docstring (#2430)
      • Refactor test/Fileformats/MPS/MPS.jl (#2433)

      v1.25.3 (February 14, 2024)

      Fixed

      • Fixed number type in get_fallback (#2414)
      • Fixed error type thrown when a variable bridge cannot un-bridge the function. It used to throw ErrorException. It now throws MOI.GetAttributeNotAllowed{MOI.ConstraintFunction}. This enables Utilities.CachingOptimizer to more uniformly implement fallbacks for common bridges like Bridges.Variable.ZerosBridge. (#2415)
      • Fixed tests on upcoming Julia v1.11 (#2428)

      Other

      v1.25.2 (January 29, 2024)

      Fixed

      Other

      • Clarified ordering of nonlinear tape in documentation (#2401)
      • Updated vale.sh (#2403) (#2404)
      • Tidied `src/Utilities/results.jl (#2411)

      v1.25.1 (January 11, 2024)

      Fixed

      Other

      • Removed a duplicated test (#2395)

      v1.25.0 (January 5, 2024)

      Added

      • Added the AutomaticDifferentiationBackend attribute (#2386)

      Fixed

      v1.24.0 (January 2, 2024)

      Added

      • Added get_fallback for ConstraintDual of variable bounds (#2373)

      Fixed

      • Fixed RSOCtoPSDBridge for dimension 2 (#2359)
      • Fixed getting ConstraintFunction in conversion bridge (#2360)
      • Fixed map_indices (#2367)
      • Fixed SlackBridgePrimalDualStart for non-slack bridges (#2365)
      • Fixed test_attribute_TimeLimitSec (#2370)
      • Fixed order of model attributes during copy_to (#2372)
      • Fixed ConstraintIndex conflicts between variable and constraint bridges (#2362)
      • Fixed corner-case deletion in bridges (#2377)
      • Fixed ListOfVariablesWithAttributeSet for variable bridges (#2380)
      • Fixed SlackBridge if scalar constant is not zero (#2382)
      • Fixed setting multiple bounds on a bridged variable (#2383)

      Other

      • Minor documentation improvements (#2355), (#2374)
      • Improved side_dimension_for_vectorized_dimension (#2356)
      • Added DiffOpt and ParametricOptInterface to solver-tests.yml (#2368)
      • Refactored SDPAModel into a separate test file and test more widely (#2364), (#2357)

      v1.23.0 (November 29, 2023)

      Added

      Fixed

      • Fixed Test.test_model_Name_VariableName_ConstraintName (#2349)
      • Fixed errors thrown when querying an attribute is not supported, like when Utilities.CachingOptimizer is not attached to an optimizer (#2350)

      v1.22.0 (November 6, 2023)

      Added

      Fixed

      Other

      • Fixed typo in docstring of ScalarAffineFunction (#2326)
      • Added Gurobi to solver-tests.yml (#2332)
      • Improved the error message when a bridge does not support an attribute (#2329)
      • Improved documentation for implementing a bridge (#2334)
      • Updated [compat] bounds in Project.toml (#2344)

      v1.21.0 (October 25, 2023)

      Added

      Fixed

      • Fixed test_attribute_TimeLimitSec (#2256)
      • Fixed conversion cost in objective bridges (#2309)

      Other

      • Fixed flakey link checking in documentation (#2297)
      • Minor documentation fixes (#2304) (#2313)
      • Fixed [compat] section of Project.toml (#2310)
      • Added MultiObjectiveAlgorithms to solver-tests.yml (#2312)

      v1.20.1 (September 24, 2023)

      Fixed

      Other

      • Added MathOptSetDistances to solver-tests.yml (#2265)
      • Updated Documenter (#2266)
      • Fixed various JET errors (#2267) (#2269) (#2270) (#2271) (#2276) (#2277) (#2289)
      • Various style improvements
        • Replaced using Package with import Package where possible (#2274)
        • Removed Utilities.EMPTYSTRING (#2283)
        • Removed unnecessary const acronyms in Utilities (#2280) (#2281)
        • Removed invalid and unused method (#2286)
      • Refactored src/Utilities/model.jl (#2287)

      v1.20.0 (September 7, 2023)

      Added

      Other

      • Updated dependencies (#2258)
      • Improved performance of ScalarNonlinearFunction utilities (#2259)
      • Fixed docstrings (#2261)

      v1.19.0 (August 15, 2023)

      Added

      Fixed

      Other

      • Added extensions to solver-tests.yml (#2229)
      • Refactored test/Benchmarks (#2234)
      • Fixed warnings in tests (#2241) (#2243)
      • Small refactoring of bridges for upcoming VectorNonlinearFunction (#2244) (#2245)
      • Fixed various typos (#2251) (#2255)
      • Partitioned how we run the tests on GitHub actions (#2252) (#2253)

      v1.18.0 (June 23, 2023)

      Added

      Fixed

      • Fixed a missing @require in MOI.Test (#2195) (#2196)
      • Fixed incorrect usage of Utilities.operate! in bridges (#2207) (#2216)
      • Fixed splatting nonlinear expression with univariate operator (#2221)

      Other

      • Removed unused argument names (#2199)
      • Reduced memory requirement for tests (#2204)
      • Refactored Utilities.promote_operation (#2206)
      • Improved code style in Utilities/mutable_arithmetics.jl (#2209)
      • Refactored various methods in Utilities/functions.jl (#2208) (#2212) (#2213) (#2214) (#2215)

      v1.17.1 (June 6, 2023)

      Fixed

      Other

      • Added documentation for enum instances (#2186)
      • Updated chatroom links in documentation (#2188)
      • Changed the documentation to build on Julia v1.9 (#2191)

      v1.17.0 (June 1, 2023)

      Added

      Fixed

      • Fixed support for external sets in Utilities.loadfromstring! (#2177)
      • Fixed promote_operation for ScalarNonlinearFunction (#2179)
      • Fixed two issues in FileFormats.LP when reading files with quadratic functions (#2182) (#2184)

      v1.16.0 (May 16, 2023)

      Added

      Fixed

      • Fixed support for Julia v1.9 to work around a bug in the upstream Julia compiler (#2161) (#2163)
      • Fixed a correctness bug in Bridges.Constraint.HermitianToSymmetricPSDBridge (#2171)
      • Fixed convert(::VariableIndex, ::ScalarAffineFunction) when the function has terms with 0coefficients (#2173)

      Other

      • Fixed solver-tests.yml (#2157)
      • Updated documentation links to developer chatroom (#2160)
      • Added various tests for bridges (#2156)
      • Added checklists to the developer documentation (#2167) (#2168)

      v1.15.1 (April 25, 2023)

      Fixed

      • Fixed deleting a variable in a bridged objective (#2150)

      v1.15.0 (April 19, 2023)

      Added

      Fixed

      Other

      • Add a test for variables in one-sided open Interval sets (#2133)
      • Minor style fixes in the source code (#2148)

      v1.14.1 (April 6, 2023)

      Fixed

      Other

      • Added a warning when an ambiguous string is passed to exclude in Test.runtests (#2136)

      v1.14.0 (April 4, 2023)

      Added

      Fixed

      • Fixed ResultCount when parsing .sol files in FileFormats.NL (#2130)

      v1.13.2 (March 21, 2023)

      Fixed

      Other

      • Fixed typos in the documentation (#2114)
      • Functions now print to the REPL in algebraic form. This is potentially breaking if you have tests which rely on a specific String form of MOI functions. (#2112) (#2126)

      v1.13.1 (March 3, 2023)

      Other

      • Added the Google style guide to the documentation linter Vale, and fixed the resulting warnings (#2110)
      • Improved the docstrings in src/functions.jl (#2108)

      v1.13.0 (February 28, 2023)

      Added

      Fixed

      Other

      • Added tests for vector-valued objective functions in FileFormats.MOF (#2093)
      • Used and documented preference for import MathOptInterface as MOI (#2096)
      • Fix and test links in the documentation with linkcheck = true (#2098)
      • Improved docstrings of sets in src/sets.jl (#2099)
      • Skip checking flakey links in documentation with linkcheck_ignore (#2103)

      v1.12.0 (February 10, 2023)

      Added

      Fixed

      • Fixed a number of constraint bridges so that Bridges.final_touch can be called multiple times without forcing a rebuild of the reformulation (#2089)

      Other

      v1.11.5 (January 24, 2023)

      Fixed

      • Fixed a bug writing .lp files with an off-diagonal quadratic objective (#2082)

      Other

      • Added SnoopPrecompile directives for reduced time-to-first-X in Julia v1.9 (#2080)

      v1.11.4 (January 12, 2023)

      Fixed

      • Fixed a bug reading .lp files with an Integer section (#2078)

      v1.11.3 (January 12, 2023)

      Fixed

      • Fixed a performance bug when deleting a vector of constraints (#2072)
      • Fixed a bug reading .lp files with terms like x -1 y (#2076)

      Other

      • Documented the two-argument method of optimize! (#2074)

      v1.11.2 (January 2, 2023)

      Fixed

      • Fixed a bug reading .mof.json files with ConstraintName set for VariableIndex constraints (#2066)
      • Fixed a bug reading .mof.json files with nonlinear objectives and no constraints (#2068)

      v1.11.1 (December 22, 2022)

      Fixed

      • Fixed a bug reading .mof.json files with integer coefficients for affine and quadratic functions (#2063)

      v1.11.0 (December 2, 2022)

      Added

      Other

      • Tidied these release notes (#2055)

      v1.10.0 (November 22, 2022)

      Added

      Fixed

      • Fixed Bridges.Objective.SlackBridge when the objective function is complex-valued (#2036) (#2038)
      • Fixed docstring of Test.runtests to clarify the warn_unsupported argument (#2037)
      • Fixed reading of free variables in FileFormats.LP (#2044)
      • Fixed numerous edge cases reading files from QPLIB using FileFormats.LP (#2042) (#2044)
      • Fixed situations in which x^y returns a complex value in Nonlinear (#2050)

      Other

      • Improved the error message thrown when a user-defined nonlinear function does not accept splatted input (#2032)
      • Removed specialized iterators for keys and values in Utilities.CleverDicts (#2051)

      v1.9.0 (October 29, 2022)

      Added

      • Added default fallback for getting ListOfConstraintIndices and NumberOfConstraints when the constraint type is unsupported by the model (#2021)
      • Added support for min and max in nonlinear expressions (#2023)
      • Added support for Indicator{EqualTo{T}} constraints in FileFormats.MPS (#2022)
      • Added default fallback for write_to_file and read_from_file (#2029)

      Fixed

      • Fixed Constraint.ZeroOneBridge by adding new bounds as affine constraints instead of variable bounds (#1879)
      • Fixed reading free rows in FileFormats.MPS files (#2009)
      • Fixed parsing of OBJSENSE blocks in FileFormats.MPS files (#2016) (#2019)
      • Fixed the parsing of deeply nested nonlinear expressions by removing the use of recursion (#2020)
      • Fixed the requirements check in Test.test_constraint_get_ConstraintIndex (#2024)

      v1.8.2 (September 20, 2022)

      Documentation

      • Added vale as a documentation linter (#2002)
      • Improved styling of code blocks in the PDF (#1999) (#2000)
      • Fixed a number of typos in the documentation (#2001) (#2003)

      v1.8.1 (September 12, 2022)

      Fixed

      • Fixed a bug in supports(::AbstractBridgeOptimizer for constraint attributes (#1991) (#1992)

      v1.8.0 (September 1, 2022)

      Added

      Fixed

      • Lazily construct expressions in Nonlinear so that expressions are updated when Nonlinear.Parameter values are updated (#1984)
      • Allow NORM_LIMIT as a TerminationStatus for unbounded problems in Test (#1990)

      v1.7.0 (August 16, 2022)

      Added

      Fixed

      • Fixed some missing promotion rules

      Other

      • Improved the performance of Jacobian products in Nonlinear
      • Removed an un-needed copy in Utilities.modify_function
      • Various clean-ups in Bridges/bridge_optimizer.jl

      v1.6.1 (July 23, 2022)

      Fixed

      • Added support for ExponentialCone in MatrixOfConstraints
      • Fix PSDSquare_3 test to reflect a previously fixed bug getting the ConstraintDual of a PositiveSemidefiniteConeSquare constraint

      v1.6.0 (July 2, 2022)

      Added

      • Added Bridges.needs_final_touch and Bridges.final_touch
      • Added new bridges from constraint programming sets to mixed-integer linear programs:
        • AllDifferentToCountDistinctBridge
        • CountAtLeastToCountBelongsBridge
        • CountBelongsToMILPBridge
        • CountDistinctToMILPBridge
        • CountGreaterThanToMILPBridge
        • CircuitToMILPBridge

      Fixed

      • Relax an instance of ::Vector to ::AbstractVector in MOI.Nonlinear
      • Fix BinPackingToMILPBridge to respect variable bounds
      • Fix SemiToBinaryBridge to throw error if other bounds are set

      v1.5.0 (June 27, 2022)

      Added

      • Added GetAttributeNotAllowed for solvers to indicate when getting an attribute encounters an error
      • Added Utilities.get_fallback support for ObjectiveValue and DualObjectiveValue
      • Added new bridges:
        • RootDetConeSquare to RootDetConeTriangle
        • LogDetConeSquare to LogDetConeTriangle
        • BinPacking to a mixed-integer linear program
        • Table to a mixed-integer linear program
      • Added Bridges.print_active_bridges to display the current optimal hyper-path in a Bridges.LazyBridgeOptimizer

      Fixed

      • Fixed ZeroOne tests with lower and upper bounds
      • Fixed error in FileFormats.LP when reading a malformed file
      • Fixed reading of nonlinear programs in FileFormats.MOF
      • Fixed bug in ConstraintDual when using SquareBridge

      Other

      • Improved documentation of nonlinear API
      • Documented duality convention for PositiveSemidefiniteConeSquare sets
      • Fixed typo in Bridges.Constraint.QuadToSOCBridge docstring

      v1.4.0 (June 9, 2022)

      Added

      • Added a number of sets for constraint programming:
        • AllDifferent
        • BinPacking
        • Circuit
        • CountAtLeast
        • CountBelongs
        • CountDistinct
        • CountGreaterThan
        • Cumulative
        • Path
        • Table
      • Added support for user-defined hessians in Nonlinear
      • Added Bridges.runtests to simplify the testing of bridge implementations

      Fixed

      • Fixed a bug in FileFormats.NL when writing univariate *

      Other

      • Began a large refactoring of the Bridges submodule, with greatly improved documentation.

      v1.3.0 (May 27, 2022)

      Added

      • Add MOI.Nonlinear submodule. This is a large new submodule that has been refactored from code that was in JuMP. For now, it should be considered experimental.
      • Add FileFormats.NL.SolFileResults(::IO, ::Model)
      • Add FileFormats.NL.read!(::IO, ::Model)
      • Add MOI.modify that accepts a vector of modifications

      Fixed

      • Fixed a bug in Test which attempted to include non-.jl files
      • Fixed a bug in FileFormats for models with open interval constraints

      Other

      • Fixed a performance issue in Utilities.DoubleDict
      • Various minor improvements to the documentation

      v1.2.0 (April 25, 2022)

      Added

      • Add support for the FORMAT_REW/.rew file format in FileFormats.

      Fixed

      • Fix bug handling of default variable bounds in FileFormats.LP
      • Fix FileFormats.MPS to not write OBJSENSE by default since this is only supported by some readers.

      v1.1.2 (March 31, 2022)

      Fixed

      • Fix a range of bugs in FileFormats.LP
      • Fix reading of problem dimensions in FileFormats.SDPA

      v1.1.1 (March 23, 2022)

      Fixed

      • Fix bug in test_model_UpperBoundAlreadySet
      • Fix bug in test_infeasible_ tests
      • Fix bug in test_objective_ObjectiveFunction_blank
      • Relax restriction of MOI.AbstractOptimizer to MOI.ModelLike in Utilities.CachingOptimizer and instantiate.

      New tests

      • Add test_conic_empty_matrix that checks conic solvers support problems with no variables.

      v1.1.0 (March 2, 2022)

      Added

      • Added MOI.Utilities.throw_unsupported(::UniversalFallback) for simplifying solver wrappers which copy from a UniversalFallback.

      v1.0.2 (March 1, 2022)

      Fixed

      • Fixed a bug in the test_model_ScalarFunctionConstantNotZero test
      • Fixed the error type when an AbstractFunctionConversionBridge cannot get or set an attribute
      • Identified a correctness bug in RSOCtoPSDBridge. We now thrown an error instead of returning an incorrect result.

      v1.0.1 (February 25, 2022)

      Fixed

      • Fixed a bug in which OptimizerAttributes were not copied in CachingOptimizer
      • Fixed a bug in which shift_constant did not promote mixed types of coefficients
      • Fixed a bug in which deleting a constraint of a bridged variable threw ErrorException instead of MOI.DeleteNotAllowed
      • Fixed a bug in which add_constraint in MatrixOfConstraints did not canonicalize the function
      • Fixed a bug when modifying scalar constants of a function containing a bridged variable
      • Fixed a bug in which final_touch was not always called with a CachingOptimizer

      v1.0.0 (February 17, 2022)

      Although tagged as a breaking release, v1.0.0 is v0.10.9 with deprecations removed, similar to how Julia 1.0 was Julia 0.7 with deprecations removed.

      Breaking

      • Julia 1.6 is now the minimum supported version
      • All deprecations have been removed

      Troubleshooting problems when updating

      If you experience problems when updating, you are likely using previously deprecated features. (By default, Julia does not warn when you use deprecated features.)

      To find the deprecated features you are using, start Julia with --depwarn=yes:

      $ julia --depwarn=yes

      Then install MathOptInterface v0.10.9:

      julia> using Pkg
       julia> pkg"add MathOptInterface@0.10"

      And then run your code. Apply any suggestions, or search the release notes below for advice on updating a specific deprecated feature.

      v0.10.9 (February 16, 2022)

      Added

      • Added MOI.Utilities.FreeVariables as a new VariablesConstrainer for conic solvers
      • Added MOI.default_cache for specifying the model used in CachingOptimizer

      Fixed

      • Fixed LaTeX printing of MOI.Interval sets

      Other

      • Added Aqua.jl as a CI check, and fixed suggested issues
      • The constructors of GeoMeanBridge, StructOfConstraints, and CachingOptimizer were changed from outer to inner constructors. This change is technically breaking, but does not impact users who followed the documented API.

      v0.10.8 (February 3, 2022)

      Added

      • Added a Base.read! for FileFormats.LP.

      Fixed

      • Fixed a bug in MutableSparseMatrix
      • Fixed a bug when calling operate!(vcat, ...) with Number arguments
      • Removed unintended export of deprecated symbols
      • Fixed a bug with PowerCone and DualPowerCone in MatrixOfConstraints.

      v0.10.7 (January 5, 2022)

      Added

      • Added test for modifying the constant vector in a VectorAffineFunction-in-Zeros constraint.

      Fixed

      • Fixed the order in which sets are added to a LazyBridgeOptimizer. Compared to v0.10.6, this may result in bridged models being created with a different number (and order) of variables and constraints. However, it was necessary to fix cases which were previously rejected as unsupported, even though there was a valid bridge transformation.
      • Fixed an error message in FileFormats.CBF
      • Fixed comparison in test_linear_integration_Interval
      • Fixed errors for ConstraintPrimal in a CachingOptimizer
      • Fixed printing of models with non-Float64 coefficients.

      Other

      • Various improvements to reduce time-to-first-solve latency
      • Improved error message when an optimizer does not support compute_conflict!

      v0.10.6 (November 30, 2021)

      Added

      • Added new documentation and tests for infeasibility certificates
      • Added a version control system for the tests in MOI.Test.runtests. Pass exclude_tests_after = v"0.10.5" to run tests added in v0.10.5 and earlier.
      • MOI.Test.runtests now supports generic number types. To specify the number type T, pass MOI.Test.Config(T).
      • Added infeasible_status to MOI.Test.Config for solvers which return LOCALLY_INFEASIBLE
      • CachingOptimizers now use a fallback for ConstraintPrimal. This should enable solvers using a CachingOptimizer to pass tests requiring ConstraintPrimal.

      Fixed

      • Fixed a StackOverflow bug in copy_to
      • Fixed error thrown when nonconvex quadratic constraints cannot be bridged
      • Fixed a bug in copy_to for FileFormats.NL.Model
      • Fixed a bug in FileFormats.NL when printing large integers
      • Remove a common test failure for LowerBoundAlreadySet tests
      • Utilities.num_rows is now exported
      • Remove parts of failing test_model_copy_to_xxx tests due to bridges

      v0.10.5 (November 7, 2021)

      Fixed

      • Fixed getter in UniversalFallback
      • Fixed test_solve_conflict_zeroone_ii

      Other

      • Make normalize_and_add_constraint more flexible
      • Update paper BibTeX

      v0.10.4 (October 26, 2021)

      Added

      • Add SolverVersion attribute
      • Add new tests:
        • test_solve_conflict_zeroone_ii
        • test_nonlinear_objective
      • Utilities.VariablesContainer now supports ConstraintFunction and ConstraintSet
      • The documentation is now available as a PDF

      Other

      • Update to MutableArithmetics 0.3
      • Various improvements to the documentation

      v0.10.3 (September 18, 2021)

      Fixed

      • Fixed bug which prevented callbacks from working through a CachingOptimizer
      • Fixed bug in Test submodule

      v0.10.2 (September 16, 2021)

      • Updated MathOptFormat to v1.0
      • Updated JSONSchema to v1.0
      • Added Utilities.set_with_dimension
      • Added two-argument optimize!(::AbstractOptimizer, ::ModelLike)
      • The experimental feature copy_to_and_optimize! has been removed
      • Det bridges now support getting ConstraintFunction and ConstraintSet
      • Various minor bug fixes identified by improved testing

      v0.10.1 (September 8, 2021)

      • Various fixes to MOI.Test

      v0.10.0 (September 6, 2021)

      MOI v0.10 is a significant breaking release. There are a large number of user-visible breaking changes and code refactors, as well as a substantial number of new features.

      Breaking in MOI

      • SingleVariable has been removed; use VariableIndex instead
      • SingleVariableConstraintNameError has been renamed to VariableIndexConstraintNameError
      • SettingSingleVariableFunctionNotAllowed has been renamed to SettingVariableIndexFunctionNotAllowed
      • VariableIndex constraints should not support ConstraintName
      • VariableIndex constraints should not support ConstraintBasisStatus; implement VariableBasisStatus instead
      • ListOfConstraints has been renamed to ListOfConstraintTypesPresent
      • ListOfConstraintTypesPresent should now return Tuple{Type,Type} instead of Tuple{DataType,DataType}
      • SolveTime has been renamed to SolveTimeSec
      • IndicatorSet has been renamed to Indicator
      • RawParameter has been renamed to RawOptimizerAttribute and now takes String instead of Any as the only argument
      • The .N field in result attributes has been renamed to .result_index
      • The .variable_index field in ScalarAffineTerm has been renamed to .variable
      • The .variable_index_1 field in ScalarQuadraticTerm has been renamed to .variable_1
      • The .variable_index_2 field in ScalarQuadraticTerm has been renamed to .variable_2
      • The order of affine_terms and quadratic_terms in ScalarQuadraticFunction and VectorQuadraticFunction have been reversed. Both functions now accept quadratic, affine, and constant terms in that order.
      • The index_value function has been removed. Use .value instead.
      • isapprox has been removed for SOS1 and SOS2.
      • The dimension argument to Complements(dimension::Int) should now be the length of the corresponding function, instead of half the length. An ArgumentError is thrown if dimension is not even.
      • copy_to no longer takes keyword arguments:
        • copy_names: now copy names if they are supported by the destination solver
        • filter_constraints: use Utilities.ModelFilter instead
        • warn_attributes: never warn about optimizer attributes

      Breaking in Bridges

      • Constraint.RSOCBridge has been renamed to Constraint.RSOCtoSOCBridge
      • Constraint.SOCRBridge has been renamed to Constraint.SOCtoRSOCBridge
      • Bridges now return vectors that can be modified by the user. Previously, some bridges returned views instead of copies.
      • Bridges.IndexInVector has been unified into a single type. Previously, there was a different type for each submodule within Bridges
      • The signature of indicator bridges has been fixed. Use MOI.Bridges.Constraint.IndicatortoSOS1{Float64}(model).

      Breaking in FileFormats

      • FileFormats.MOF.Model no longer accepts validate argument. Use the JSONSchema package to validate the MOF file. See the documentation for more information.

      Breaking in Utilities

      • The datastructure of Utilities.Model (and models created with Utilities.@model) has been significantly refactored in a breaking way. This includes the way that objective functions and variable-related information is stored.
      • Utilities.supports_default_copy has been renamed to supports_incremental_interface
      • Utilities.automatic_copy_to has been renamed to Utilities.default_copy_to
      • The allocate-load API has been removed
      • CachingOptimizers are now initialized as EMPTY_OPTIMIZER instead of ATTACHED_OPTIMIZER. If your code relies on the optimizer being attached, call MOIU.attach_optimizer(model) after creation.
      • The field names of Utilities.IndexMap have been renamed to var_map and con_map. Accessing these fields directly is considered a private detail that may change. Use the public getindex and setindex! API instead.
      • The size argument to Utilities.CleverDicts.CleverDict(::Integer) has been removed.
      • The size argument to Utilities.IndexMap(::Integer) has been removed.
      • Utilities.DoubleDicts have been significantly refactored. Consult the source code for details.
      • Utilities.test_models_equal has been moved to MOI.Test

      Breaking in Test

      • MOI.Test has been renamed to MOI.DeprecatedTest
      • An entirely new MOI.Test submodule has been written. See the documentation for details. The new MOI.Test submodule may find many bugs in the implementations of existing solvers that were previously untested.

      Other changes:

      • attribute_value_type has been added
      • copy_to_and_optimize! has been added
      • VariableBasisStatus has been added
      • print(model) now prints a human-readable description of the model
      • Various improvements to the FileFormats submodule
        • FileFormats.CBF was refactored and received bugfixes
        • Support for MathOptFormat v0.6 was added in FileFormats.MOF
        • FileFormats.MPS has had bugfixes and support for more features such as OBJSENSE and objective constants.
        • FileFormats.NL has been added to support nonlinear files
      • Improved type inference throughout to reduce latency

      Updating

      A helpful script when updating is:

      for (root, dirs, files) in walkdir(".")
           for file in files
               if !endswith(file, ".jl")
      @@ -31,4 +31,4 @@
               end
               write(path, s)
           end
      -end

      v0.9.22 (May 22, 2021)

      This release contains backports from the ongoing development of the v0.10 release.

      • Improved type inference in Utilities, Bridges and FileFormats submodules to reduce latency.
      • Improved performance of Utilities.is_canonical.
      • Fixed Utilities.pass_nonvariable_constraints with bridged variables.
      • Fixed performance regression of Utilities.Model.
      • Fixed ordering of objective setting in parser.

      v0.9.21 (April 23, 2021)

      • Added supports_shift_constant.
      • Improve performance of bridging quadratic constraints.
      • Add precompilation statements.
      • Large improvements to the documentation.
      • Fix a variety of inference issues, benefiting precompilation and reducing initial latency.
      • RawParameters are now ignored when resetting a CachingOptimizer. Previously, changing the underlying optimizer after RawParameters were set would throw an error.
      • Utilities.AbstractModel is being refactored. This may break users interacting with private fields of a model generated using @model.

      v0.9.20 (February 20, 2021)

      • Improved performance of Utilities.ScalarFunctionIterator
      • Added support for compute_conflict to MOI layers
      • Added test with zero off-diagonal quadratic term in objective
      • Fixed double deletion of nested bridged SingleVariable/VectorOfVariables constraints
      • Fixed modification of un-set objective
      • Fixed function modification with duplicate terms
      • Made unit tests abort without failing if the problem class is not supported
      • Formatted code with JuliaFormatter
      • Clarified BasisStatusCode's docstring

      v0.9.19 (December 1, 2020)

      • Added CallbackNodeStatus attribute
      • Added bridge from GreaterThan or LessThan to Interval
      • Added tests for infeasibility certificates and double optimize
      • Fixed support for Julia v1.6
      • Re-organized MOI docs and added documentation for adding a test

      v0.9.18 (November 3, 2020)

      • Various improvements for working with complex numbers
      • Added GeoMeantoRelEntrBridge to bridge a GeometricMeanCone constraint to a relative entropy constraint

      v0.9.17 (September 21, 2020)

      • Fixed CleverDict with variable of negative index value
      • Implement supports_add_constrained_variable for MockOptimizer

      v0.9.16 (September 17, 2020)

      • Various fixes:
        • 32-bit support
        • CleverDict with abstract value type
        • Checks in test suite

      v0.9.15 (September 14, 2020)

      • Bridges improvements:
        • (R)SOCtoNonConvexQuad bridge
        • ZeroOne bridge
        • Use supports_add_constrained_variable in LazyBridgeOptimizer
        • Exposed VariableBridgeCost and ConstraintBridgeCost attributes
        • Prioritize constraining variables on creation according to these costs
        • Refactor bridge debugging
      • Large performance improvements across all submodules
      • Lots of documentation improvements
      • FileFormats improvements:
        • Update MathOptFormat to v0.5
        • Fix supported objectives in FileFormats
      • Testing improvements:
        • Add name option for basic_constraint_test
      • Bug fixes and missing methods
        • Add length for iterators
        • Fix bug with duplicate terms
        • Fix order of LinearOfConstraintIndices

      v0.9.14 (May 30, 2020)

      • Add a solver-independent interface for accessing the set of conflicting constraints an Irreducible Inconsistent Subsystem (#1056).
      • Bump JSONSchema dependency from v0.2 to v0.3 (#1090).
      • Documentation improvements:
        • Fix typos (#1054, #1060, #1061, #1064, #1069, #1070).
        • Remove the outdated recommendation for a package implementing MOI for a solver XXX to be called MathOptInterfaceXXX (#1087).
      • Utilities improvements:
        • Fix is_canonical for quadratic functions (#1081, #1089).
        • Implement add_constrained_variable[s] for CachingOptimizer so that it is added as constrained variables to the underlying optimizer (#1084).
        • Add support for custom objective functions for UniversalFallback (#1086).
        • Deterministic ordering of constraints in UniversalFallback (#1088).
      • Testing improvements:
        • Add NormOneCone/NormInfinityCone tests (#1045).
      • Bridges improvements:
        • Add bridges from Semiinteger and Semicontinuous (#1059).
        • Implement getting ConstraintSet for Variable.FlipSignBridge (#1066).
        • Fix setting ConstraintFunction for Constraint.ScalarizeBridge (#1093).
        • Fix NormOne/NormInf bridges with nonzero constants (#1045).
        • Fix StackOverflow in debug (#1063).
      • FileFormats improvements:
        • [SDPA] Implement the extension for integer variables (#1079).
        • [SDPA] Ignore comments after m and nblocks and detect dat-s extension (#1077).
        • [SDPA] No scaling of off-diagonal coefficient (#1076).
        • [SDPA] Add missing negation of constant (#1075).

      v0.9.13 (March 24, 2020)

      • Added tests for Semicontinuous and Semiinteger variables (#1033).
      • Added tests for using ExprGraphs from NLP evaluators (#1043).
      • Update version compatibilities of dependencies (#1034, #1051, #1052).
      • Fixed typos in documentation (#1044).

      v0.9.12 (February 28, 2020)

      • Fixed writing NLPBlock in MathOptFormat (#1037).
      • Fixed MockOptimizer for result attributes with non-one result index (#1039).
      • Updated test template with instantiate (#1032).

      v0.9.11 (February 21, 2020)

      • Add an option for the model created by Utilities.@model to be a subtype of AbstractOptimizer (#1031).
      • Described dual cone in docstrings of GeoMeanCone and RelativeEntropyCone (#1018, #1028).
      • Fixed typos in documentation (#1022, #1024).
      • Fixed warning of unsupported attribute (#1027).
      • Added more rootdet/logdet conic tests (#1026).
      • Implemented ConstraintDual for Constraint.GeoMeanBridge, Constraint.RootDetBridge and Constraint.LogDetBridge and test duals in tests with GeoMeanCone and RootDetConeTriangle and LogDetConeTriangle cones (#1025, #1026).

      v0.9.10 (January 31, 2020)

      • Added OptimizerWithAttributes grouping an optimizer constructor and a list of optimizer attributes (#1008).
      • Added RelativeEntropyCone with corresponding bridge into exponential cone constraints (#993).
      • Added NormSpectralCone and NormNuclearCone with corresponding bridges into positive semidefinite constraints (#976).
      • Added supports_constrained_variable(s) (#1004).
      • Added dual_set_type (#1002).
      • Added tests for vector specialized version of delete (#989, #1011).
      • Added PSD3 test (#1007).
      • Clarified dual solution of Tests.pow1v and Tests.pow1f (#1013).
      • Added support for EqualTo and Zero in Bridges.Constraint.SplitIntervalBridge (#1005).
      • Fixed Utilities.vectorize for empty vector (#1003).
      • Fixed free variables in LP writer (#1006).

      v0.9.9 (December 29, 2019)

      • Incorporated MathOptFormat.jl as the FileFormats submodule. FileFormats provides readers and writers for a number of standard file formats and MOF, a file format specialized for MOI (#969).
      • Improved performance of deletion of vector of variables in MOI.Utilities.Model (#983).
      • Updated to MutableArithmetics v0.2 (#981).
      • Added MutableArithmetics.promote_operation allocation tests (#975).
      • Fixed inference issue on Julia v1.1 (#982).

      v0.9.8 (December 19, 2019)

      • Implemented MutableArithmetics API (#924).
      • Fixed callbacks with CachingOptimizer (#959).
      • Fixed MOI.dimension for MOI.Complements (#948).
      • Added fallback for add_variables (#972).
      • Added is_diagonal_vectorized_index utility (#965).
      • Improved linear constraints display in manual (#963, #964).
      • Bridges improvements:
        • Added IndicatorSet to SOS1 bridge (#877).
        • Added support for starting values for Variable.VectorizeBridge (#944).
        • Fixed MOI.add_constraints with non-bridged variable constraint on bridged variable (#951).
        • Fixed corner cases and docstring of GeoMeanBridge (#961, #962, #966).
        • Fixed choice between variable or constraint bridges for constrained variables (#973).
        • Improve performance of bridge shortest path (#945, #946, #956).
        • Added docstring for test_delete_bridge (#954).
        • Added Variable bridge tests (#952).

      v0.9.7 (October 30, 2019)

      • Implemented _result_index_field for NLPBlockDual (#934).
      • Fixed copy of model with starting values for vector constraints (#941).
      • Bridges improvements:
        • Improved performance of add_bridge and added has_bridge (#935).
        • Added AbstractSetMapBridge for bridges between sets S1, S2 such that there is a linear map A such that A*S1 = S2 (#933).
        • Added support for starting values for FlipSignBridge, VectorizeBridge, ScalarizeBridge, SlackBridge, SplitIntervalBridge, RSOCBridge, SOCRBridge NormInfinityBridge, SOCtoPSDBridge and RSOCtoPSDBridge (#933, #936, #937, #938, #939).

      v0.9.6 (October 25, 2019)

      • Added complementarity constraints (#913).
      • Allowed ModelLike objects as value of attributes (#928).
      • Testing improvements:
        • Added dual_objective_value option to MOI.Test.TestConfig (#922).
        • Added InvalidIndex tests in basic_constraint_tests (#921).
        • Added tests for the constant term in indicator constraint (#929).
      • Bridges improvements:
        • Added support for starting values for Functionize bridges (#923).
        • Added variable indices context to variable bridges (#920).
        • Fixed a typo in printing o debug_supports (#927).

      v0.9.5 (October 9, 2019)

      • Clarified PrimalStatus/DualStatus to be NO_SOLUTION if result_index is out of bounds (#912).
      • Added tolerance for checks and use ResultCount + 1 for the result_index in MOI.Test.solve_result_status (#910, #917).
      • Use 0.5 instead of 2.0 for power in PowerCone in basic_constraint_test (#916).
      • Bridges improvements:
        • Added debug utilities for unsupported variable/constraint/objective (#861).
        • Fixed deletion of variables in bridged VectorOfVariables constraints (#909).
        • Fixed result_index with objective bridges (#911).

      v0.9.4 (October 2, 2019)

      • Added solver-independent MIP callbacks (#782).
      • Implements submit for Utilities.CachingOptimizer and Bridges.AbstractBridgeOptimizer (#906).
      • Added tests for result count of solution attributes (#901, #904).
      • Added NumberOfThreads attribute (#892).
      • Added Utilities.get_bounds to get the bounds on a variable (#890).
      • Added a note on duplicate coefficients in documentation (#581).
      • Added result index in ConstraintBasisStatus (#898).
      • Added extension dictionary to Utilities.Model (#884, #895).
      • Fixed deletion of constrained variables for CachingOptimizer (#905).
      • Implemented Utilities.shift_constraint for Test.UnknownScalarSet (#896).
      • Bridges improvements:
        • Added Variable.RSOCtoSOCBridge (#907).
        • Implemented MOI.get for ConstraintFunction/ConstraintSet for Bridges.Constraint.SquareBridge (#899).

      v0.9.3 (September 20, 2019)

      • Fixed ambiguity detected in Julia v1.3 (#891, #893).
      • Fixed missing sets from ListOfSupportedConstraints (#880).
      • Fixed copy of VectorOfVariables constraints with duplicate indices (#886).
      • Added extension dictionary to MOIU.Model (#884).
      • Implemented MOI.get for function and set for GeoMeanBridge (#888).
      • Updated documentation for SingleVariable indices and bridges (#885).
      • Testing improvements:
        • Added more comprehensive tests for names (#882).
        • Added tests for SingleVariable duals (#883).
        • Added tests for DualExponentialCone and DualPowerCone (#873).
      • Improvements for arbitrary coefficient type:
        • Fixed == for sets with mutable fields (#887).
        • Removed some Float64 assumptions in bridges (#878).
        • Automatic selection of Constraint.[Scalar|Vector]FunctionizeBridge (#889).

      v0.9.2 (September 5, 2019)

      • Implemented model printing for MOI.ModelLike and specialized it for models defined in MOI (864).
      • Generalized contlinear tests for arbitrary coefficient type (#855).
      • Fixed supports_constraint for Semiinteger and Semicontinuous and supports for ObjectiveFunction (#859).
      • Fixed Allocate-Load copy for single variable constraints (#856).
      • Bridges improvements:
        • Add objective bridges (#789).
        • Fixed Variable.RSOCtoPSDBridge for dimension 2 (#869).
        • Added Variable.SOCtoRSOCBridge (#865).
        • Added Constraint.SOCRBridge and disable MOI.Bridges.Constraint.SOCtoPSDBridge (#751).
        • Fixed added_constraint_types for Contraint.LogDetBridge and Constraint.RootDetBridge (#870).

      v0.9.1 (August 22, 2019)

      • Fix support for Julia v1.2 (#834).
      • L1 and L∞ norm epigraph cones and corresponding bridges to LP were added (#818).
      • Added tests to MOI.Test.nametest (#833).
      • Fix MOI.Test.soc3test for solvers not supporting infeasibility certificates (#839).
      • Implements operate for operators * and / between vector function and constant (#837).
      • Implements show for MOI.Utilities.IndexMap (#847).
      • Fix corner cases for mapping of variables in MOI.Utilities.CachingOptimizer and substitution of variables in MOI.Bridges.AbstractBridgeOptimizer (#848).
      • Fix transformation of constant terms for MOI.Bridges.Constraint.SOCtoPSDBridge and MOI.Bridges.Constraint.RSOCtoPSDBridge (#840).

      v0.9.0 (August 13, 2019)

      • Support for Julia v0.6 and v0.7 was dropped (#714, #717).
      • A MOI.Utilities.Model implementation of ModelLike, this should replace most use cases of MOI.Utilities.@model (#781).
      • add_constrained_variable and add_constrained_variables were added (#759).
      • Support for indicator constraints was added (#709, #712).
      • DualObjectiveValue attribute was added (#473).
      • RawParameter attribute was added (#733).
      • A dual_set function was added (#804).
      • A Benchmarks submodule was added to facilitate solver benchmarking (#769).
      • A submit function was added, this may for instance allow the user to submit solutions or cuts to the solver from a callback (#775).
      • The field of ObjectiveValue was renamed to result_index (#729).
      • The _constant and Utilities.getconstant function were renamed to constant
      • REDUCTION_CERTIFICATE result status was added (#734).
      • Abstract matrix sets were added (#731).
      • Testing improvements:
        • The testing guideline was updated (#728).
        • Quadratic tests were added (#697).
        • Unit tests for RawStatusString, SolveTime, Silent and SolverName were added (#726, #741).
        • A rotated second-order cone test was added (#759).
        • A power cone test was added (#768).
        • Tests for ZeroOne variables with variable bounds were added (#772).
        • An unbounded test was added (#773).
        • Existing tests had a few updates (#702, #703, #763).
      • Documentation improvements:
        • Added a section on CachingOptimizer (#777).
        • Added a section on UniversalFallback, Model and @model (#762).
        • Transition the knapsack example to a doctest with MockOptimizer (#786).
      • Utilities improvements:
        • A CleverDict utility was added for a vector that automatically transform into a dictionary once a first index is removed (#767).
        • The Utilities.constant function was renamed to Utilities.constant_vector (#740).
        • Implement optimizer attributes for CachingOptimizer (#745).
        • Rename Utilities.add_scalar_constraint to Utilities.normalize_and_add_constraint (#801).
        • operate with vcat, SingleVariable and VectorOfVariables now returns a VectorOfVariables (#616).
        • Fix a type piracy of operate (#784).
        • The load_constraint fallback signature was fixed (#760).
        • The set_dot function was extended to work with sparse arrays (#805).
      • Bridges improvements:
        • The bridges no longer store the constraint function and set before it is bridged, the bridges now have to implement ConstraintFunction and ConstraintSet if the user wants to recover them. As a consequence, the @bridge macro was removed (#722).
        • Bridge are now instantiated with a bridge_constraint function instead of using a constructor (#730).
        • Fix constraint attributes for bridges (#699).
        • Constraint bridges were moved to the Bridges/Constraint submodule so they should now inherit from MOI.Bridges.Constraint.Abstract and should implement MOI.Bridges.Constraint.concrete_bridge_type instead of MOI.Bridges.concrete_bridge_type (#756).
        • Variable bridges were added in (#759).
        • Various improvements (#746, #747).

      v0.8.4 (March 13, 2019)

      • Performance improvement in default_copy_to and bridge optimizer (#696).
      • Add Silent and implement setting optimizer attributes in caching and mock optimizers (#695).
      • Add Functionize bridges (SingleVariable and VectorOfVariables) (#659).
      • Minor typo fixes (#694).

      v0.8.3 (March 6, 2019)

      • Use zero constant in scalar constraint function of MOI.Test.copytest (#691).
      • Fix variable deletion with SingleVariable objective function (#690).
      • Fix LazyBridgeOptimizer with bridges that add no constraints (#689).
      • Error message improvements (#673, #685, #686, #688).
      • Documentation improvements (#682, #683, #687).
      • Basis status:
        • Remove VariableBasisStatus (#679).
        • Test ConstraintBasisStatus and implement it in bridges (#678).
      • Fix inference of NumberOfVariables and NumberOfConstraints (#677).
      • Implement division between a quadratic function and a number (#675).

      v0.8.2 (February 7, 2019)

      • Add RawStatusString attribute (#629).
      • Do not set names to the optimizer but only to the cache in CachingOptimizer (#638).
      • Make scalar MOI functions act as scalars in broadcast (#646).
      • Add function utilities:
        • Implement Base.zero (#634), Base.iszero (#643), add missing arithmetic operations (#644, #645) and fix division (#648).
        • Add a vectorize function that turns a vector of ScalarAffineFunction into a VectorAffineFunction (#642).
      • Improve support for starting values:
        • Show a warning in copy when starting values are not supported instead of throwing an error (#630).
        • Fix UniversalFallback for getting an variable or constraint attribute set to no indices (#623).
        • Add a test in contlineartest with partially set VariablePrimalStart.
      • Bridges improvements:
        • Fix StackOverFlow in LazyBridgeOptimizer when there is a cycle in the graph of bridges.
        • Add Slack bridges (#610, #650).
        • Add FlipSign bridges (#658).
      • Add tests with duplicate coefficients in ScalarAffineFunction and VectorAffineFunction (#639).
      • Use tolerance to compare VariablePrimal in rotatedsoc1 test (#632).
      • Use a zero constant in ScalarAffineFunction of constraints in psdt2 (#622).

      v0.8.1 (January 7, 2019)

      • Adding an NLP objective now overrides any objective set using the ObjectiveFunction attribute (#619).
      • Rename fullbridgeoptimizer into full_bridge_optimizer (#621).
      • Allow custom constraint types with full_bridge_optimizer (#617).
      • Add Vectorize bridge which transforms scalar linear constraints into vector linear constraints (#615).

      v0.8.0 (December 18, 2018)

      • Rename all enum values to follow the JuMP naming guidelines for constants, for example, Optimal becomes OPTIMAL, and DualInfeasible becomes DUAL_INFEASIBLE.
      • Rename CachingOptimizer methods for style compliance.
      • Add an MOI.TerminationStatusCode called ALMOST_DUAL_INFEASIBLE.

      v0.7.0 (December 13, 2018)

      • Test that MOI.TerminationStatus is MOI.OptimizeNotCalled before MOI.optimize! is called.
      • Check supports_default_copy_to in tests (#594).
      • Key pieces of information like optimality, infeasibility, etc., are now reported through TerminationStatusCode. It is typically no longer necessary to check the result statuses in addition to the termination status.
      • Add perspective dimension to log-det cone (#593).

      v0.6.4 (November 27, 2018)

      • Add OptimizeNotCalled termination status (#577) and improve documentation of other statuses (#575).
      • Add a solver naming guideline (#578).
      • Make FeasibilitySense the default ObjectiveSense (#579).
      • Fix Utilities.@model and Bridges.@bridge macros for functions and sets defined outside MOI (#582).
      • Document solver-specific attributes (#580) and implement them in Utilities.CachingOptimizer (#565).

      v0.6.3 (November 16, 2018)

      • Variables and constraints are now allowed to have duplicate names. An error is thrown only on lookup. This change breaks some existing tests. (#549)
      • Attributes may now be partially set (some values could be nothing). (#563)
      • Performance improvements in Utilities.Model (#549, #567, #568)
      • Fix bug in QuadtoSOC (#558).
      • New supports_default_copy_to method that optimizers should implement to control caching behavior.
      • Documentation improvements.

      v0.6.2 (October 26, 2018)

      • Improve hygiene of @model macro (#544).
      • Fix bug in copy tests (#543).
      • Fix bug in UniversalFallback attribute getter (#540).
      • Allow all correct solutions for solve_blank_obj unit test (#537).
      • Add errors for Allocate-Load and bad constraints (#534).
      • [performance] Add specialized implementation of hash for VariableIndex (#533).
      • [performance] Construct the name to object dictionaries lazily in model (#535).
      • Add the QuadtoSOC bridge which transforms ScalarQuadraticFunction constraints into RotatedSecondOrderCone (#483).

      v0.6.1 (September 22, 2018)

      • Enable PositiveSemidefiniteConeSquare set and quadratic functions in MOIB.fullbridgeoptimizer (#524).
      • Add warning in the bridge between PositiveSemidefiniteConeSquare and PositiveSemidefiniteConeTriangle when the matrix is almost symmetric (#522).
      • Modify MOIT.copytest to not add multiples constraints on the same variable (#521).
      • Add missing keyword argument in one of MOIU.add_scalar_constraint methods (#520).

      v0.6.0 (August 30, 2018)

      • The MOIU.@model and MOIB.@bridge macros now support functions and sets defined in external modules. As a consequence, function and set names in the macro arguments need to be prefixed by module name.
      • Rename functions according to the JuMP style guide:
        • copy! with keyword arguments copynames and warnattributes -> copy_to with keyword arguments copy_names and warn_attributes;
        • set! -> set;
        • addvariable[s]! -> add_variable[s];
        • supportsconstraint -> supports_constraint;
        • addconstraint[s]! -> add_constraint[s];
        • isvalid -> is_valid;
        • isempty -> is_empty;
        • Base.delete! -> delete;
        • modify! -> modify;
        • transform! -> transform;
        • initialize! -> initialize;
        • write -> write_to_file; and
        • read! -> read_from_file.
      • Remove free! (use Base.finalize instead).
      • Add the SquarePSD bridge which transforms PositiveSemidefiniteConeTriangle constraints into PositiveSemidefiniteConeTriangle.
      • Add result fallback for ConstraintDual of variable-wise constraint, ConstraintPrimal and ObjectiveValue.
      • Add tests for ObjectiveBound.
      • Add test for empty rows in vector linear constraint.
      • Rework errors: CannotError has been renamed NotAllowedError and the distinction between UnsupportedError and NotAllowedError is now about whether the element is not supported (for example, it cannot be copied a model containing this element) or the operation is not allowed (either because it is not implemented, because it cannot be performed in the current state of the model, or because it cannot be performed for a specific index)
      • canget is removed. NoSolution is added as a result status to indicate that the solver does not have either a primal or dual solution available (See #479).

      v0.5.0 (August 5, 2018)

      • Fix names with CachingOptimizer.
      • Cleanup thanks to @mohamed82008.
      • Added a universal fallback for constraints.
      • Fast utilities for function canonicalization thanks to @rdeits.
      • Renamed dimension field to side_dimension in the context of matrix-like sets.
      • New and improved tests for cases like duplicate terms and ObjectiveBound.
      • Removed cantransform, canaddconstraint, canaddvariable, canset, canmodify, and candelete functions from the API. They are replaced by a new set of errors that are thrown: Subtypes of UnsupportedError indicate unsupported operations, while subtypes of CannotError indicate operations that cannot be performed in the current state.
      • The API for copy! is updated to remove the CopyResult type.
      • Updates for the new JuMP style guide.

      v0.4.1 (June 28, 2018)

      • Fixes vector function modification on 32 bits.
      • Fixes Bellman-Ford algorithm for bridges.
      • Added an NLP test with FeasibilitySense.
      • Update modification documentation.

      v0.4.0 (June 23, 2018)

      • Helper constructors for VectorAffineTerm and VectorQuadraticTerm.
      • Added modify_lhs to TestConfig.
      • Additional unit tests for optimizers.
      • Added a type parameter to CachingOptimizer for the optimizer field.
      • New API for problem modification (#388)
      • Tests pass without deprecation warnings on Julia 0.7.
      • Small fixes and documentation updates.

      v0.3.0 (May 25, 2018)

      • Functions have been redefined to use arrays-of-structs instead of structs-of-arrays.
      • Improvements to MockOptimizer.
      • Significant changes to Bridges.
      • New and improved unit tests.
      • Fixes for Julia 0.7.

      v0.2.0 (April 24, 2018)

      • Improvements to and better coverage of Tests.
      • Documentation fixes.
      • SolverName attribute.
      • Changes to the NLP interface (new definition of variable order and arrays of structs for bound pairs and sparsity patterns).
      • Addition of NLP tests.
      • Introduction of UniversalFallback.
      • copynames keyword argument to MOI.copy!.
      • Add Bridges submodule.

      v0.1.0 (February 28, 2018)

      • Initial public release.
      • The framework for MOI was developed at the JuMP-dev workshop at MIT in June 2017 as a sorely needed replacement for MathProgBase.
      +end

      v0.9.22 (May 22, 2021)

      This release contains backports from the ongoing development of the v0.10 release.

      • Improved type inference in Utilities, Bridges and FileFormats submodules to reduce latency.
      • Improved performance of Utilities.is_canonical.
      • Fixed Utilities.pass_nonvariable_constraints with bridged variables.
      • Fixed performance regression of Utilities.Model.
      • Fixed ordering of objective setting in parser.

      v0.9.21 (April 23, 2021)

      • Added supports_shift_constant.
      • Improve performance of bridging quadratic constraints.
      • Add precompilation statements.
      • Large improvements to the documentation.
      • Fix a variety of inference issues, benefiting precompilation and reducing initial latency.
      • RawParameters are now ignored when resetting a CachingOptimizer. Previously, changing the underlying optimizer after RawParameters were set would throw an error.
      • Utilities.AbstractModel is being refactored. This may break users interacting with private fields of a model generated using @model.

      v0.9.20 (February 20, 2021)

      • Improved performance of Utilities.ScalarFunctionIterator
      • Added support for compute_conflict to MOI layers
      • Added test with zero off-diagonal quadratic term in objective
      • Fixed double deletion of nested bridged SingleVariable/VectorOfVariables constraints
      • Fixed modification of un-set objective
      • Fixed function modification with duplicate terms
      • Made unit tests abort without failing if the problem class is not supported
      • Formatted code with JuliaFormatter
      • Clarified BasisStatusCode's docstring

      v0.9.19 (December 1, 2020)

      • Added CallbackNodeStatus attribute
      • Added bridge from GreaterThan or LessThan to Interval
      • Added tests for infeasibility certificates and double optimize
      • Fixed support for Julia v1.6
      • Re-organized MOI docs and added documentation for adding a test

      v0.9.18 (November 3, 2020)

      • Various improvements for working with complex numbers
      • Added GeoMeantoRelEntrBridge to bridge a GeometricMeanCone constraint to a relative entropy constraint

      v0.9.17 (September 21, 2020)

      • Fixed CleverDict with variable of negative index value
      • Implement supports_add_constrained_variable for MockOptimizer

      v0.9.16 (September 17, 2020)

      • Various fixes:
        • 32-bit support
        • CleverDict with abstract value type
        • Checks in test suite

      v0.9.15 (September 14, 2020)

      • Bridges improvements:
        • (R)SOCtoNonConvexQuad bridge
        • ZeroOne bridge
        • Use supports_add_constrained_variable in LazyBridgeOptimizer
        • Exposed VariableBridgeCost and ConstraintBridgeCost attributes
        • Prioritize constraining variables on creation according to these costs
        • Refactor bridge debugging
      • Large performance improvements across all submodules
      • Lots of documentation improvements
      • FileFormats improvements:
        • Update MathOptFormat to v0.5
        • Fix supported objectives in FileFormats
      • Testing improvements:
        • Add name option for basic_constraint_test
      • Bug fixes and missing methods
        • Add length for iterators
        • Fix bug with duplicate terms
        • Fix order of LinearOfConstraintIndices

      v0.9.14 (May 30, 2020)

      • Add a solver-independent interface for accessing the set of conflicting constraints an Irreducible Inconsistent Subsystem (#1056).
      • Bump JSONSchema dependency from v0.2 to v0.3 (#1090).
      • Documentation improvements:
        • Fix typos (#1054, #1060, #1061, #1064, #1069, #1070).
        • Remove the outdated recommendation for a package implementing MOI for a solver XXX to be called MathOptInterfaceXXX (#1087).
      • Utilities improvements:
        • Fix is_canonical for quadratic functions (#1081, #1089).
        • Implement add_constrained_variable[s] for CachingOptimizer so that it is added as constrained variables to the underlying optimizer (#1084).
        • Add support for custom objective functions for UniversalFallback (#1086).
        • Deterministic ordering of constraints in UniversalFallback (#1088).
      • Testing improvements:
        • Add NormOneCone/NormInfinityCone tests (#1045).
      • Bridges improvements:
        • Add bridges from Semiinteger and Semicontinuous (#1059).
        • Implement getting ConstraintSet for Variable.FlipSignBridge (#1066).
        • Fix setting ConstraintFunction for Constraint.ScalarizeBridge (#1093).
        • Fix NormOne/NormInf bridges with nonzero constants (#1045).
        • Fix StackOverflow in debug (#1063).
      • FileFormats improvements:
        • [SDPA] Implement the extension for integer variables (#1079).
        • [SDPA] Ignore comments after m and nblocks and detect dat-s extension (#1077).
        • [SDPA] No scaling of off-diagonal coefficient (#1076).
        • [SDPA] Add missing negation of constant (#1075).

      v0.9.13 (March 24, 2020)

      • Added tests for Semicontinuous and Semiinteger variables (#1033).
      • Added tests for using ExprGraphs from NLP evaluators (#1043).
      • Update version compatibilities of dependencies (#1034, #1051, #1052).
      • Fixed typos in documentation (#1044).

      v0.9.12 (February 28, 2020)

      • Fixed writing NLPBlock in MathOptFormat (#1037).
      • Fixed MockOptimizer for result attributes with non-one result index (#1039).
      • Updated test template with instantiate (#1032).

      v0.9.11 (February 21, 2020)

      • Add an option for the model created by Utilities.@model to be a subtype of AbstractOptimizer (#1031).
      • Described dual cone in docstrings of GeoMeanCone and RelativeEntropyCone (#1018, #1028).
      • Fixed typos in documentation (#1022, #1024).
      • Fixed warning of unsupported attribute (#1027).
      • Added more rootdet/logdet conic tests (#1026).
      • Implemented ConstraintDual for Constraint.GeoMeanBridge, Constraint.RootDetBridge and Constraint.LogDetBridge and test duals in tests with GeoMeanCone and RootDetConeTriangle and LogDetConeTriangle cones (#1025, #1026).

      v0.9.10 (January 31, 2020)

      • Added OptimizerWithAttributes grouping an optimizer constructor and a list of optimizer attributes (#1008).
      • Added RelativeEntropyCone with corresponding bridge into exponential cone constraints (#993).
      • Added NormSpectralCone and NormNuclearCone with corresponding bridges into positive semidefinite constraints (#976).
      • Added supports_constrained_variable(s) (#1004).
      • Added dual_set_type (#1002).
      • Added tests for vector specialized version of delete (#989, #1011).
      • Added PSD3 test (#1007).
      • Clarified dual solution of Tests.pow1v and Tests.pow1f (#1013).
      • Added support for EqualTo and Zero in Bridges.Constraint.SplitIntervalBridge (#1005).
      • Fixed Utilities.vectorize for empty vector (#1003).
      • Fixed free variables in LP writer (#1006).

      v0.9.9 (December 29, 2019)

      • Incorporated MathOptFormat.jl as the FileFormats submodule. FileFormats provides readers and writers for a number of standard file formats and MOF, a file format specialized for MOI (#969).
      • Improved performance of deletion of vector of variables in MOI.Utilities.Model (#983).
      • Updated to MutableArithmetics v0.2 (#981).
      • Added MutableArithmetics.promote_operation allocation tests (#975).
      • Fixed inference issue on Julia v1.1 (#982).

      v0.9.8 (December 19, 2019)

      • Implemented MutableArithmetics API (#924).
      • Fixed callbacks with CachingOptimizer (#959).
      • Fixed MOI.dimension for MOI.Complements (#948).
      • Added fallback for add_variables (#972).
      • Added is_diagonal_vectorized_index utility (#965).
      • Improved linear constraints display in manual (#963, #964).
      • Bridges improvements:
        • Added IndicatorSet to SOS1 bridge (#877).
        • Added support for starting values for Variable.VectorizeBridge (#944).
        • Fixed MOI.add_constraints with non-bridged variable constraint on bridged variable (#951).
        • Fixed corner cases and docstring of GeoMeanBridge (#961, #962, #966).
        • Fixed choice between variable or constraint bridges for constrained variables (#973).
        • Improve performance of bridge shortest path (#945, #946, #956).
        • Added docstring for test_delete_bridge (#954).
        • Added Variable bridge tests (#952).

      v0.9.7 (October 30, 2019)

      • Implemented _result_index_field for NLPBlockDual (#934).
      • Fixed copy of model with starting values for vector constraints (#941).
      • Bridges improvements:
        • Improved performance of add_bridge and added has_bridge (#935).
        • Added AbstractSetMapBridge for bridges between sets S1, S2 such that there is a linear map A such that A*S1 = S2 (#933).
        • Added support for starting values for FlipSignBridge, VectorizeBridge, ScalarizeBridge, SlackBridge, SplitIntervalBridge, RSOCBridge, SOCRBridge NormInfinityBridge, SOCtoPSDBridge and RSOCtoPSDBridge (#933, #936, #937, #938, #939).

      v0.9.6 (October 25, 2019)

      • Added complementarity constraints (#913).
      • Allowed ModelLike objects as value of attributes (#928).
      • Testing improvements:
        • Added dual_objective_value option to MOI.Test.TestConfig (#922).
        • Added InvalidIndex tests in basic_constraint_tests (#921).
        • Added tests for the constant term in indicator constraint (#929).
      • Bridges improvements:
        • Added support for starting values for Functionize bridges (#923).
        • Added variable indices context to variable bridges (#920).
        • Fixed a typo in printing o debug_supports (#927).

      v0.9.5 (October 9, 2019)

      • Clarified PrimalStatus/DualStatus to be NO_SOLUTION if result_index is out of bounds (#912).
      • Added tolerance for checks and use ResultCount + 1 for the result_index in MOI.Test.solve_result_status (#910, #917).
      • Use 0.5 instead of 2.0 for power in PowerCone in basic_constraint_test (#916).
      • Bridges improvements:
        • Added debug utilities for unsupported variable/constraint/objective (#861).
        • Fixed deletion of variables in bridged VectorOfVariables constraints (#909).
        • Fixed result_index with objective bridges (#911).

      v0.9.4 (October 2, 2019)

      • Added solver-independent MIP callbacks (#782).
      • Implements submit for Utilities.CachingOptimizer and Bridges.AbstractBridgeOptimizer (#906).
      • Added tests for result count of solution attributes (#901, #904).
      • Added NumberOfThreads attribute (#892).
      • Added Utilities.get_bounds to get the bounds on a variable (#890).
      • Added a note on duplicate coefficients in documentation (#581).
      • Added result index in ConstraintBasisStatus (#898).
      • Added extension dictionary to Utilities.Model (#884, #895).
      • Fixed deletion of constrained variables for CachingOptimizer (#905).
      • Implemented Utilities.shift_constraint for Test.UnknownScalarSet (#896).
      • Bridges improvements:
        • Added Variable.RSOCtoSOCBridge (#907).
        • Implemented MOI.get for ConstraintFunction/ConstraintSet for Bridges.Constraint.SquareBridge (#899).

      v0.9.3 (September 20, 2019)

      • Fixed ambiguity detected in Julia v1.3 (#891, #893).
      • Fixed missing sets from ListOfSupportedConstraints (#880).
      • Fixed copy of VectorOfVariables constraints with duplicate indices (#886).
      • Added extension dictionary to MOIU.Model (#884).
      • Implemented MOI.get for function and set for GeoMeanBridge (#888).
      • Updated documentation for SingleVariable indices and bridges (#885).
      • Testing improvements:
        • Added more comprehensive tests for names (#882).
        • Added tests for SingleVariable duals (#883).
        • Added tests for DualExponentialCone and DualPowerCone (#873).
      • Improvements for arbitrary coefficient type:
        • Fixed == for sets with mutable fields (#887).
        • Removed some Float64 assumptions in bridges (#878).
        • Automatic selection of Constraint.[Scalar|Vector]FunctionizeBridge (#889).

      v0.9.2 (September 5, 2019)

      • Implemented model printing for MOI.ModelLike and specialized it for models defined in MOI (864).
      • Generalized contlinear tests for arbitrary coefficient type (#855).
      • Fixed supports_constraint for Semiinteger and Semicontinuous and supports for ObjectiveFunction (#859).
      • Fixed Allocate-Load copy for single variable constraints (#856).
      • Bridges improvements:
        • Add objective bridges (#789).
        • Fixed Variable.RSOCtoPSDBridge for dimension 2 (#869).
        • Added Variable.SOCtoRSOCBridge (#865).
        • Added Constraint.SOCRBridge and disable MOI.Bridges.Constraint.SOCtoPSDBridge (#751).
        • Fixed added_constraint_types for Contraint.LogDetBridge and Constraint.RootDetBridge (#870).

      v0.9.1 (August 22, 2019)

      • Fix support for Julia v1.2 (#834).
      • L1 and L∞ norm epigraph cones and corresponding bridges to LP were added (#818).
      • Added tests to MOI.Test.nametest (#833).
      • Fix MOI.Test.soc3test for solvers not supporting infeasibility certificates (#839).
      • Implements operate for operators * and / between vector function and constant (#837).
      • Implements show for MOI.Utilities.IndexMap (#847).
      • Fix corner cases for mapping of variables in MOI.Utilities.CachingOptimizer and substitution of variables in MOI.Bridges.AbstractBridgeOptimizer (#848).
      • Fix transformation of constant terms for MOI.Bridges.Constraint.SOCtoPSDBridge and MOI.Bridges.Constraint.RSOCtoPSDBridge (#840).

      v0.9.0 (August 13, 2019)

      • Support for Julia v0.6 and v0.7 was dropped (#714, #717).
      • A MOI.Utilities.Model implementation of ModelLike, this should replace most use cases of MOI.Utilities.@model (#781).
      • add_constrained_variable and add_constrained_variables were added (#759).
      • Support for indicator constraints was added (#709, #712).
      • DualObjectiveValue attribute was added (#473).
      • RawParameter attribute was added (#733).
      • A dual_set function was added (#804).
      • A Benchmarks submodule was added to facilitate solver benchmarking (#769).
      • A submit function was added, this may for instance allow the user to submit solutions or cuts to the solver from a callback (#775).
      • The field of ObjectiveValue was renamed to result_index (#729).
      • The _constant and Utilities.getconstant function were renamed to constant
      • REDUCTION_CERTIFICATE result status was added (#734).
      • Abstract matrix sets were added (#731).
      • Testing improvements:
        • The testing guideline was updated (#728).
        • Quadratic tests were added (#697).
        • Unit tests for RawStatusString, SolveTime, Silent and SolverName were added (#726, #741).
        • A rotated second-order cone test was added (#759).
        • A power cone test was added (#768).
        • Tests for ZeroOne variables with variable bounds were added (#772).
        • An unbounded test was added (#773).
        • Existing tests had a few updates (#702, #703, #763).
      • Documentation improvements:
        • Added a section on CachingOptimizer (#777).
        • Added a section on UniversalFallback, Model and @model (#762).
        • Transition the knapsack example to a doctest with MockOptimizer (#786).
      • Utilities improvements:
        • A CleverDict utility was added for a vector that automatically transform into a dictionary once a first index is removed (#767).
        • The Utilities.constant function was renamed to Utilities.constant_vector (#740).
        • Implement optimizer attributes for CachingOptimizer (#745).
        • Rename Utilities.add_scalar_constraint to Utilities.normalize_and_add_constraint (#801).
        • operate with vcat, SingleVariable and VectorOfVariables now returns a VectorOfVariables (#616).
        • Fix a type piracy of operate (#784).
        • The load_constraint fallback signature was fixed (#760).
        • The set_dot function was extended to work with sparse arrays (#805).
      • Bridges improvements:
        • The bridges no longer store the constraint function and set before it is bridged, the bridges now have to implement ConstraintFunction and ConstraintSet if the user wants to recover them. As a consequence, the @bridge macro was removed (#722).
        • Bridge are now instantiated with a bridge_constraint function instead of using a constructor (#730).
        • Fix constraint attributes for bridges (#699).
        • Constraint bridges were moved to the Bridges/Constraint submodule so they should now inherit from MOI.Bridges.Constraint.Abstract and should implement MOI.Bridges.Constraint.concrete_bridge_type instead of MOI.Bridges.concrete_bridge_type (#756).
        • Variable bridges were added in (#759).
        • Various improvements (#746, #747).

      v0.8.4 (March 13, 2019)

      • Performance improvement in default_copy_to and bridge optimizer (#696).
      • Add Silent and implement setting optimizer attributes in caching and mock optimizers (#695).
      • Add Functionize bridges (SingleVariable and VectorOfVariables) (#659).
      • Minor typo fixes (#694).

      v0.8.3 (March 6, 2019)

      • Use zero constant in scalar constraint function of MOI.Test.copytest (#691).
      • Fix variable deletion with SingleVariable objective function (#690).
      • Fix LazyBridgeOptimizer with bridges that add no constraints (#689).
      • Error message improvements (#673, #685, #686, #688).
      • Documentation improvements (#682, #683, #687).
      • Basis status:
        • Remove VariableBasisStatus (#679).
        • Test ConstraintBasisStatus and implement it in bridges (#678).
      • Fix inference of NumberOfVariables and NumberOfConstraints (#677).
      • Implement division between a quadratic function and a number (#675).

      v0.8.2 (February 7, 2019)

      • Add RawStatusString attribute (#629).
      • Do not set names to the optimizer but only to the cache in CachingOptimizer (#638).
      • Make scalar MOI functions act as scalars in broadcast (#646).
      • Add function utilities:
        • Implement Base.zero (#634), Base.iszero (#643), add missing arithmetic operations (#644, #645) and fix division (#648).
        • Add a vectorize function that turns a vector of ScalarAffineFunction into a VectorAffineFunction (#642).
      • Improve support for starting values:
        • Show a warning in copy when starting values are not supported instead of throwing an error (#630).
        • Fix UniversalFallback for getting an variable or constraint attribute set to no indices (#623).
        • Add a test in contlineartest with partially set VariablePrimalStart.
      • Bridges improvements:
        • Fix StackOverFlow in LazyBridgeOptimizer when there is a cycle in the graph of bridges.
        • Add Slack bridges (#610, #650).
        • Add FlipSign bridges (#658).
      • Add tests with duplicate coefficients in ScalarAffineFunction and VectorAffineFunction (#639).
      • Use tolerance to compare VariablePrimal in rotatedsoc1 test (#632).
      • Use a zero constant in ScalarAffineFunction of constraints in psdt2 (#622).

      v0.8.1 (January 7, 2019)

      • Adding an NLP objective now overrides any objective set using the ObjectiveFunction attribute (#619).
      • Rename fullbridgeoptimizer into full_bridge_optimizer (#621).
      • Allow custom constraint types with full_bridge_optimizer (#617).
      • Add Vectorize bridge which transforms scalar linear constraints into vector linear constraints (#615).

      v0.8.0 (December 18, 2018)

      • Rename all enum values to follow the JuMP naming guidelines for constants, for example, Optimal becomes OPTIMAL, and DualInfeasible becomes DUAL_INFEASIBLE.
      • Rename CachingOptimizer methods for style compliance.
      • Add an MOI.TerminationStatusCode called ALMOST_DUAL_INFEASIBLE.

      v0.7.0 (December 13, 2018)

      • Test that MOI.TerminationStatus is MOI.OptimizeNotCalled before MOI.optimize! is called.
      • Check supports_default_copy_to in tests (#594).
      • Key pieces of information like optimality, infeasibility, etc., are now reported through TerminationStatusCode. It is typically no longer necessary to check the result statuses in addition to the termination status.
      • Add perspective dimension to log-det cone (#593).

      v0.6.4 (November 27, 2018)

      • Add OptimizeNotCalled termination status (#577) and improve documentation of other statuses (#575).
      • Add a solver naming guideline (#578).
      • Make FeasibilitySense the default ObjectiveSense (#579).
      • Fix Utilities.@model and Bridges.@bridge macros for functions and sets defined outside MOI (#582).
      • Document solver-specific attributes (#580) and implement them in Utilities.CachingOptimizer (#565).

      v0.6.3 (November 16, 2018)

      • Variables and constraints are now allowed to have duplicate names. An error is thrown only on lookup. This change breaks some existing tests. (#549)
      • Attributes may now be partially set (some values could be nothing). (#563)
      • Performance improvements in Utilities.Model (#549, #567, #568)
      • Fix bug in QuadtoSOC (#558).
      • New supports_default_copy_to method that optimizers should implement to control caching behavior.
      • Documentation improvements.

      v0.6.2 (October 26, 2018)

      • Improve hygiene of @model macro (#544).
      • Fix bug in copy tests (#543).
      • Fix bug in UniversalFallback attribute getter (#540).
      • Allow all correct solutions for solve_blank_obj unit test (#537).
      • Add errors for Allocate-Load and bad constraints (#534).
      • [performance] Add specialized implementation of hash for VariableIndex (#533).
      • [performance] Construct the name to object dictionaries lazily in model (#535).
      • Add the QuadtoSOC bridge which transforms ScalarQuadraticFunction constraints into RotatedSecondOrderCone (#483).

      v0.6.1 (September 22, 2018)

      • Enable PositiveSemidefiniteConeSquare set and quadratic functions in MOIB.fullbridgeoptimizer (#524).
      • Add warning in the bridge between PositiveSemidefiniteConeSquare and PositiveSemidefiniteConeTriangle when the matrix is almost symmetric (#522).
      • Modify MOIT.copytest to not add multiples constraints on the same variable (#521).
      • Add missing keyword argument in one of MOIU.add_scalar_constraint methods (#520).

      v0.6.0 (August 30, 2018)

      • The MOIU.@model and MOIB.@bridge macros now support functions and sets defined in external modules. As a consequence, function and set names in the macro arguments need to be prefixed by module name.
      • Rename functions according to the JuMP style guide:
        • copy! with keyword arguments copynames and warnattributes -> copy_to with keyword arguments copy_names and warn_attributes;
        • set! -> set;
        • addvariable[s]! -> add_variable[s];
        • supportsconstraint -> supports_constraint;
        • addconstraint[s]! -> add_constraint[s];
        • isvalid -> is_valid;
        • isempty -> is_empty;
        • Base.delete! -> delete;
        • modify! -> modify;
        • transform! -> transform;
        • initialize! -> initialize;
        • write -> write_to_file; and
        • read! -> read_from_file.
      • Remove free! (use Base.finalize instead).
      • Add the SquarePSD bridge which transforms PositiveSemidefiniteConeTriangle constraints into PositiveSemidefiniteConeTriangle.
      • Add result fallback for ConstraintDual of variable-wise constraint, ConstraintPrimal and ObjectiveValue.
      • Add tests for ObjectiveBound.
      • Add test for empty rows in vector linear constraint.
      • Rework errors: CannotError has been renamed NotAllowedError and the distinction between UnsupportedError and NotAllowedError is now about whether the element is not supported (for example, it cannot be copied a model containing this element) or the operation is not allowed (either because it is not implemented, because it cannot be performed in the current state of the model, or because it cannot be performed for a specific index)
      • canget is removed. NoSolution is added as a result status to indicate that the solver does not have either a primal or dual solution available (See #479).

      v0.5.0 (August 5, 2018)

      • Fix names with CachingOptimizer.
      • Cleanup thanks to @mohamed82008.
      • Added a universal fallback for constraints.
      • Fast utilities for function canonicalization thanks to @rdeits.
      • Renamed dimension field to side_dimension in the context of matrix-like sets.
      • New and improved tests for cases like duplicate terms and ObjectiveBound.
      • Removed cantransform, canaddconstraint, canaddvariable, canset, canmodify, and candelete functions from the API. They are replaced by a new set of errors that are thrown: Subtypes of UnsupportedError indicate unsupported operations, while subtypes of CannotError indicate operations that cannot be performed in the current state.
      • The API for copy! is updated to remove the CopyResult type.
      • Updates for the new JuMP style guide.

      v0.4.1 (June 28, 2018)

      • Fixes vector function modification on 32 bits.
      • Fixes Bellman-Ford algorithm for bridges.
      • Added an NLP test with FeasibilitySense.
      • Update modification documentation.

      v0.4.0 (June 23, 2018)

      • Helper constructors for VectorAffineTerm and VectorQuadraticTerm.
      • Added modify_lhs to TestConfig.
      • Additional unit tests for optimizers.
      • Added a type parameter to CachingOptimizer for the optimizer field.
      • New API for problem modification (#388)
      • Tests pass without deprecation warnings on Julia 0.7.
      • Small fixes and documentation updates.

      v0.3.0 (May 25, 2018)

      • Functions have been redefined to use arrays-of-structs instead of structs-of-arrays.
      • Improvements to MockOptimizer.
      • Significant changes to Bridges.
      • New and improved unit tests.
      • Fixes for Julia 0.7.

      v0.2.0 (April 24, 2018)

      • Improvements to and better coverage of Tests.
      • Documentation fixes.
      • SolverName attribute.
      • Changes to the NLP interface (new definition of variable order and arrays of structs for bound pairs and sparsity patterns).
      • Addition of NLP tests.
      • Introduction of UniversalFallback.
      • copynames keyword argument to MOI.copy!.
      • Add Bridges submodule.

      v0.1.0 (February 28, 2018)

      • Initial public release.
      • The framework for MOI was developed at the JuMP-dev workshop at MIT in June 2017 as a sorely needed replacement for MathProgBase.
      diff --git a/dev/moi/developer/checklists/index.html b/dev/moi/developer/checklists/index.html index 10464323c31..de2c2e8ac9f 100644 --- a/dev/moi/developer/checklists/index.html +++ b/dev/moi/developer/checklists/index.html @@ -112,4 +112,4 @@ ## Documentation - - [ ] The version fields are updated in `docs/src/submodules/FileFormats/overview.md` + - [ ] The version fields are updated in `docs/src/submodules/FileFormats/overview.md` diff --git a/dev/moi/index.html b/dev/moi/index.html index e8d8d41c073..9a3cc01995e 100644 --- a/dev/moi/index.html +++ b/dev/moi/index.html @@ -10,4 +10,4 @@ year={2021}, doi={10.1287/ijoc.2021.1067}, publisher={INFORMS} -}

      A preprint of this paper is freely available.

      +}

      A preprint of this paper is freely available.

      diff --git a/dev/moi/manual/constraints/index.html b/dev/moi/manual/constraints/index.html index 59d57fdca7b..06b35b3d72b 100644 --- a/dev/moi/manual/constraints/index.html +++ b/dev/moi/manual/constraints/index.html @@ -23,4 +23,4 @@ false

      Constraint attributes

      The following attributes are available for constraints:

      Get and set these attributes using get and set.

      julia> MOI.set(model, MOI.ConstraintName(), c, "con_c")
       
       julia> MOI.get(model, MOI.ConstraintName(), c)
      -"con_c"

      Constraints by function-set pairs

      Below is a list of common constraint types and how they are represented as function-set pairs in MOI. In the notation below, $x$ is a vector of decision variables, $x_i$ is a scalar decision variable, $\alpha, \beta$ are scalar constants, $a, b$ are constant vectors, A is a constant matrix and $\mathbb{R}_+$ (resp. $\mathbb{R}_-$) is the set of non-negative (resp. non-positive) real numbers.

      Linear constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $a^Tx \le \beta$ScalarAffineFunctionLessThan
      $a^Tx \ge \alpha$ScalarAffineFunctionGreaterThan
      $a^Tx = \beta$ScalarAffineFunctionEqualTo
      $\alpha \le a^Tx \le \beta$ScalarAffineFunctionInterval
      $x_i \le \beta$VariableIndexLessThan
      $x_i \ge \alpha$VariableIndexGreaterThan
      $x_i = \beta$VariableIndexEqualTo
      $\alpha \le x_i \le \beta$VariableIndexInterval
      $Ax + b \in \mathbb{R}_+^n$VectorAffineFunctionNonnegatives
      $Ax + b \in \mathbb{R}_-^n$VectorAffineFunctionNonpositives
      $Ax + b = 0$VectorAffineFunctionZeros

      By convention, solvers are not expected to support nonzero constant terms in the ScalarAffineFunctions the first four rows of the preceding table because they are redundant with the parameters of the sets. For example, encode $2x + 1 \le 2$ as $2x \le 1$.

      Constraints with VariableIndex in LessThan, GreaterThan, EqualTo, or Interval sets have a natural interpretation as variable bounds. As such, it is typically not natural to impose multiple lower- or upper-bounds on the same variable, and the solver interfaces will throw respectively LowerBoundAlreadySet or UpperBoundAlreadySet.

      Moreover, adding two VariableIndex constraints on the same variable with the same set is impossible because they share the same index as it is the index of the variable, see ConstraintIndex.

      It is natural, however, to impose upper- and lower-bounds separately as two different constraints on a single variable. The difference between imposing bounds by using a single Interval constraint and by using separate LessThan and GreaterThan constraints is that the latter will allow the solver to return separate dual multipliers for the two bounds, while the former will allow the solver to return only a single dual for the interval constraint.

      Conic constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $\lVert Ax + b\rVert_2 \le c^Tx + d$VectorAffineFunctionSecondOrderCone
      $y \ge \lVert x \rVert_2$VectorOfVariablesSecondOrderCone
      $2yz \ge \lVert x \rVert_2^2, y,z \ge 0$VectorOfVariablesRotatedSecondOrderCone
      $(a_1^Tx + b_1,a_2^Tx + b_2,a_3^Tx + b_3) \in \mathcal{E}$VectorAffineFunctionExponentialCone
      $A(x) \in \mathcal{S}_+$VectorAffineFunctionPositiveSemidefiniteConeTriangle
      $B(x) \in \mathcal{S}_+$VectorAffineFunctionPositiveSemidefiniteConeSquare
      $x \in \mathcal{S}_+$VectorOfVariablesPositiveSemidefiniteConeTriangle
      $x \in \mathcal{S}_+$VectorOfVariablesPositiveSemidefiniteConeSquare

      where $\mathcal{E}$ is the exponential cone (see ExponentialCone), $\mathcal{S}_+$ is the set of positive semidefinite symmetric matrices, $A$ is an affine map that outputs symmetric matrices and $B$ is an affine map that outputs square matrices.

      Quadratic constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $\frac{1}{2}x^TQx + a^Tx + b \ge 0$ScalarQuadraticFunctionGreaterThan
      $\frac{1}{2}x^TQx + a^Tx + b \le 0$ScalarQuadraticFunctionLessThan
      $\frac{1}{2}x^TQx + a^Tx + b = 0$ScalarQuadraticFunctionEqualTo
      Bilinear matrix inequalityVectorQuadraticFunctionPositiveSemidefiniteCone...
      Note

      For more details on the internal format of the quadratic functions see ScalarQuadraticFunction or VectorQuadraticFunction.

      Discrete and logical constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $x_i \in \mathbb{Z}$VariableIndexInteger
      $x_i \in \{0,1\}$VariableIndexZeroOne
      $x_i \in \{0\} \cup [l,u]$VariableIndexSemicontinuous
      $x_i \in \{0\} \cup \{l,l+1,\ldots,u-1,u\}$VariableIndexSemiinteger
      At most one component of $x$ can be nonzeroVectorOfVariablesSOS1
      At most two components of $x$ can be nonzero, and if so they must be adjacent componentsVectorOfVariablesSOS2
      $y = 1 \implies a^T x \in S$VectorAffineFunctionIndicator

      JuMP mapping

      The following bullet points show examples of how JuMP constraints are translated into MOI function-set pairs:

      • @constraint(m, 2x + y <= 10) becomes ScalarAffineFunction-in-LessThan
      • @constraint(m, 2x + y >= 10) becomes ScalarAffineFunction-in-GreaterThan
      • @constraint(m, 2x + y == 10) becomes ScalarAffineFunction-in-EqualTo
      • @constraint(m, 0 <= 2x + y <= 10) becomes ScalarAffineFunction-in-Interval
      • @constraint(m, 2x + y in ArbitrarySet()) becomes ScalarAffineFunction-in-ArbitrarySet.

      Variable bounds are handled in a similar fashion:

      • @variable(m, x <= 1) becomes VariableIndex-in-LessThan
      • @variable(m, x >= 1) becomes VariableIndex-in-GreaterThan

      One notable difference is that a variable with an upper and lower bound is translated into two constraints, rather than an interval, that is:

      • @variable(m, 0 <= x <= 1) becomes VariableIndex-in-LessThan and VariableIndex-in-GreaterThan.
      +"con_c"

      Constraints by function-set pairs

      Below is a list of common constraint types and how they are represented as function-set pairs in MOI. In the notation below, $x$ is a vector of decision variables, $x_i$ is a scalar decision variable, $\alpha, \beta$ are scalar constants, $a, b$ are constant vectors, A is a constant matrix and $\mathbb{R}_+$ (resp. $\mathbb{R}_-$) is the set of non-negative (resp. non-positive) real numbers.

      Linear constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $a^Tx \le \beta$ScalarAffineFunctionLessThan
      $a^Tx \ge \alpha$ScalarAffineFunctionGreaterThan
      $a^Tx = \beta$ScalarAffineFunctionEqualTo
      $\alpha \le a^Tx \le \beta$ScalarAffineFunctionInterval
      $x_i \le \beta$VariableIndexLessThan
      $x_i \ge \alpha$VariableIndexGreaterThan
      $x_i = \beta$VariableIndexEqualTo
      $\alpha \le x_i \le \beta$VariableIndexInterval
      $Ax + b \in \mathbb{R}_+^n$VectorAffineFunctionNonnegatives
      $Ax + b \in \mathbb{R}_-^n$VectorAffineFunctionNonpositives
      $Ax + b = 0$VectorAffineFunctionZeros

      By convention, solvers are not expected to support nonzero constant terms in the ScalarAffineFunctions the first four rows of the preceding table because they are redundant with the parameters of the sets. For example, encode $2x + 1 \le 2$ as $2x \le 1$.

      Constraints with VariableIndex in LessThan, GreaterThan, EqualTo, or Interval sets have a natural interpretation as variable bounds. As such, it is typically not natural to impose multiple lower- or upper-bounds on the same variable, and the solver interfaces will throw respectively LowerBoundAlreadySet or UpperBoundAlreadySet.

      Moreover, adding two VariableIndex constraints on the same variable with the same set is impossible because they share the same index as it is the index of the variable, see ConstraintIndex.

      It is natural, however, to impose upper- and lower-bounds separately as two different constraints on a single variable. The difference between imposing bounds by using a single Interval constraint and by using separate LessThan and GreaterThan constraints is that the latter will allow the solver to return separate dual multipliers for the two bounds, while the former will allow the solver to return only a single dual for the interval constraint.

      Conic constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $\lVert Ax + b\rVert_2 \le c^Tx + d$VectorAffineFunctionSecondOrderCone
      $y \ge \lVert x \rVert_2$VectorOfVariablesSecondOrderCone
      $2yz \ge \lVert x \rVert_2^2, y,z \ge 0$VectorOfVariablesRotatedSecondOrderCone
      $(a_1^Tx + b_1,a_2^Tx + b_2,a_3^Tx + b_3) \in \mathcal{E}$VectorAffineFunctionExponentialCone
      $A(x) \in \mathcal{S}_+$VectorAffineFunctionPositiveSemidefiniteConeTriangle
      $B(x) \in \mathcal{S}_+$VectorAffineFunctionPositiveSemidefiniteConeSquare
      $x \in \mathcal{S}_+$VectorOfVariablesPositiveSemidefiniteConeTriangle
      $x \in \mathcal{S}_+$VectorOfVariablesPositiveSemidefiniteConeSquare

      where $\mathcal{E}$ is the exponential cone (see ExponentialCone), $\mathcal{S}_+$ is the set of positive semidefinite symmetric matrices, $A$ is an affine map that outputs symmetric matrices and $B$ is an affine map that outputs square matrices.

      Quadratic constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $\frac{1}{2}x^TQx + a^Tx + b \ge 0$ScalarQuadraticFunctionGreaterThan
      $\frac{1}{2}x^TQx + a^Tx + b \le 0$ScalarQuadraticFunctionLessThan
      $\frac{1}{2}x^TQx + a^Tx + b = 0$ScalarQuadraticFunctionEqualTo
      Bilinear matrix inequalityVectorQuadraticFunctionPositiveSemidefiniteCone...
      Note

      For more details on the internal format of the quadratic functions see ScalarQuadraticFunction or VectorQuadraticFunction.

      Discrete and logical constraints

      Mathematical ConstraintMOI FunctionMOI Set
      $x_i \in \mathbb{Z}$VariableIndexInteger
      $x_i \in \{0,1\}$VariableIndexZeroOne
      $x_i \in \{0\} \cup [l,u]$VariableIndexSemicontinuous
      $x_i \in \{0\} \cup \{l,l+1,\ldots,u-1,u\}$VariableIndexSemiinteger
      At most one component of $x$ can be nonzeroVectorOfVariablesSOS1
      At most two components of $x$ can be nonzero, and if so they must be adjacent componentsVectorOfVariablesSOS2
      $y = 1 \implies a^T x \in S$VectorAffineFunctionIndicator

      JuMP mapping

      The following bullet points show examples of how JuMP constraints are translated into MOI function-set pairs:

      • @constraint(m, 2x + y <= 10) becomes ScalarAffineFunction-in-LessThan
      • @constraint(m, 2x + y >= 10) becomes ScalarAffineFunction-in-GreaterThan
      • @constraint(m, 2x + y == 10) becomes ScalarAffineFunction-in-EqualTo
      • @constraint(m, 0 <= 2x + y <= 10) becomes ScalarAffineFunction-in-Interval
      • @constraint(m, 2x + y in ArbitrarySet()) becomes ScalarAffineFunction-in-ArbitrarySet.

      Variable bounds are handled in a similar fashion:

      • @variable(m, x <= 1) becomes VariableIndex-in-LessThan
      • @variable(m, x >= 1) becomes VariableIndex-in-GreaterThan

      One notable difference is that a variable with an upper and lower bound is translated into two constraints, rather than an interval, that is:

      • @variable(m, 0 <= x <= 1) becomes VariableIndex-in-LessThan and VariableIndex-in-GreaterThan.
      diff --git a/dev/moi/manual/models/index.html b/dev/moi/manual/models/index.html index e9f4abe897a..f37a26ba39a 100644 --- a/dev/moi/manual/models/index.html +++ b/dev/moi/manual/models/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Models

      The most significant part of MOI is the definition of the model API that is used to specify an instance of an optimization problem (for example, by adding variables and constraints). Objects that implement the model API must inherit from the ModelLike abstract type.

      Notably missing from the model API is the method to solve an optimization problem. ModelLike objects may store an instance (for example, in memory or backed by a file format) without being linked to a particular solver. In addition to the model API, MOI defines AbstractOptimizer and provides methods to solve the model and interact with solutions. See the Solutions section for more details.

      Info

      Throughout the rest of the manual, model is used as a generic ModelLike, and optimizer is used as a generic AbstractOptimizer.

      Tip

      MOI does not export functions, but for brevity we often omit qualifying names with the MOI module. Best practice is to have

      import MathOptInterface as MOI

      and prefix all MOI methods with MOI. in user code. If a name is also available in base Julia, we always explicitly use the module prefix, for example, with MOI.get.

      Attributes

      Attributes are properties of the model that can be queried and modified. These include constants such as the number of variables in a model NumberOfVariables), and properties of variables and constraints such as the name of a variable (VariableName).

      There are four types of attributes:

      Some attributes are values that can be queried by the user but not modified, while other attributes can be modified by the user.

      All interactions with attributes occur through the get and set functions.

      Consult the docstrings of each attribute for information on what it represents.

      ModelLike API

      The following attributes are available:

      AbstractOptimizer API

      The following attributes are available:

      +

      Models

      The most significant part of MOI is the definition of the model API that is used to specify an instance of an optimization problem (for example, by adding variables and constraints). Objects that implement the model API must inherit from the ModelLike abstract type.

      Notably missing from the model API is the method to solve an optimization problem. ModelLike objects may store an instance (for example, in memory or backed by a file format) without being linked to a particular solver. In addition to the model API, MOI defines AbstractOptimizer and provides methods to solve the model and interact with solutions. See the Solutions section for more details.

      Info

      Throughout the rest of the manual, model is used as a generic ModelLike, and optimizer is used as a generic AbstractOptimizer.

      Tip

      MOI does not export functions, but for brevity we often omit qualifying names with the MOI module. Best practice is to have

      import MathOptInterface as MOI

      and prefix all MOI methods with MOI. in user code. If a name is also available in base Julia, we always explicitly use the module prefix, for example, with MOI.get.

      Attributes

      Attributes are properties of the model that can be queried and modified. These include constants such as the number of variables in a model NumberOfVariables), and properties of variables and constraints such as the name of a variable (VariableName).

      There are four types of attributes:

      Some attributes are values that can be queried by the user but not modified, while other attributes can be modified by the user.

      All interactions with attributes occur through the get and set functions.

      Consult the docstrings of each attribute for information on what it represents.

      ModelLike API

      The following attributes are available:

      AbstractOptimizer API

      The following attributes are available:

      diff --git a/dev/moi/manual/modification/index.html b/dev/moi/manual/modification/index.html index ca2169327ea..84834416c81 100644 --- a/dev/moi/manual/modification/index.html +++ b/dev/moi/manual/modification/index.html @@ -152,4 +152,4 @@ ); julia> MOI.get(model, MOI.ConstraintFunction(), c) ≈ new_f -true +true diff --git a/dev/moi/manual/solutions/index.html b/dev/moi/manual/solutions/index.html index 9f0c08d32a8..754642939bb 100644 --- a/dev/moi/manual/solutions/index.html +++ b/dev/moi/manual/solutions/index.html @@ -36,4 +36,4 @@ end rethrow(err) # Something else went wrong. Rethrow the error end -end +end diff --git a/dev/moi/manual/standard_form/index.html b/dev/moi/manual/standard_form/index.html index ab330dd14ce..3768196d650 100644 --- a/dev/moi/manual/standard_form/index.html +++ b/dev/moi/manual/standard_form/index.html @@ -7,4 +7,4 @@ & \min_{x \in \mathbb{R}^n} & f_0(x) \\ & \;\;\text{s.t.} & f_i(x) & \in \mathcal{S}_i & i = 1 \ldots m -\end{align}\]

      where:

      • the functions $f_0, f_1, \ldots, f_m$ are specified by AbstractFunction objects
      • the sets $\mathcal{S}_1, \ldots, \mathcal{S}_m$ are specified by AbstractSet objects
      Tip

      For more information on this standard form, read our paper.

      MOI defines some commonly used functions and sets, but the interface is extensible to other sets recognized by the solver.

      Functions

      The function types implemented in MathOptInterface.jl are:

      FunctionDescription
      VariableIndex$x_j$, the projection onto a single coordinate defined by a variable index $j$.
      VectorOfVariablesThe projection onto multiple coordinates (that is, extracting a sub-vector).
      ScalarAffineFunction$a^T x + b$, where $a$ is a vector and $b$ scalar.
      ScalarNonlinearFunction$f(x)$, where $f$ is a nonlinear function.
      VectorAffineFunction$A x + b$, where $A$ is a matrix and $b$ is a vector.
      ScalarQuadraticFunction$\frac{1}{2} x^T Q x + a^T x + b$, where $Q$ is a symmetric matrix, $a$ is a vector, and $b$ is a constant.
      VectorQuadraticFunctionA vector of scalar-valued quadratic functions.
      VectorNonlinearFunction$f(x)$, where $f$ is a vector-valued nonlinear function.

      Extensions for nonlinear programming are present but not yet well documented.

      One-dimensional sets

      The one-dimensional set types implemented in MathOptInterface.jl are:

      SetDescription
      LessThan(u)$(-\infty, u]$
      GreaterThan(l)$[l, \infty)$
      EqualTo(v)$\{v\}$
      Interval(l, u)$[l, u]$
      Integer()$\mathbb{Z}$
      ZeroOne()$\{ 0, 1 \}$
      Semicontinuous(l, u)$\{ 0\} \cup [l, u]$
      Semiinteger(l, u)$\{ 0\} \cup \{l,l+1,\ldots,u-1,u\}$

      Vector cones

      The vector-valued set types implemented in MathOptInterface.jl are:

      SetDescription
      Reals(d)$\mathbb{R}^{d}$
      Zeros(d)$0^{d}$
      Nonnegatives(d)$\{ x \in \mathbb{R}^{d} : x \ge 0 \}$
      Nonpositives(d)$\{ x \in \mathbb{R}^{d} : x \le 0 \}$
      SecondOrderCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \lVert x \rVert_2 \}$
      RotatedSecondOrderCone(d)$\{ (t,u,x) \in \mathbb{R}^{d} : 2tu \ge \lVert x \rVert_2^2, t \ge 0,u \ge 0 \}$
      ExponentialCone()$\{ (x,y,z) \in \mathbb{R}^3 : y \exp (x/y) \le z, y > 0 \}$
      DualExponentialCone()$\{ (u,v,w) \in \mathbb{R}^3 : -u \exp (v/u) \le \exp(1) w, u < 0 \}$
      GeometricMeanCone(d)$\{ (t,x) \in \mathbb{R}^{1+n} : x \ge 0, t \le \sqrt[n]{x_1 x_2 \cdots x_n} \}$ where $n$ is $d - 1$
      PowerCone(α)$\{ (x,y,z) \in \mathbb{R}^3 : x^{\alpha} y^{1-\alpha} \ge |z|, x \ge 0,y \ge 0 \}$
      DualPowerCone(α)$\{ (u,v,w) \in \mathbb{R}^3 : \left(\frac{u}{\alpha}\right)^{\alpha}\left(\frac{v}{1-\alpha}\right)^{1-\alpha} \ge |w|, u,v \ge 0 \}$
      NormOneCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \sum_i \lvert x_i \rvert \}$
      NormInfinityCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \max_i \lvert x_i \rvert \}$
      RelativeEntropyCone(d)$\{ (u, v, w) \in \mathbb{R}^{d} : u \ge \sum_i w_i \log (\frac{w_i}{v_i}), v_i \ge 0, w_i \ge 0 \}$
      HyperRectangle(l, u)$\{x \in \bar{\mathbb{R}}^d: x_i \in [l_i, u_i] \forall i=1,\ldots,d\}$
      NormCone(p, d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \left(\sum\limits_i \lvert x_i \rvert^p\right)^{\frac{1}{p}} \}$

      Matrix cones

      The matrix-valued set types implemented in MathOptInterface.jl are:

      SetDescription
      RootDetConeTriangle(d)$\{ (t,X) \in \mathbb{R}^{1+d(1+d)/2} : t \le \det(X)^{1/d}, X \mbox{ is the upper triangle of a PSD matrix} \}$
      RootDetConeSquare(d)$\{ (t,X) \in \mathbb{R}^{1+d^2} : t \le \det(X)^{1/d}, X \mbox{ is a PSD matrix} \}$
      PositiveSemidefiniteConeTriangle(d)$\{ X \in \mathbb{R}^{d(d+1)/2} : X \mbox{ is the upper triangle of a PSD matrix} \}$
      PositiveSemidefiniteConeSquare(d)$\{ X \in \mathbb{R}^{d^2} : X \mbox{ is a PSD matrix} \}$
      LogDetConeTriangle(d)$\{ (t,u,X) \in \mathbb{R}^{2+d(1+d)/2} : t \le u\log(\det(X/u)), X \mbox{ is the upper triangle of a PSD matrix}, u > 0 \}$
      LogDetConeSquare(d)$\{ (t,u,X) \in \mathbb{R}^{2+d^2} : t \le u \log(\det(X/u)), X \mbox{ is a PSD matrix}, u > 0 \}$
      NormSpectralCone(r, c)$\{ (t, X) \in \mathbb{R}^{1 + r \times c} : t \ge \sigma_1(X), X \mbox{ is a } r\times c\mbox{ matrix} \}$
      NormNuclearCone(r, c)$\{ (t, X) \in \mathbb{R}^{1 + r \times c} : t \ge \sum_i \sigma_i(X), X \mbox{ is a } r\times c\mbox{ matrix} \}$
      HermitianPositiveSemidefiniteConeTriangle(d)The cone of Hermitian positive semidefinite matrices, with
      side_dimension rows and columns.
      Scaled(S)The set S scaled so that Utilities.set_dot corresponds to LinearAlgebra.dot

      Some of these cones can take two forms: XXXConeTriangle and XXXConeSquare.

      In XXXConeTriangle sets, the matrix is assumed to be symmetric, and the elements are provided by a vector, in which the entries of the upper-right triangular part of the matrix are given column by column (or equivalently, the entries of the lower-left triangular part are given row by row).

      In XXXConeSquare sets, the entries of the matrix are given column by column (or equivalently, row by row), and the matrix is constrained to be symmetric. As an example, given a 2-by-2 matrix of variables X and a one-dimensional variable t, we can specify a root-det constraint as [t, X11, X12, X22] ∈ RootDetConeTriangle or [t, X11, X12, X21, X22] ∈ RootDetConeSquare.

      We provide both forms to enable flexibility for solvers who may natively support one or the other. Transformations between XXXConeTriangle and XXXConeSquare are handled by bridges, which removes the chance of conversion mistakes by users or solver developers.

      Multi-dimensional sets with combinatorial structure

      Other sets are vector-valued, with a particular combinatorial structure. Read their docstrings for more information on how to interpret them.

      SetDescription
      SOS1A Special Ordered Set (SOS) of Type I
      SOS2A Special Ordered Set (SOS) of Type II
      IndicatorA set to specify an indicator constraint
      ComplementsA set to specify a mixed complementarity constraint
      AllDifferentThe all_different global constraint
      BinPackingThe bin_packing global constraint
      CircuitThe circuit global constraint
      CountAtLeastThe at_least global constraint
      CountBelongsThe nvalue global constraint
      CountDistinctThe distinct global constraint
      CountGreaterThanThe count_gt global constraint
      CumulativeThe cumulative global constraint
      PathThe path global constraint
      TableThe table global constraint
      +\end{align}\]

      where:

      • the functions $f_0, f_1, \ldots, f_m$ are specified by AbstractFunction objects
      • the sets $\mathcal{S}_1, \ldots, \mathcal{S}_m$ are specified by AbstractSet objects
      Tip

      For more information on this standard form, read our paper.

      MOI defines some commonly used functions and sets, but the interface is extensible to other sets recognized by the solver.

      Functions

      The function types implemented in MathOptInterface.jl are:

      FunctionDescription
      VariableIndex$x_j$, the projection onto a single coordinate defined by a variable index $j$.
      VectorOfVariablesThe projection onto multiple coordinates (that is, extracting a sub-vector).
      ScalarAffineFunction$a^T x + b$, where $a$ is a vector and $b$ scalar.
      ScalarNonlinearFunction$f(x)$, where $f$ is a nonlinear function.
      VectorAffineFunction$A x + b$, where $A$ is a matrix and $b$ is a vector.
      ScalarQuadraticFunction$\frac{1}{2} x^T Q x + a^T x + b$, where $Q$ is a symmetric matrix, $a$ is a vector, and $b$ is a constant.
      VectorQuadraticFunctionA vector of scalar-valued quadratic functions.
      VectorNonlinearFunction$f(x)$, where $f$ is a vector-valued nonlinear function.

      Extensions for nonlinear programming are present but not yet well documented.

      One-dimensional sets

      The one-dimensional set types implemented in MathOptInterface.jl are:

      SetDescription
      LessThan(u)$(-\infty, u]$
      GreaterThan(l)$[l, \infty)$
      EqualTo(v)$\{v\}$
      Interval(l, u)$[l, u]$
      Integer()$\mathbb{Z}$
      ZeroOne()$\{ 0, 1 \}$
      Semicontinuous(l, u)$\{ 0\} \cup [l, u]$
      Semiinteger(l, u)$\{ 0\} \cup \{l,l+1,\ldots,u-1,u\}$

      Vector cones

      The vector-valued set types implemented in MathOptInterface.jl are:

      SetDescription
      Reals(d)$\mathbb{R}^{d}$
      Zeros(d)$0^{d}$
      Nonnegatives(d)$\{ x \in \mathbb{R}^{d} : x \ge 0 \}$
      Nonpositives(d)$\{ x \in \mathbb{R}^{d} : x \le 0 \}$
      SecondOrderCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \lVert x \rVert_2 \}$
      RotatedSecondOrderCone(d)$\{ (t,u,x) \in \mathbb{R}^{d} : 2tu \ge \lVert x \rVert_2^2, t \ge 0,u \ge 0 \}$
      ExponentialCone()$\{ (x,y,z) \in \mathbb{R}^3 : y \exp (x/y) \le z, y > 0 \}$
      DualExponentialCone()$\{ (u,v,w) \in \mathbb{R}^3 : -u \exp (v/u) \le \exp(1) w, u < 0 \}$
      GeometricMeanCone(d)$\{ (t,x) \in \mathbb{R}^{1+n} : x \ge 0, t \le \sqrt[n]{x_1 x_2 \cdots x_n} \}$ where $n$ is $d - 1$
      PowerCone(α)$\{ (x,y,z) \in \mathbb{R}^3 : x^{\alpha} y^{1-\alpha} \ge |z|, x \ge 0,y \ge 0 \}$
      DualPowerCone(α)$\{ (u,v,w) \in \mathbb{R}^3 : \left(\frac{u}{\alpha}\right)^{\alpha}\left(\frac{v}{1-\alpha}\right)^{1-\alpha} \ge |w|, u,v \ge 0 \}$
      NormOneCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \sum_i \lvert x_i \rvert \}$
      NormInfinityCone(d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \max_i \lvert x_i \rvert \}$
      RelativeEntropyCone(d)$\{ (u, v, w) \in \mathbb{R}^{d} : u \ge \sum_i w_i \log (\frac{w_i}{v_i}), v_i \ge 0, w_i \ge 0 \}$
      HyperRectangle(l, u)$\{x \in \bar{\mathbb{R}}^d: x_i \in [l_i, u_i] \forall i=1,\ldots,d\}$
      NormCone(p, d)$\{ (t,x) \in \mathbb{R}^{d} : t \ge \left(\sum\limits_i \lvert x_i \rvert^p\right)^{\frac{1}{p}} \}$

      Matrix cones

      The matrix-valued set types implemented in MathOptInterface.jl are:

      SetDescription
      RootDetConeTriangle(d)$\{ (t,X) \in \mathbb{R}^{1+d(1+d)/2} : t \le \det(X)^{1/d}, X \mbox{ is the upper triangle of a PSD matrix} \}$
      RootDetConeSquare(d)$\{ (t,X) \in \mathbb{R}^{1+d^2} : t \le \det(X)^{1/d}, X \mbox{ is a PSD matrix} \}$
      PositiveSemidefiniteConeTriangle(d)$\{ X \in \mathbb{R}^{d(d+1)/2} : X \mbox{ is the upper triangle of a PSD matrix} \}$
      PositiveSemidefiniteConeSquare(d)$\{ X \in \mathbb{R}^{d^2} : X \mbox{ is a PSD matrix} \}$
      LogDetConeTriangle(d)$\{ (t,u,X) \in \mathbb{R}^{2+d(1+d)/2} : t \le u\log(\det(X/u)), X \mbox{ is the upper triangle of a PSD matrix}, u > 0 \}$
      LogDetConeSquare(d)$\{ (t,u,X) \in \mathbb{R}^{2+d^2} : t \le u \log(\det(X/u)), X \mbox{ is a PSD matrix}, u > 0 \}$
      NormSpectralCone(r, c)$\{ (t, X) \in \mathbb{R}^{1 + r \times c} : t \ge \sigma_1(X), X \mbox{ is a } r\times c\mbox{ matrix} \}$
      NormNuclearCone(r, c)$\{ (t, X) \in \mathbb{R}^{1 + r \times c} : t \ge \sum_i \sigma_i(X), X \mbox{ is a } r\times c\mbox{ matrix} \}$
      HermitianPositiveSemidefiniteConeTriangle(d)The cone of Hermitian positive semidefinite matrices, with
      side_dimension rows and columns.
      Scaled(S)The set S scaled so that Utilities.set_dot corresponds to LinearAlgebra.dot

      Some of these cones can take two forms: XXXConeTriangle and XXXConeSquare.

      In XXXConeTriangle sets, the matrix is assumed to be symmetric, and the elements are provided by a vector, in which the entries of the upper-right triangular part of the matrix are given column by column (or equivalently, the entries of the lower-left triangular part are given row by row).

      In XXXConeSquare sets, the entries of the matrix are given column by column (or equivalently, row by row), and the matrix is constrained to be symmetric. As an example, given a 2-by-2 matrix of variables X and a one-dimensional variable t, we can specify a root-det constraint as [t, X11, X12, X22] ∈ RootDetConeTriangle or [t, X11, X12, X21, X22] ∈ RootDetConeSquare.

      We provide both forms to enable flexibility for solvers who may natively support one or the other. Transformations between XXXConeTriangle and XXXConeSquare are handled by bridges, which removes the chance of conversion mistakes by users or solver developers.

      Multi-dimensional sets with combinatorial structure

      Other sets are vector-valued, with a particular combinatorial structure. Read their docstrings for more information on how to interpret them.

      SetDescription
      SOS1A Special Ordered Set (SOS) of Type I
      SOS2A Special Ordered Set (SOS) of Type II
      IndicatorA set to specify an indicator constraint
      ComplementsA set to specify a mixed complementarity constraint
      AllDifferentThe all_different global constraint
      BinPackingThe bin_packing global constraint
      CircuitThe circuit global constraint
      CountAtLeastThe at_least global constraint
      CountBelongsThe nvalue global constraint
      CountDistinctThe distinct global constraint
      CountGreaterThanThe count_gt global constraint
      CumulativeThe cumulative global constraint
      PathThe path global constraint
      TableThe table global constraint
      diff --git a/dev/moi/manual/variables/index.html b/dev/moi/manual/variables/index.html index b7950e674d0..19cdceadcdb 100644 --- a/dev/moi/manual/variables/index.html +++ b/dev/moi/manual/variables/index.html @@ -14,4 +14,4 @@ false
      Warning

      Not all ModelLike models support deleting variables. A DeleteNotAllowed error is thrown if this is not supported.

      Variable attributes

      The following attributes are available for variables:

      Get and set these attributes using get and set.

      julia> MOI.set(model, MOI.VariableName(), x, "var_x")
       
       julia> MOI.get(model, MOI.VariableName(), x)
      -"var_x"
      +"var_x" diff --git a/dev/moi/reference/callbacks/index.html b/dev/moi/reference/callbacks/index.html index 95cdb565041..4d6ff69d54b 100644 --- a/dev/moi/reference/callbacks/index.html +++ b/dev/moi/reference/callbacks/index.html @@ -33,4 +33,4 @@ MOI.submit(optimizer, MOI.HeuristicSolution(callback_data), x, values) end -endsource
      MathOptInterface.HeuristicSolutionType
      HeuristicSolution(callback_data)

      Heuristically obtained feasible solution. The solution is submitted as variables, values where values[i] gives the value of variables[i], similarly to set. The submit call returns a HeuristicSolutionStatus indicating whether the provided solution was accepted or rejected.

      This can be submitted only from the HeuristicCallback. The field callback_data is a solver-specific callback type that is passed as the argument to the heuristic callback.

      Some solvers require a complete solution, others only partial solutions.

      source
      +endsource
      MathOptInterface.HeuristicSolutionType
      HeuristicSolution(callback_data)

      Heuristically obtained feasible solution. The solution is submitted as variables, values where values[i] gives the value of variables[i], similarly to set. The submit call returns a HeuristicSolutionStatus indicating whether the provided solution was accepted or rejected.

      This can be submitted only from the HeuristicCallback. The field callback_data is a solver-specific callback type that is passed as the argument to the heuristic callback.

      Some solvers require a complete solution, others only partial solutions.

      source
      diff --git a/dev/moi/reference/constraints/index.html b/dev/moi/reference/constraints/index.html index 06a4c848894..eec31487657 100644 --- a/dev/moi/reference/constraints/index.html +++ b/dev/moi/reference/constraints/index.html @@ -44,4 +44,4 @@ model::ModelLike, ::Type{F}, ::Type{S}, -)::Bool where {F<:AbstractFunction,S<:AbstractSet}

      Return a Bool indicating whether model supports F-in-S constraints, that is, copy_to(model, src) does not throw UnsupportedConstraint when src contains F-in-S constraints. If F-in-S constraints are only not supported in specific circumstances, for example, F-in-S constraints cannot be combined with another type of constraint, it should still return true.

      source

      Attributes

      MathOptInterface.ConstraintNameType
      ConstraintName()

      A constraint attribute for a string identifying the constraint.

      It is valid for constraints variables to have the same name; however, constraints with duplicate names cannot be looked up using get, regardless of whether they have the same F-in-S type.

      ConstraintName has a default value of "" if not set.

      Notes

      You should not implement ConstraintName for VariableIndex constraints.

      source
      MathOptInterface.ConstraintPrimalType
      ConstraintPrimal(result_index::Int = 1)

      A constraint attribute for the assignment to some constraint's primal value in result result_index.

      If the constraint is f(x) in S, then in most cases the ConstraintPrimal is the value of f, evaluated at the corresponding VariablePrimal solution.

      However, some conic solvers reformulate b - Ax in S to s = b - Ax, s in S. These solvers may return the value of s for ConstraintPrimal, rather than b - Ax. (Although these are constrained by an equality constraint, due to numerical tolerances they may not be identical.)

      If the solver does not have a primal value for the constraint because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ConstraintPrimal attribute.

      If result_index is omitted, it is 1 by default. See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.ConstraintDualType
      ConstraintDual(result_index::Int = 1)

      A constraint attribute for the assignment to some constraint's dual value in result result_index. If result_index is omitted, it is 1 by default.

      If the solver does not have a dual value for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a primal solution is available), the result is undefined. Users should first check DualStatus before accessing the ConstraintDual attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.ConstraintBasisStatusType
      ConstraintBasisStatus(result_index::Int = 1)

      A constraint attribute for the BasisStatusCode of some constraint in result result_index, with respect to an available optimal solution basis. If result_index is omitted, it is 1 by default.

      If the solver does not have a basis status for the constraint because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ConstraintBasisStatus attribute.

      See ResultCount for information on how the results are ordered.

      Notes

      For the basis status of a variable, query VariableBasisStatus.

      ConstraintBasisStatus does not apply to VariableIndex constraints. You can infer the basis status of a VariableIndex constraint by looking at the result of VariableBasisStatus.

      source
      MathOptInterface.ConstraintFunctionType
      ConstraintFunction()

      A constraint attribute for the AbstractFunction object used to define the constraint.

      It is guaranteed to be equivalent but not necessarily identical to the function provided by the user.

      source
      MathOptInterface.CanonicalConstraintFunctionType
      CanonicalConstraintFunction()

      A constraint attribute for a canonical representation of the AbstractFunction object used to define the constraint.

      Getting this attribute is guaranteed to return a function that is equivalent but not necessarily identical to the function provided by the user.

      By default, MOI.get(model, MOI.CanonicalConstraintFunction(), ci) fallbacks to MOI.Utilities.canonical(MOI.get(model, MOI.ConstraintFunction(), ci)). However, if model knows that the constraint function is canonical then it can implement a specialized method that directly return the function without calling Utilities.canonical. Therefore, the value returned cannot be assumed to be a copy of the function stored in model. Moreover, Utilities.Model checks with Utilities.is_canonical whether the function stored internally is already canonical and if it's the case, then it returns the function stored internally instead of a copy.

      source
      MathOptInterface.BasisStatusCodeType
      BasisStatusCode

      An Enum of possible values for the ConstraintBasisStatus and VariableBasisStatus attributes, explaining the status of a given element with respect to an optimal solution basis.

      Notes

      • NONBASIC_AT_LOWER and NONBASIC_AT_UPPER should be used only for constraints with the Interval set. In this case, they are necessary to distinguish which side of the constraint is active. One-sided constraints (for example, LessThan and GreaterThan) should use NONBASIC instead of the NONBASIC_AT_* values. This restriction does not apply to VariableBasisStatus, which should return NONBASIC_AT_* regardless of whether the alternative bound exists.

      • In linear programs, SUPER_BASIC occurs when a variable with no bounds is not in the basis.

      Values

      Possible values are:

      source
      +)::Bool where {F<:AbstractFunction,S<:AbstractSet}

      Return a Bool indicating whether model supports F-in-S constraints, that is, copy_to(model, src) does not throw UnsupportedConstraint when src contains F-in-S constraints. If F-in-S constraints are only not supported in specific circumstances, for example, F-in-S constraints cannot be combined with another type of constraint, it should still return true.

      source

      Attributes

      MathOptInterface.ConstraintNameType
      ConstraintName()

      A constraint attribute for a string identifying the constraint.

      It is valid for constraints variables to have the same name; however, constraints with duplicate names cannot be looked up using get, regardless of whether they have the same F-in-S type.

      ConstraintName has a default value of "" if not set.

      Notes

      You should not implement ConstraintName for VariableIndex constraints.

      source
      MathOptInterface.ConstraintPrimalType
      ConstraintPrimal(result_index::Int = 1)

      A constraint attribute for the assignment to some constraint's primal value in result result_index.

      If the constraint is f(x) in S, then in most cases the ConstraintPrimal is the value of f, evaluated at the corresponding VariablePrimal solution.

      However, some conic solvers reformulate b - Ax in S to s = b - Ax, s in S. These solvers may return the value of s for ConstraintPrimal, rather than b - Ax. (Although these are constrained by an equality constraint, due to numerical tolerances they may not be identical.)

      If the solver does not have a primal value for the constraint because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ConstraintPrimal attribute.

      If result_index is omitted, it is 1 by default. See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.ConstraintDualType
      ConstraintDual(result_index::Int = 1)

      A constraint attribute for the assignment to some constraint's dual value in result result_index. If result_index is omitted, it is 1 by default.

      If the solver does not have a dual value for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a primal solution is available), the result is undefined. Users should first check DualStatus before accessing the ConstraintDual attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.ConstraintBasisStatusType
      ConstraintBasisStatus(result_index::Int = 1)

      A constraint attribute for the BasisStatusCode of some constraint in result result_index, with respect to an available optimal solution basis. If result_index is omitted, it is 1 by default.

      If the solver does not have a basis status for the constraint because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ConstraintBasisStatus attribute.

      See ResultCount for information on how the results are ordered.

      Notes

      For the basis status of a variable, query VariableBasisStatus.

      ConstraintBasisStatus does not apply to VariableIndex constraints. You can infer the basis status of a VariableIndex constraint by looking at the result of VariableBasisStatus.

      source
      MathOptInterface.ConstraintFunctionType
      ConstraintFunction()

      A constraint attribute for the AbstractFunction object used to define the constraint.

      It is guaranteed to be equivalent but not necessarily identical to the function provided by the user.

      source
      MathOptInterface.CanonicalConstraintFunctionType
      CanonicalConstraintFunction()

      A constraint attribute for a canonical representation of the AbstractFunction object used to define the constraint.

      Getting this attribute is guaranteed to return a function that is equivalent but not necessarily identical to the function provided by the user.

      By default, MOI.get(model, MOI.CanonicalConstraintFunction(), ci) fallbacks to MOI.Utilities.canonical(MOI.get(model, MOI.ConstraintFunction(), ci)). However, if model knows that the constraint function is canonical then it can implement a specialized method that directly return the function without calling Utilities.canonical. Therefore, the value returned cannot be assumed to be a copy of the function stored in model. Moreover, Utilities.Model checks with Utilities.is_canonical whether the function stored internally is already canonical and if it's the case, then it returns the function stored internally instead of a copy.

      source
      MathOptInterface.BasisStatusCodeType
      BasisStatusCode

      An Enum of possible values for the ConstraintBasisStatus and VariableBasisStatus attributes, explaining the status of a given element with respect to an optimal solution basis.

      Notes

      • NONBASIC_AT_LOWER and NONBASIC_AT_UPPER should be used only for constraints with the Interval set. In this case, they are necessary to distinguish which side of the constraint is active. One-sided constraints (for example, LessThan and GreaterThan) should use NONBASIC instead of the NONBASIC_AT_* values. This restriction does not apply to VariableBasisStatus, which should return NONBASIC_AT_* regardless of whether the alternative bound exists.

      • In linear programs, SUPER_BASIC occurs when a variable with no bounds is not in the basis.

      Values

      Possible values are:

      source
      diff --git a/dev/moi/reference/errors/index.html b/dev/moi/reference/errors/index.html index 1db314495ba..9d3fe438ad7 100644 --- a/dev/moi/reference/errors/index.html +++ b/dev/moi/reference/errors/index.html @@ -57,4 +57,4 @@ julia> throw(MOI.UnsupportedNonlinearOperator(:black_box)) ERROR: MathOptInterface.UnsupportedNonlinearOperator: The nonlinear operator `:black_box` is not supported by the model. Stacktrace: -[...]source

      Note that setting the ConstraintFunction of a VariableIndex constraint is not allowed:

      +[...]source

      Note that setting the ConstraintFunction of a VariableIndex constraint is not allowed:

      diff --git a/dev/moi/reference/models/index.html b/dev/moi/reference/models/index.html index 9f79d0f5efd..3c0579418c8 100644 --- a/dev/moi/reference/models/index.html +++ b/dev/moi/reference/models/index.html @@ -7,7 +7,7 @@ model::MOI.ModelLike, attr::MOI.AbstractConstraintAttribute, bridge::AbstractBridge, -)

      Return the value of the attribute attr of the model model for the constraint bridged by bridge.

      source
      get(model::GenericModel, attr::MathOptInterface.AbstractOptimizerAttribute)

      Return the value of the attribute attr from the model's MOI backend.

      source
      get(model::GenericModel, attr::MathOptInterface.AbstractModelAttribute)

      Return the value of the attribute attr from the model's MOI backend.

      source
      get(optimizer::AbstractOptimizer, attr::AbstractOptimizerAttribute)

      Return an attribute attr of the optimizer optimizer.

      get(model::ModelLike, attr::AbstractModelAttribute)

      Return an attribute attr of the model model.

      get(model::ModelLike, attr::AbstractVariableAttribute, v::VariableIndex)

      If the attribute attr is set for the variable v in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.

      get(model::ModelLike, attr::AbstractVariableAttribute, v::Vector{VariableIndex})

      Return a vector of attributes corresponding to each variable in the collection v in the model model.

      get(model::ModelLike, attr::AbstractConstraintAttribute, c::ConstraintIndex)

      If the attribute attr is set for the constraint c in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.

      get(
      +)

      Return the value of the attribute attr of the model model for the constraint bridged by bridge.

      source
      get(model::GenericModel, attr::MathOptInterface.AbstractOptimizerAttribute)

      Return the value of the attribute attr from the model's MOI backend.

      source
      get(model::GenericModel, attr::MathOptInterface.AbstractModelAttribute)

      Return the value of the attribute attr from the model's MOI backend.

      source
      get(optimizer::AbstractOptimizer, attr::AbstractOptimizerAttribute)

      Return an attribute attr of the optimizer optimizer.

      get(model::ModelLike, attr::AbstractModelAttribute)

      Return an attribute attr of the model model.

      get(model::ModelLike, attr::AbstractVariableAttribute, v::VariableIndex)

      If the attribute attr is set for the variable v in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.

      get(model::ModelLike, attr::AbstractVariableAttribute, v::Vector{VariableIndex})

      Return a vector of attributes corresponding to each variable in the collection v in the model model.

      get(model::ModelLike, attr::AbstractConstraintAttribute, c::ConstraintIndex)

      If the attribute attr is set for the constraint c in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.

      get(
           model::ModelLike,
           attr::AbstractConstraintAttribute,
           c::Vector{ConstraintIndex{F,S}},
      @@ -139,4 +139,4 @@
       MOI.get(model, MOI.RelativeGapTolerance())  # returns 1e-3
       # ... and the relative gap of the obtained solution is smaller or equal to the
       # tolerance
      -MOI.get(model, MOI.RelativeGap())  # should return something ≤ 1e-3
      Warning

      The mathematical definition of "relative gap", and its allowed range, are solver-dependent. Typically, solvers expect a value between 0.0 and 1.0.

      source

      List of attributes useful for optimizers

      MathOptInterface.TerminationStatusCodeType
      TerminationStatusCode

      An Enum of possible values for the TerminationStatus attribute. This attribute is meant to explain the reason why the optimizer stopped executing in the most recent call to optimize!.

      Values

      Possible values are:

      • OPTIMIZE_NOT_CALLED: The algorithm has not started.
      • OPTIMAL: The algorithm found a globally optimal solution.
      • INFEASIBLE: The algorithm concluded that no feasible solution exists.
      • DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.
      • LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.
      • LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.
      • INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.
      • ALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.
      • ALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.
      • ALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.
      • ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.
      • ITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.
      • TIME_LIMIT: The algorithm stopped after a user-specified computation time.
      • NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.
      • SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.
      • MEMORY_LIMIT: The algorithm stopped because it ran out of memory.
      • OBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.
      • NORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.
      • OTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.
      • SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.
      • NUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.
      • INVALID_MODEL: The algorithm stopped because the model is invalid.
      • INVALID_OPTION: The algorithm stopped because it was provided an invalid option.
      • INTERRUPTED: The algorithm stopped because of an interrupt signal.
      • OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.
      source
      MathOptInterface.DUAL_INFEASIBLEConstant
      DUAL_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.

      source
      MathOptInterface.LOCALLY_SOLVEDConstant
      LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.

      source
      MathOptInterface.LOCALLY_INFEASIBLEConstant
      LOCALLY_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.

      source
      MathOptInterface.SOLUTION_LIMITConstant
      SOLUTION_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.

      source
      MathOptInterface.DualStatusType
      DualStatus(result_index::Int = 1)

      A model attribute for the ResultStatusCode of the dual result result_index. If result_index is omitted, it defaults to 1.

      See ResultCount for information on how the results are ordered.

      If result_index is larger than the value of ResultCount then NO_SOLUTION is returned.

      source
      MathOptInterface.ResultCountType
      ResultCount()

      A model attribute for the number of results available.

      Order of solutions

      A number of attributes contain an index, result_index, which is used to refer to one of the available results. Thus, result_index must be an integer between 1 and the number of available results.

      As a general rule, the first result (result_index=1) is the most important result (for example, an optimal solution or an infeasibility certificate). Other results will typically be alternate solutions that the solver found during the search for the first result.

      If a (local) optimal solution is available, that is, TerminationStatus is OPTIMAL or LOCALLY_SOLVED, the first result must correspond to the (locally) optimal solution. Other results may be alternative optimal solutions, or they may be other suboptimal solutions; use ObjectiveValue to distinguish between them.

      If a primal or dual infeasibility certificate is available, that is, TerminationStatus is INFEASIBLE or DUAL_INFEASIBLE and the corresponding PrimalStatus or DualStatus is INFEASIBILITY_CERTIFICATE, then the first result must be a certificate. Other results may be alternate certificates, or infeasible points.

      source
      MathOptInterface.ObjectiveValueType
      ObjectiveValue(result_index::Int = 1)

      A model attribute for the objective value of the primal solution result_index.

      If the solver does not have a primal value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ObjectiveValue attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.DualObjectiveValueType
      DualObjectiveValue(result_index::Int = 1)

      A model attribute for the value of the objective function of the dual problem for the result_indexth dual result.

      If the solver does not have a dual value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a primal solution is available), the result is undefined. Users should first check DualStatus before accessing the DualObjectiveValue attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.RelativeGapType
      RelativeGap()

      A model attribute for the final relative optimality gap.

      Warning

      The definition of this gap is solver-dependent. However, most solvers implementing this attribute define the relative gap as some variation of $\frac{|b-f|}{|f|}$, where $b$ is the best bound and $f$ is the best feasible objective value.

      source
      MathOptInterface.SimplexIterationsType
      SimplexIterations()

      A model attribute for the cumulative number of simplex iterations during the optimization process.

      For a mixed-integer program (MIP), the return value is the total simplex iterations for all nodes.

      source
      MathOptInterface.NodeCountType
      NodeCount()

      A model attribute for the total number of branch-and-bound nodes explored while solving a mixed-integer program (MIP).

      source

      ResultStatusCode

      MathOptInterface.ResultStatusCodeType
      ResultStatusCode

      An Enum of possible values for the PrimalStatus and DualStatus attributes.

      The values indicate how to interpret the result vector.

      Values

      Possible values are:

      • NO_SOLUTION: the result vector is empty.
      • FEASIBLE_POINT: the result vector is a feasible point.
      • NEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.
      • INFEASIBLE_POINT: the result vector is an infeasible point.
      • INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.
      • NEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.
      • REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.
      • NEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.
      • UNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.
      • OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above
      source
      MathOptInterface.INFEASIBILITY_CERTIFICATEConstant
      INFEASIBILITY_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.

      source
      MathOptInterface.REDUCTION_CERTIFICATEConstant
      REDUCTION_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.

      source

      Conflict Status

      MathOptInterface.compute_conflict!Function
      compute_conflict!(optimizer::AbstractOptimizer)

      Computes a minimal subset of constraints such that the model with the other constraint removed is still infeasible.

      Some solvers call a set of conflicting constraints an Irreducible Inconsistent Subsystem (IIS).

      See also ConflictStatus and ConstraintConflictStatus.

      Note

      If the model is modified after a call to compute_conflict!, the implementor is not obliged to purge the conflict. Any calls to the above attributes may return values for the original conflict without a warning. Similarly, when modifying the model, the conflict can be discarded.

      source
      MathOptInterface.ConflictStatusCodeType
      ConflictStatusCode

      An Enum of possible values for the ConflictStatus attribute. This attribute is meant to explain the reason why the conflict finder stopped executing in the most recent call to compute_conflict!.

      Possible values are:

      • COMPUTE_CONFLICT_NOT_CALLED: the function compute_conflict! has not yet been called
      • NO_CONFLICT_EXISTS: there is no conflict because the problem is feasible
      • NO_CONFLICT_FOUND: the solver could not find a conflict
      • CONFLICT_FOUND: at least one conflict could be found
      source
      MathOptInterface.ConflictParticipationStatusCodeType
      ConflictParticipationStatusCode

      An Enum of possible values for the ConstraintConflictStatus attribute. This attribute is meant to indicate whether a given constraint participates or not in the last computed conflict.

      Values

      Possible values are:

      • NOT_IN_CONFLICT: the constraint does not participate in the conflict
      • IN_CONFLICT: the constraint participates in the conflict
      • MAYBE_IN_CONFLICT: the constraint may participate in the conflict, the solver was not able to prove that the constraint can be excluded from the conflict
      source
      +MOI.get(model, MOI.RelativeGap()) # should return something ≤ 1e-3
      Warning

      The mathematical definition of "relative gap", and its allowed range, are solver-dependent. Typically, solvers expect a value between 0.0 and 1.0.

      source

      List of attributes useful for optimizers

      MathOptInterface.TerminationStatusCodeType
      TerminationStatusCode

      An Enum of possible values for the TerminationStatus attribute. This attribute is meant to explain the reason why the optimizer stopped executing in the most recent call to optimize!.

      Values

      Possible values are:

      • OPTIMIZE_NOT_CALLED: The algorithm has not started.
      • OPTIMAL: The algorithm found a globally optimal solution.
      • INFEASIBLE: The algorithm concluded that no feasible solution exists.
      • DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.
      • LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.
      • LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.
      • INFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.
      • ALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.
      • ALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.
      • ALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.
      • ALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.
      • ITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.
      • TIME_LIMIT: The algorithm stopped after a user-specified computation time.
      • NODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.
      • SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.
      • MEMORY_LIMIT: The algorithm stopped because it ran out of memory.
      • OBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.
      • NORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.
      • OTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.
      • SLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.
      • NUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.
      • INVALID_MODEL: The algorithm stopped because the model is invalid.
      • INVALID_OPTION: The algorithm stopped because it was provided an invalid option.
      • INTERRUPTED: The algorithm stopped because of an interrupt signal.
      • OTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.
      source
      MathOptInterface.DUAL_INFEASIBLEConstant
      DUAL_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.

      source
      MathOptInterface.LOCALLY_SOLVEDConstant
      LOCALLY_SOLVED::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.

      source
      MathOptInterface.LOCALLY_INFEASIBLEConstant
      LOCALLY_INFEASIBLE::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      LOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.

      source
      MathOptInterface.SOLUTION_LIMITConstant
      SOLUTION_LIMIT::TerminationStatusCode

      An instance of the TerminationStatusCode enum.

      SOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.

      source
      MathOptInterface.DualStatusType
      DualStatus(result_index::Int = 1)

      A model attribute for the ResultStatusCode of the dual result result_index. If result_index is omitted, it defaults to 1.

      See ResultCount for information on how the results are ordered.

      If result_index is larger than the value of ResultCount then NO_SOLUTION is returned.

      source
      MathOptInterface.ResultCountType
      ResultCount()

      A model attribute for the number of results available.

      Order of solutions

      A number of attributes contain an index, result_index, which is used to refer to one of the available results. Thus, result_index must be an integer between 1 and the number of available results.

      As a general rule, the first result (result_index=1) is the most important result (for example, an optimal solution or an infeasibility certificate). Other results will typically be alternate solutions that the solver found during the search for the first result.

      If a (local) optimal solution is available, that is, TerminationStatus is OPTIMAL or LOCALLY_SOLVED, the first result must correspond to the (locally) optimal solution. Other results may be alternative optimal solutions, or they may be other suboptimal solutions; use ObjectiveValue to distinguish between them.

      If a primal or dual infeasibility certificate is available, that is, TerminationStatus is INFEASIBLE or DUAL_INFEASIBLE and the corresponding PrimalStatus or DualStatus is INFEASIBILITY_CERTIFICATE, then the first result must be a certificate. Other results may be alternate certificates, or infeasible points.

      source
      MathOptInterface.ObjectiveValueType
      ObjectiveValue(result_index::Int = 1)

      A model attribute for the objective value of the primal solution result_index.

      If the solver does not have a primal value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ObjectiveValue attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.DualObjectiveValueType
      DualObjectiveValue(result_index::Int = 1)

      A model attribute for the value of the objective function of the dual problem for the result_indexth dual result.

      If the solver does not have a dual value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a primal solution is available), the result is undefined. Users should first check DualStatus before accessing the DualObjectiveValue attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.RelativeGapType
      RelativeGap()

      A model attribute for the final relative optimality gap.

      Warning

      The definition of this gap is solver-dependent. However, most solvers implementing this attribute define the relative gap as some variation of $\frac{|b-f|}{|f|}$, where $b$ is the best bound and $f$ is the best feasible objective value.

      source
      MathOptInterface.SimplexIterationsType
      SimplexIterations()

      A model attribute for the cumulative number of simplex iterations during the optimization process.

      For a mixed-integer program (MIP), the return value is the total simplex iterations for all nodes.

      source
      MathOptInterface.NodeCountType
      NodeCount()

      A model attribute for the total number of branch-and-bound nodes explored while solving a mixed-integer program (MIP).

      source

      ResultStatusCode

      MathOptInterface.ResultStatusCodeType
      ResultStatusCode

      An Enum of possible values for the PrimalStatus and DualStatus attributes.

      The values indicate how to interpret the result vector.

      Values

      Possible values are:

      • NO_SOLUTION: the result vector is empty.
      • FEASIBLE_POINT: the result vector is a feasible point.
      • NEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.
      • INFEASIBLE_POINT: the result vector is an infeasible point.
      • INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.
      • NEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.
      • REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.
      • NEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.
      • UNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.
      • OTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above
      source
      MathOptInterface.INFEASIBILITY_CERTIFICATEConstant
      INFEASIBILITY_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      INFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.

      source
      MathOptInterface.REDUCTION_CERTIFICATEConstant
      REDUCTION_CERTIFICATE::ResultStatusCode

      An instance of the ResultStatusCode enum.

      REDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.

      source

      Conflict Status

      MathOptInterface.compute_conflict!Function
      compute_conflict!(optimizer::AbstractOptimizer)

      Computes a minimal subset of constraints such that the model with the other constraint removed is still infeasible.

      Some solvers call a set of conflicting constraints an Irreducible Inconsistent Subsystem (IIS).

      See also ConflictStatus and ConstraintConflictStatus.

      Note

      If the model is modified after a call to compute_conflict!, the implementor is not obliged to purge the conflict. Any calls to the above attributes may return values for the original conflict without a warning. Similarly, when modifying the model, the conflict can be discarded.

      source
      MathOptInterface.ConflictStatusCodeType
      ConflictStatusCode

      An Enum of possible values for the ConflictStatus attribute. This attribute is meant to explain the reason why the conflict finder stopped executing in the most recent call to compute_conflict!.

      Possible values are:

      • COMPUTE_CONFLICT_NOT_CALLED: the function compute_conflict! has not yet been called
      • NO_CONFLICT_EXISTS: there is no conflict because the problem is feasible
      • NO_CONFLICT_FOUND: the solver could not find a conflict
      • CONFLICT_FOUND: at least one conflict could be found
      source
      MathOptInterface.ConflictParticipationStatusCodeType
      ConflictParticipationStatusCode

      An Enum of possible values for the ConstraintConflictStatus attribute. This attribute is meant to indicate whether a given constraint participates or not in the last computed conflict.

      Values

      Possible values are:

      • NOT_IN_CONFLICT: the constraint does not participate in the conflict
      • IN_CONFLICT: the constraint participates in the conflict
      • MAYBE_IN_CONFLICT: the constraint may participate in the conflict, the solver was not able to prove that the constraint can be excluded from the conflict
      source
      diff --git a/dev/moi/reference/modification/index.html b/dev/moi/reference/modification/index.html index 9ef41588ca9..eaef13f13a7 100644 --- a/dev/moi/reference/modification/index.html +++ b/dev/moi/reference/modification/index.html @@ -97,4 +97,4 @@ )

      A struct used to request a change in the quadratic coefficient of a ScalarQuadraticFunction.

      Scaling factors

      A ScalarQuadraticFunction has an implicit 0.5 scaling factor in front of the Q matrix. This modification applies to terms in the Q matrix.

      If variable_1 == variable_2, this modification sets the corresponding diagonal element of the Q matrix to new_coefficient.

      If variable_1 != variable_2, this modification is equivalent to setting both the corresponding upper- and lower-triangular elements of the Q matrix to new_coefficient.

      As a consequence:

      • to modify the term x^2 to become 2x^2, new_coefficient must be 4
      • to modify the term xy to become 2xy, new_coefficient must be 2
      source +) where {T}

      A struct used to request a change in the linear coefficients of a single variable in a vector-valued function.

      New coefficients are specified by (output_index, coefficient) tuples.

      Applicable to VectorAffineFunction and VectorQuadraticFunction.

      source diff --git a/dev/moi/reference/nonlinear/index.html b/dev/moi/reference/nonlinear/index.html index 0eec1527075..e1ef87b8c79 100644 --- a/dev/moi/reference/nonlinear/index.html +++ b/dev/moi/reference/nonlinear/index.html @@ -425,4 +425,4 @@ :(x[MOI.VariableIndex(1)] * x[MOI.VariableIndex(2)] * x[MOI.VariableIndex(3)] * x[MOI.VariableIndex(4)] >= 25.0) julia> MOI.constraint_expr(evaluator, 2) -:(x[MOI.VariableIndex(1)] ^ 2 + x[MOI.VariableIndex(2)] ^ 2 + x[MOI.VariableIndex(3)] ^ 2 + x[MOI.VariableIndex(4)] ^ 2 == 40.0)source +:(x[MOI.VariableIndex(1)] ^ 2 + x[MOI.VariableIndex(2)] ^ 2 + x[MOI.VariableIndex(3)] ^ 2 + x[MOI.VariableIndex(4)] ^ 2 == 40.0)source diff --git a/dev/moi/reference/standard_form/index.html b/dev/moi/reference/standard_form/index.html index 1a2f74c52ce..59c41f159a2 100644 --- a/dev/moi/reference/standard_form/index.html +++ b/dev/moi/reference/standard_form/index.html @@ -944,4 +944,4 @@ MOI.VectorOfVariables([t; vec(X)]), MOI.RootDetConeSquare(2), ) -MathOptInterface.ConstraintIndex{MathOptInterface.VectorOfVariables, MathOptInterface.RootDetConeSquare}(1)source +MathOptInterface.ConstraintIndex{MathOptInterface.VectorOfVariables, MathOptInterface.RootDetConeSquare}(1)source diff --git a/dev/moi/reference/variables/index.html b/dev/moi/reference/variables/index.html index 7b22882cb15..a9703cb9bad 100644 --- a/dev/moi/reference/variables/index.html +++ b/dev/moi/reference/variables/index.html @@ -63,4 +63,4 @@ )::Bool

      Return a Bool indicating whether model supports constraining a variable to belong to a set of type S either on creation of the variable with add_constrained_variable or after the variable is created with add_constraint.

      By default, this function falls back to supports_add_constrained_variables(model, Reals) && supports_constraint(model, MOI.VariableIndex, S) which is the correct definition for most models.

      Example

      Suppose that a solver supports only two kind of variables: binary variables and continuous variables with a lower bound. If the solver decides not to support VariableIndex-in-Binary and VariableIndex-in-GreaterThan constraints, it only has to implement add_constrained_variable for these two sets which prevents the user to add both a binary constraint and a lower bound on the same variable. Moreover, if the user adds a VariableIndex-in-GreaterThan constraint, implementing this interface (that is, supports_add_constrained_variables) enables the constraint to be transparently bridged into a supported constraint.

      source
      MathOptInterface.supports_add_constrained_variablesFunction
      supports_add_constrained_variables(
           model::ModelLike,
           S::Type{<:AbstractVectorSet}
      -)::Bool

      Return a Bool indicating whether model supports constraining a vector of variables to belong to a set of type S either on creation of the vector of variables with add_constrained_variables or after the variable is created with add_constraint.

      By default, if S is Reals then this function returns true and otherwise, it falls back to supports_add_constrained_variables(model, Reals) && supports_constraint(model, MOI.VectorOfVariables, S) which is the correct definition for most models.

      Example

      In the standard conic form (see Duality), the variables are grouped into several cones and the constraints are affine equality constraints. If Reals is not one of the cones supported by the solvers then it needs to implement supports_add_constrained_variables(::Optimizer, ::Type{Reals}) = false as free variables are not supported. The solvers should then implement supports_add_constrained_variables(::Optimizer, ::Type{<:SupportedCones}) = true where SupportedCones is the union of all cone types that are supported; it does not have to implement the method supports_constraint(::Type{VectorOfVariables}, Type{<:SupportedCones}) as it should return false and it's the default. This prevents the user to constrain the same variable in two different cones. When a VectorOfVariables-in-S is added, the variables of the vector have already been created so they already belong to given cones. If bridges are enabled, the constraint will therefore be bridged by adding slack variables in S and equality constraints ensuring that the slack variables are equal to the corresponding variables of the given constraint function.

      Note that there may also be sets for which !supports_add_constrained_variables(model, S) and supports_constraint(model, MOI.VectorOfVariables, S). For instance, suppose a solver supports positive semidefinite variable constraints and two types of variables: binary variables and nonnegative variables. Then the solver should support adding VectorOfVariables-in-PositiveSemidefiniteConeTriangle constraints, but it should not support creating variables constrained to belong to the PositiveSemidefiniteConeTriangle because the variables in PositiveSemidefiniteConeTriangle should first be created as either binary or non-negative.

      source
      MathOptInterface.is_validMethod
      is_valid(model::ModelLike, index::Index)::Bool

      Return a Bool indicating whether this index refers to a valid object in the model model.

      source
      MathOptInterface.deleteMethod
      delete(model::ModelLike, index::Index)

      Delete the referenced object from the model. Throw DeleteNotAllowed if if index cannot be deleted.

      The following modifications also take effect if Index is VariableIndex:

      • If index used in the objective function, it is removed from the function, that is, it is substituted for zero.
      • For each func-in-set constraint of the model:
        • If func isa VariableIndex and func == index then the constraint is deleted.
        • If func isa VectorOfVariables and index in func.variables then
          • if length(func.variables) == 1 is one, the constraint is deleted;
          • if length(func.variables) > 1 and supports_dimension_update(set) then then the variable is removed from func and set is replaced by update_dimension(set, MOI.dimension(set) - 1).
          • Otherwise, a DeleteNotAllowed error is thrown.
        • Otherwise, the variable is removed from func, that is, it is substituted for zero.
      source
      MathOptInterface.deleteMethod
      delete(model::ModelLike, indices::Vector{R<:Index}) where {R}

      Delete the referenced objects in the vector indices from the model. It may be assumed that R is a concrete type. The default fallback sequentially deletes the individual items in indices, although specialized implementations may be more efficient.

      source

      Attributes

      MathOptInterface.VariableNameType
      VariableName()

      A variable attribute for a string identifying the variable. It is valid for two variables to have the same name; however, variables with duplicate names cannot be looked up using get. It has a default value of "" if not set`.

      source
      MathOptInterface.VariablePrimalStartType
      VariablePrimalStart()

      A variable attribute for the initial assignment to some primal variable's value that the optimizer may use to warm-start the solve. May be a number or nothing (unset).

      source
      MathOptInterface.VariablePrimalType
      VariablePrimal(result_index::Int = 1)

      A variable attribute for the assignment to some primal variable's value in result result_index. If result_index is omitted, it is 1 by default.

      If the solver does not have a primal value for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the VariablePrimal attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.VariableBasisStatusType
      VariableBasisStatus(result_index::Int = 1)

      A variable attribute for the BasisStatusCode of a variable in result result_index, with respect to an available optimal solution basis.

      If the solver does not have a basis status for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the VariableBasisStatus attribute.

      See ResultCount for information on how the results are ordered.

      source
      +)::Bool

      Return a Bool indicating whether model supports constraining a vector of variables to belong to a set of type S either on creation of the vector of variables with add_constrained_variables or after the variable is created with add_constraint.

      By default, if S is Reals then this function returns true and otherwise, it falls back to supports_add_constrained_variables(model, Reals) && supports_constraint(model, MOI.VectorOfVariables, S) which is the correct definition for most models.

      Example

      In the standard conic form (see Duality), the variables are grouped into several cones and the constraints are affine equality constraints. If Reals is not one of the cones supported by the solvers then it needs to implement supports_add_constrained_variables(::Optimizer, ::Type{Reals}) = false as free variables are not supported. The solvers should then implement supports_add_constrained_variables(::Optimizer, ::Type{<:SupportedCones}) = true where SupportedCones is the union of all cone types that are supported; it does not have to implement the method supports_constraint(::Type{VectorOfVariables}, Type{<:SupportedCones}) as it should return false and it's the default. This prevents the user to constrain the same variable in two different cones. When a VectorOfVariables-in-S is added, the variables of the vector have already been created so they already belong to given cones. If bridges are enabled, the constraint will therefore be bridged by adding slack variables in S and equality constraints ensuring that the slack variables are equal to the corresponding variables of the given constraint function.

      Note that there may also be sets for which !supports_add_constrained_variables(model, S) and supports_constraint(model, MOI.VectorOfVariables, S). For instance, suppose a solver supports positive semidefinite variable constraints and two types of variables: binary variables and nonnegative variables. Then the solver should support adding VectorOfVariables-in-PositiveSemidefiniteConeTriangle constraints, but it should not support creating variables constrained to belong to the PositiveSemidefiniteConeTriangle because the variables in PositiveSemidefiniteConeTriangle should first be created as either binary or non-negative.

      source
      MathOptInterface.is_validMethod
      is_valid(model::ModelLike, index::Index)::Bool

      Return a Bool indicating whether this index refers to a valid object in the model model.

      source
      MathOptInterface.deleteMethod
      delete(model::ModelLike, index::Index)

      Delete the referenced object from the model. Throw DeleteNotAllowed if if index cannot be deleted.

      The following modifications also take effect if Index is VariableIndex:

      • If index used in the objective function, it is removed from the function, that is, it is substituted for zero.
      • For each func-in-set constraint of the model:
        • If func isa VariableIndex and func == index then the constraint is deleted.
        • If func isa VectorOfVariables and index in func.variables then
          • if length(func.variables) == 1 is one, the constraint is deleted;
          • if length(func.variables) > 1 and supports_dimension_update(set) then then the variable is removed from func and set is replaced by update_dimension(set, MOI.dimension(set) - 1).
          • Otherwise, a DeleteNotAllowed error is thrown.
        • Otherwise, the variable is removed from func, that is, it is substituted for zero.
      source
      MathOptInterface.deleteMethod
      delete(model::ModelLike, indices::Vector{R<:Index}) where {R}

      Delete the referenced objects in the vector indices from the model. It may be assumed that R is a concrete type. The default fallback sequentially deletes the individual items in indices, although specialized implementations may be more efficient.

      source

      Attributes

      MathOptInterface.VariableNameType
      VariableName()

      A variable attribute for a string identifying the variable. It is valid for two variables to have the same name; however, variables with duplicate names cannot be looked up using get. It has a default value of "" if not set`.

      source
      MathOptInterface.VariablePrimalStartType
      VariablePrimalStart()

      A variable attribute for the initial assignment to some primal variable's value that the optimizer may use to warm-start the solve. May be a number or nothing (unset).

      source
      MathOptInterface.VariablePrimalType
      VariablePrimal(result_index::Int = 1)

      A variable attribute for the assignment to some primal variable's value in result result_index. If result_index is omitted, it is 1 by default.

      If the solver does not have a primal value for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the VariablePrimal attribute.

      See ResultCount for information on how the results are ordered.

      source
      MathOptInterface.VariableBasisStatusType
      VariableBasisStatus(result_index::Int = 1)

      A variable attribute for the BasisStatusCode of a variable in result result_index, with respect to an available optimal solution basis.

      If the solver does not have a basis status for the variable because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the VariableBasisStatus attribute.

      See ResultCount for information on how the results are ordered.

      source
      diff --git a/dev/moi/release_notes/index.html b/dev/moi/release_notes/index.html index 799cf13efa8..c1e42b58f86 100644 --- a/dev/moi/release_notes/index.html +++ b/dev/moi/release_notes/index.html @@ -3,7 +3,7 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Release notes

      The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

      v1.34.0 (November 7, 2024)

      Added

      Fixed

      Other

      • Updated solver-tests.yml (#2578)
      • Improved various docstrings (#2579)

      v1.33.0 (October 28, 2024)

      Added

      Fixed

      • Fixed MOI.objective_expr(::InvalidEvaluator) (#2569)

      v1.32.0 (October 21, 2024)

      Added

      Fixed

      • Fixed Bridges.Constraint.TableToMILPBridge if there is a constant in the function (#2544)
      • Fixed FileFormats.MPS and FileFormats.LP to read separate variable bounds instead of an Interval set (#2548)
      • Fixed the variable domains in Test.test_nonlinear_expression_hs110 (#2551)
      • Fixed the dimension of VectorNonlinearFunction in tests (#2555)
      • Fixed the use of 1:length(x) in Nonlinear.Coloring (#2559)
      • Fixed an index conflict in Nonlinear.Coloring (#2561)

      Other

      v1.31.2 (August 30, 2024)

      Fixed

      • Fixed a bug writing FileFormats.MPS files with MAX_SENSE and quadratic objectives (#2539)

      Other

      • Improved the docstrings in src/nlp.jl (#2537)

      v1.31.1 (August 7, 2024)

      Fixed

      • Fixed NLPBlock when used with bridges (#2524)

      Other

      • Use inverse_trimap instead of redefining it (#2522)
      • Improved UnsupportedConstraint error (#2530)

      v1.31.0 (June 26, 2024)

      Added

      • Added default show(::IO, ::ModelLike) method (#2505) (#2510)
      • Set map bridges can now implement the various map_function methods to use the value of the bridge as the first argument, instead of passing the type of the bridge. (#2509)
      • Added cannot_unbridge argument to Bridges.runtests

      Fixed

      • Fixed supports_constraint for IndicatorSOS1Bridge (#2507)
      • Fixed getting ConstraintDual in slack bridges (#2508) (#2514) (#2515)
      • Fixed FileFormats.NL to read linear constraints as ScalarAffineFunction (#2512)
      • Changed default_copy_to to maintain the order of variables during copy_to. This change is marked as non-breaking, but it may cause different (but mathematically equivalent) models to be formulated, particularly conic models with bridges. (#2495) (#2520)

      Other

      v1.30.0 (May 23, 2024)

      Added

      • Added input and output functions to Bridges.runtests (#2497)

      Fixed

      • Improved the heuristic of when to write variable cones in FileFormats.CBF (#2494)
      • Fixed Bridges.runtests when model has no variable (#2499)
      • Fixed getting an attribute of an empty vector (#2501)

      Other

      • Fixed links in the documentation (#2502)

      v1.29.0 (April 19, 2024)

      Added

      Fixed

      Other

      • Updated versions in CI (#2484) (#2489)
      • Fixed duplicate names in tests (#2485)

      v1.28.1 (April 13, 2024)

      Fixed

      • Fixed a bug reading MPS files with integer variables and no corresponding entry in the BOUNDS section (#2480)

      v1.28.0 (April 11, 2024)

      Added

      Fixed

      • Fixed a correctness bug getting the set of a constraint that used both variable and constraint bridges (#2464) (#2472)
      • Fixed MethodError in some bridges when called with Complex-valued functions (#2468) (#2475)
      • Fixed reading MPS files that use * as the start of a name and not as a comment (#2470)

      Other

      • Updated solver-tests.yml (#2465)
      • Removed two unused methods from MOI.Bridges (#2466)
      • Documentation updates (#2467), (#2473), (#2474)
      • Simplify reading CBF files (#2476)

      v1.27.1 (March 27, 2024)

      Fixed

      • Fixed passing non-IndexMap in Utilities.pass_attributes (#2458)
      • Fixed getting MOI.ListOfConstraintAttributesSet for VectorOfConstraints (#2459)

      Other

      • Updated solver-tests.yml (#2453) (#2455)
      • Fixed path in error message (#2461)

      v1.27.0 (February 27, 2024)

      Added

      • Added support for sign(x) in Nonlinear (#2444)

      Fixed

      v1.26.0 (February 22, 2024)

      Added

      Fixed

      • Fixed writing binary variables with bounds in FileFormats.MPS (#2431)
      • Fixed parsing suffixes in FileFormats.NL (#2436)
      • Fixed writing free constraints in FileFormats.NL (#2437)
      • Fixed potential for unsafe out-of-bounds write in Hessian evaluation (#2441)

      Other

      v1.25.3 (February 14, 2024)

      Fixed

      • Fixed number type in get_fallback (#2414)
      • Fixed error type thrown when a variable bridge cannot un-bridge the function. It used to throw ErrorException. It now throws MOI.GetAttributeNotAllowed{MOI.ConstraintFunction}. This enables Utilities.CachingOptimizer to more uniformly implement fallbacks for common bridges like Bridges.Variable.ZerosBridge. (#2415)
      • Fixed tests on upcoming Julia v1.11 (#2428)

      Other

      v1.25.2 (January 29, 2024)

      Fixed

      Other

      • Clarified ordering of nonlinear tape in documentation (#2401)
      • Updated vale.sh (#2403) (#2404)
      • Tidied `src/Utilities/results.jl (#2411)

      v1.25.1 (January 11, 2024)

      Fixed

      Other

      • Removed a duplicated test (#2395)

      v1.25.0 (January 5, 2024)

      Added

      • Added the AutomaticDifferentiationBackend attribute (#2386)

      Fixed

      v1.24.0 (January 2, 2024)

      Added

      • Added get_fallback for ConstraintDual of variable bounds (#2373)

      Fixed

      • Fixed RSOCtoPSDBridge for dimension 2 (#2359)
      • Fixed getting ConstraintFunction in conversion bridge (#2360)
      • Fixed map_indices (#2367)
      • Fixed SlackBridgePrimalDualStart for non-slack bridges (#2365)
      • Fixed test_attribute_TimeLimitSec (#2370)
      • Fixed order of model attributes during copy_to (#2372)
      • Fixed ConstraintIndex conflicts between variable and constraint bridges (#2362)
      • Fixed corner-case deletion in bridges (#2377)
      • Fixed ListOfVariablesWithAttributeSet for variable bridges (#2380)
      • Fixed SlackBridge if scalar constant is not zero (#2382)
      • Fixed setting multiple bounds on a bridged variable (#2383)

      Other

      • Minor documentation improvements (#2355), (#2374)
      • Improved side_dimension_for_vectorized_dimension (#2356)
      • Added DiffOpt and ParametricOptInterface to solver-tests.yml (#2368)
      • Refactored SDPAModel into a separate test file and test more widely (#2364), (#2357)

      v1.23.0 (November 29, 2023)

      Added

      Fixed

      • Fixed Test.test_model_Name_VariableName_ConstraintName (#2349)
      • Fixed errors thrown when querying an attribute is not supported, like when Utilities.CachingOptimizer is not attached to an optimizer (#2350)

      v1.22.0 (November 6, 2023)

      Added

      Fixed

      Other

      • Fixed typo in docstring of ScalarAffineFunction (#2326)
      • Added Gurobi to solver-tests.yml (#2332)
      • Improved the error message when a bridge does not support an attribute (#2329)
      • Improved documentation for implementing a bridge (#2334)
      • Updated [compat] bounds in Project.toml (#2344)

      v1.21.0 (October 25, 2023)

      Added

      Fixed

      • Fixed test_attribute_TimeLimitSec (#2256)
      • Fixed conversion cost in objective bridges (#2309)

      Other

      • Fixed flakey link checking in documentation (#2297)
      • Minor documentation fixes (#2304) (#2313)
      • Fixed [compat] section of Project.toml (#2310)
      • Added MultiObjectiveAlgorithms to solver-tests.yml (#2312)

      v1.20.1 (September 24, 2023)

      Fixed

      Other

      • Added MathOptSetDistances to solver-tests.yml (#2265)
      • Updated Documenter (#2266)
      • Fixed various JET errors (#2267) (#2269) (#2270) (#2271) (#2276) (#2277) (#2289)
      • Various style improvements
        • Replaced using Package with import Package where possible (#2274)
        • Removed Utilities.EMPTYSTRING (#2283)
        • Removed unnecessary const acronyms in Utilities (#2280) (#2281)
        • Removed invalid and unused method (#2286)
      • Refactored src/Utilities/model.jl (#2287)

      v1.20.0 (September 7, 2023)

      Added

      Other

      v1.19.0 (August 15, 2023)

      Added

      Fixed

      Other

      • Added extensions to solver-tests.yml (#2229)
      • Refactored test/Benchmarks (#2234)
      • Fixed warnings in tests (#2241) (#2243)
      • Small refactoring of bridges for upcoming VectorNonlinearFunction (#2244) (#2245)
      • Fixed various typos (#2251) (#2255)
      • Partitioned how we run the tests on GitHub actions (#2252) (#2253)

      v1.18.0 (June 23, 2023)

      Added

      Fixed

      • Fixed a missing @require in MOI.Test (#2195) (#2196)
      • Fixed incorrect usage of Utilities.operate! in bridges (#2207) (#2216)
      • Fixed splatting nonlinear expression with univariate operator (#2221)

      Other

      • Removed unused argument names (#2199)
      • Reduced memory requirement for tests (#2204)
      • Refactored Utilities.promote_operation (#2206)
      • Improved code style in Utilities/mutable_arithmetics.jl (#2209)
      • Refactored various methods in Utilities/functions.jl (#2208) (#2212) (#2213) (#2214) (#2215)

      v1.17.1 (June 6, 2023)

      Fixed

      Other

      • Added documentation for enum instances (#2186)
      • Updated chatroom links in documentation (#2188)
      • Changed the documentation to build on Julia v1.9 (#2191)

      v1.17.0 (June 1, 2023)

      Added

      Fixed

      • Fixed support for external sets in Utilities.loadfromstring! (#2177)
      • Fixed promote_operation for ScalarNonlinearFunction (#2179)
      • Fixed two issues in FileFormats.LP when reading files with quadratic functions (#2182) (#2184)

      v1.16.0 (May 16, 2023)

      Added

      Fixed

      Other

      • Fixed solver-tests.yml (#2157)
      • Updated documentation links to developer chatroom (#2160)
      • Added various tests for bridges (#2156)
      • Added checklists to the developer documentation (#2167) (#2168)

      v1.15.1 (April 25, 2023)

      Fixed

      • Fixed deleting a variable in a bridged objective (#2150)

      v1.15.0 (April 19, 2023)

      Added

      Fixed

      Other

      • Add a test for variables in one-sided open Interval sets (#2133)
      • Minor style fixes in the source code (#2148)

      v1.14.1 (April 6, 2023)

      Fixed

      Other

      v1.14.0 (April 4, 2023)

      Added

      Fixed

      v1.13.2 (March 21, 2023)

      Fixed

      Other

      • Fixed typos in the documentation (#2114)
      • Functions now print to the REPL in algebraic form. This is potentially breaking if you have tests which rely on a specific String form of MOI functions. (#2112) (#2126)

      v1.13.1 (March 3, 2023)

      Other

      • Added the Google style guide to the documentation linter Vale, and fixed the resulting warnings (#2110)
      • Improved the docstrings in src/functions.jl (#2108)

      v1.13.0 (February 28, 2023)

      Added

      Fixed

      Other

      • Added tests for vector-valued objective functions in FileFormats.MOF (#2093)
      • Used and documented preference for import MathOptInterface as MOI (#2096)
      • Fix and test links in the documentation with linkcheck = true (#2098)
      • Improved docstrings of sets in src/sets.jl (#2099)
      • Skip checking flakey links in documentation with linkcheck_ignore (#2103)

      v1.12.0 (February 10, 2023)

      Added

      Fixed

      • Fixed a number of constraint bridges so that Bridges.final_touch can be called multiple times without forcing a rebuild of the reformulation (#2089)

      Other

      v1.11.5 (January 24, 2023)

      Fixed

      • Fixed a bug writing .lp files with an off-diagonal quadratic objective (#2082)

      Other

      • Added SnoopPrecompile directives for reduced time-to-first-X in Julia v1.9 (#2080)

      v1.11.4 (January 12, 2023)

      Fixed

      • Fixed a bug reading .lp files with an Integer section (#2078)

      v1.11.3 (January 12, 2023)

      Fixed

      • Fixed a performance bug when deleting a vector of constraints (#2072)
      • Fixed a bug reading .lp files with terms like x -1 y (#2076)

      Other

      v1.11.2 (January 2, 2023)

      Fixed

      • Fixed a bug reading .mof.json files with ConstraintName set for VariableIndex constraints (#2066)
      • Fixed a bug reading .mof.json files with nonlinear objectives and no constraints (#2068)

      v1.11.1 (December 22, 2022)

      Fixed

      • Fixed a bug reading .mof.json files with integer coefficients for affine and quadratic functions (#2063)

      v1.11.0 (December 2, 2022)

      Added

      Other

      • Tidied these release notes (#2055)

      v1.10.0 (November 22, 2022)

      Added

      Fixed

      • Fixed Bridges.Objective.SlackBridge when the objective function is complex-valued (#2036) (#2038)
      • Fixed docstring of Test.runtests to clarify the warn_unsupported argument (#2037)
      • Fixed reading of free variables in FileFormats.LP (#2044)
      • Fixed numerous edge cases reading files from QPLIB using FileFormats.LP (#2042) (#2044)
      • Fixed situations in which x^y returns a complex value in Nonlinear (#2050)

      Other

      • Improved the error message thrown when a user-defined nonlinear function does not accept splatted input (#2032)
      • Removed specialized iterators for keys and values in Utilities.CleverDicts (#2051)

      v1.9.0 (October 29, 2022)

      Added

      Fixed

      • Fixed Constraint.ZeroOneBridge by adding new bounds as affine constraints instead of variable bounds (#1879)
      • Fixed reading free rows in FileFormats.MPS files (#2009)
      • Fixed parsing of OBJSENSE blocks in FileFormats.MPS files (#2016) (#2019)
      • Fixed the parsing of deeply nested nonlinear expressions by removing the use of recursion (#2020)
      • Fixed the requirements check in Test.test_constraint_get_ConstraintIndex (#2024)

      v1.8.2 (September 20, 2022)

      Documentation

      • Added vale as a documentation linter (#2002)
      • Improved styling of code blocks in the PDF (#1999) (#2000)
      • Fixed a number of typos in the documentation (#2001) (#2003)

      v1.8.1 (September 12, 2022)

      Fixed

      • Fixed a bug in supports(::AbstractBridgeOptimizer for constraint attributes (#1991) (#1992)

      v1.8.0 (September 1, 2022)

      Added

      Fixed

      • Lazily construct expressions in Nonlinear so that expressions are updated when Nonlinear.Parameter values are updated (#1984)
      • Allow NORM_LIMIT as a TerminationStatus for unbounded problems in Test (#1990)

      v1.7.0 (August 16, 2022)

      Added

      Fixed

      • Fixed some missing promotion rules

      Other

      • Improved the performance of Jacobian products in Nonlinear
      • Removed an un-needed copy in Utilities.modify_function
      • Various clean-ups in Bridges/bridge_optimizer.jl

      v1.6.1 (July 23, 2022)

      Fixed

      • Added support for ExponentialCone in MatrixOfConstraints
      • Fix PSDSquare_3 test to reflect a previously fixed bug getting the ConstraintDual of a PositiveSemidefiniteConeSquare constraint

      v1.6.0 (July 2, 2022)

      Added

      • Added Bridges.needs_final_touch and Bridges.final_touch
      • Added new bridges from constraint programming sets to mixed-integer linear programs:
        • AllDifferentToCountDistinctBridge
        • CountAtLeastToCountBelongsBridge
        • CountBelongsToMILPBridge
        • CountDistinctToMILPBridge
        • CountGreaterThanToMILPBridge
        • CircuitToMILPBridge

      Fixed

      • Relax an instance of ::Vector to ::AbstractVector in MOI.Nonlinear
      • Fix BinPackingToMILPBridge to respect variable bounds
      • Fix SemiToBinaryBridge to throw error if other bounds are set

      v1.5.0 (June 27, 2022)

      Added

      • Added GetAttributeNotAllowed for solvers to indicate when getting an attribute encounters an error
      • Added Utilities.get_fallback support for ObjectiveValue and DualObjectiveValue
      • Added new bridges:
        • RootDetConeSquare to RootDetConeTriangle
        • LogDetConeSquare to LogDetConeTriangle
        • BinPacking to a mixed-integer linear program
        • Table to a mixed-integer linear program
      • Added Bridges.print_active_bridges to display the current optimal hyper-path in a Bridges.LazyBridgeOptimizer

      Fixed

      • Fixed ZeroOne tests with lower and upper bounds
      • Fixed error in FileFormats.LP when reading a malformed file
      • Fixed reading of nonlinear programs in FileFormats.MOF
      • Fixed bug in ConstraintDual when using SquareBridge

      Other

      • Improved documentation of nonlinear API
      • Documented duality convention for PositiveSemidefiniteConeSquare sets
      • Fixed typo in Bridges.Constraint.QuadToSOCBridge docstring

      v1.4.0 (June 9, 2022)

      Added

      • Added a number of sets for constraint programming:
        • AllDifferent
        • BinPacking
        • Circuit
        • CountAtLeast
        • CountBelongs
        • CountDistinct
        • CountGreaterThan
        • Cumulative
        • Path
        • Table
      • Added support for user-defined hessians in Nonlinear
      • Added Bridges.runtests to simplify the testing of bridge implementations

      Fixed

      • Fixed a bug in FileFormats.NL when writing univariate *

      Other

      • Began a large refactoring of the Bridges submodule, with greatly improved documentation.

      v1.3.0 (May 27, 2022)

      Added

      • Add MOI.Nonlinear submodule. This is a large new submodule that has been refactored from code that was in JuMP. For now, it should be considered experimental.
      • Add FileFormats.NL.SolFileResults(::IO, ::Model)
      • Add FileFormats.NL.read!(::IO, ::Model)
      • Add MOI.modify that accepts a vector of modifications

      Fixed

      • Fixed a bug in Test which attempted to include non-.jl files
      • Fixed a bug in FileFormats for models with open interval constraints

      Other

      • Fixed a performance issue in Utilities.DoubleDict
      • Various minor improvements to the documentation

      v1.2.0 (April 25, 2022)

      Added

      • Add support for the FORMAT_REW/.rew file format in FileFormats.

      Fixed

      • Fix bug handling of default variable bounds in FileFormats.LP
      • Fix FileFormats.MPS to not write OBJSENSE by default since this is only supported by some readers.

      v1.1.2 (March 31, 2022)

      Fixed

      • Fix a range of bugs in FileFormats.LP
      • Fix reading of problem dimensions in FileFormats.SDPA

      v1.1.1 (March 23, 2022)

      Fixed

      • Fix bug in test_model_UpperBoundAlreadySet
      • Fix bug in test_infeasible_ tests
      • Fix bug in test_objective_ObjectiveFunction_blank
      • Relax restriction of MOI.AbstractOptimizer to MOI.ModelLike in Utilities.CachingOptimizer and instantiate.

      New tests

      • Add test_conic_empty_matrix that checks conic solvers support problems with no variables.

      v1.1.0 (March 2, 2022)

      Added

      • Added MOI.Utilities.throw_unsupported(::UniversalFallback) for simplifying solver wrappers which copy from a UniversalFallback.

      v1.0.2 (March 1, 2022)

      Fixed

      • Fixed a bug in the test_model_ScalarFunctionConstantNotZero test
      • Fixed the error type when an AbstractFunctionConversionBridge cannot get or set an attribute
      • Identified a correctness bug in RSOCtoPSDBridge. We now thrown an error instead of returning an incorrect result.

      v1.0.1 (February 25, 2022)

      Fixed

      • Fixed a bug in which OptimizerAttributes were not copied in CachingOptimizer
      • Fixed a bug in which shift_constant did not promote mixed types of coefficients
      • Fixed a bug in which deleting a constraint of a bridged variable threw ErrorException instead of MOI.DeleteNotAllowed
      • Fixed a bug in which add_constraint in MatrixOfConstraints did not canonicalize the function
      • Fixed a bug when modifying scalar constants of a function containing a bridged variable
      • Fixed a bug in which final_touch was not always called with a CachingOptimizer

      v1.0.0 (February 17, 2022)

      Although tagged as a breaking release, v1.0.0 is v0.10.9 with deprecations removed, similar to how Julia 1.0 was Julia 0.7 with deprecations removed.

      Breaking

      • Julia 1.6 is now the minimum supported version
      • All deprecations have been removed

      Troubleshooting problems when updating

      If you experience problems when updating, you are likely using previously deprecated features. (By default, Julia does not warn when you use deprecated features.)

      To find the deprecated features you are using, start Julia with --depwarn=yes:

      $ julia --depwarn=yes

      Then install MathOptInterface v0.10.9:

      julia> using Pkg
      +

      Release notes

      The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

      v1.34.0 (November 7, 2024)

      Added

      Fixed

      Other

      • Updated solver-tests.yml (#2578)
      • Improved various docstrings (#2579)

      v1.33.0 (October 28, 2024)

      Added

      Fixed

      • Fixed MOI.objective_expr(::InvalidEvaluator) (#2569)

      v1.32.0 (October 21, 2024)

      Added

      Fixed

      • Fixed Bridges.Constraint.TableToMILPBridge if there is a constant in the function (#2544)
      • Fixed FileFormats.MPS and FileFormats.LP to read separate variable bounds instead of an Interval set (#2548)
      • Fixed the variable domains in Test.test_nonlinear_expression_hs110 (#2551)
      • Fixed the dimension of VectorNonlinearFunction in tests (#2555)
      • Fixed the use of 1:length(x) in Nonlinear.Coloring (#2559)
      • Fixed an index conflict in Nonlinear.Coloring (#2561)

      Other

      v1.31.2 (August 30, 2024)

      Fixed

      • Fixed a bug writing FileFormats.MPS files with MAX_SENSE and quadratic objectives (#2539)

      Other

      • Improved the docstrings in src/nlp.jl (#2537)

      v1.31.1 (August 7, 2024)

      Fixed

      • Fixed NLPBlock when used with bridges (#2524)

      Other

      • Use inverse_trimap instead of redefining it (#2522)
      • Improved UnsupportedConstraint error (#2530)

      v1.31.0 (June 26, 2024)

      Added

      • Added default show(::IO, ::ModelLike) method (#2505) (#2510)
      • Set map bridges can now implement the various map_function methods to use the value of the bridge as the first argument, instead of passing the type of the bridge. (#2509)
      • Added cannot_unbridge argument to Bridges.runtests

      Fixed

      • Fixed supports_constraint for IndicatorSOS1Bridge (#2507)
      • Fixed getting ConstraintDual in slack bridges (#2508) (#2514) (#2515)
      • Fixed FileFormats.NL to read linear constraints as ScalarAffineFunction (#2512)
      • Changed default_copy_to to maintain the order of variables during copy_to. This change is marked as non-breaking, but it may cause different (but mathematically equivalent) models to be formulated, particularly conic models with bridges. (#2495) (#2520)

      Other

      v1.30.0 (May 23, 2024)

      Added

      • Added input and output functions to Bridges.runtests (#2497)

      Fixed

      • Improved the heuristic of when to write variable cones in FileFormats.CBF (#2494)
      • Fixed Bridges.runtests when model has no variable (#2499)
      • Fixed getting an attribute of an empty vector (#2501)

      Other

      • Fixed links in the documentation (#2502)

      v1.29.0 (April 19, 2024)

      Added

      Fixed

      Other

      • Updated versions in CI (#2484) (#2489)
      • Fixed duplicate names in tests (#2485)

      v1.28.1 (April 13, 2024)

      Fixed

      • Fixed a bug reading MPS files with integer variables and no corresponding entry in the BOUNDS section (#2480)

      v1.28.0 (April 11, 2024)

      Added

      Fixed

      • Fixed a correctness bug getting the set of a constraint that used both variable and constraint bridges (#2464) (#2472)
      • Fixed MethodError in some bridges when called with Complex-valued functions (#2468) (#2475)
      • Fixed reading MPS files that use * as the start of a name and not as a comment (#2470)

      Other

      • Updated solver-tests.yml (#2465)
      • Removed two unused methods from MOI.Bridges (#2466)
      • Documentation updates (#2467), (#2473), (#2474)
      • Simplify reading CBF files (#2476)

      v1.27.1 (March 27, 2024)

      Fixed

      • Fixed passing non-IndexMap in Utilities.pass_attributes (#2458)
      • Fixed getting MOI.ListOfConstraintAttributesSet for VectorOfConstraints (#2459)

      Other

      • Updated solver-tests.yml (#2453) (#2455)
      • Fixed path in error message (#2461)

      v1.27.0 (February 27, 2024)

      Added

      • Added support for sign(x) in Nonlinear (#2444)

      Fixed

      v1.26.0 (February 22, 2024)

      Added

      Fixed

      • Fixed writing binary variables with bounds in FileFormats.MPS (#2431)
      • Fixed parsing suffixes in FileFormats.NL (#2436)
      • Fixed writing free constraints in FileFormats.NL (#2437)
      • Fixed potential for unsafe out-of-bounds write in Hessian evaluation (#2441)

      Other

      v1.25.3 (February 14, 2024)

      Fixed

      • Fixed number type in get_fallback (#2414)
      • Fixed error type thrown when a variable bridge cannot un-bridge the function. It used to throw ErrorException. It now throws MOI.GetAttributeNotAllowed{MOI.ConstraintFunction}. This enables Utilities.CachingOptimizer to more uniformly implement fallbacks for common bridges like Bridges.Variable.ZerosBridge. (#2415)
      • Fixed tests on upcoming Julia v1.11 (#2428)

      Other

      v1.25.2 (January 29, 2024)

      Fixed

      Other

      • Clarified ordering of nonlinear tape in documentation (#2401)
      • Updated vale.sh (#2403) (#2404)
      • Tidied `src/Utilities/results.jl (#2411)

      v1.25.1 (January 11, 2024)

      Fixed

      Other

      • Removed a duplicated test (#2395)

      v1.25.0 (January 5, 2024)

      Added

      • Added the AutomaticDifferentiationBackend attribute (#2386)

      Fixed

      v1.24.0 (January 2, 2024)

      Added

      • Added get_fallback for ConstraintDual of variable bounds (#2373)

      Fixed

      • Fixed RSOCtoPSDBridge for dimension 2 (#2359)
      • Fixed getting ConstraintFunction in conversion bridge (#2360)
      • Fixed map_indices (#2367)
      • Fixed SlackBridgePrimalDualStart for non-slack bridges (#2365)
      • Fixed test_attribute_TimeLimitSec (#2370)
      • Fixed order of model attributes during copy_to (#2372)
      • Fixed ConstraintIndex conflicts between variable and constraint bridges (#2362)
      • Fixed corner-case deletion in bridges (#2377)
      • Fixed ListOfVariablesWithAttributeSet for variable bridges (#2380)
      • Fixed SlackBridge if scalar constant is not zero (#2382)
      • Fixed setting multiple bounds on a bridged variable (#2383)

      Other

      • Minor documentation improvements (#2355), (#2374)
      • Improved side_dimension_for_vectorized_dimension (#2356)
      • Added DiffOpt and ParametricOptInterface to solver-tests.yml (#2368)
      • Refactored SDPAModel into a separate test file and test more widely (#2364), (#2357)

      v1.23.0 (November 29, 2023)

      Added

      Fixed

      • Fixed Test.test_model_Name_VariableName_ConstraintName (#2349)
      • Fixed errors thrown when querying an attribute is not supported, like when Utilities.CachingOptimizer is not attached to an optimizer (#2350)

      v1.22.0 (November 6, 2023)

      Added

      Fixed

      Other

      • Fixed typo in docstring of ScalarAffineFunction (#2326)
      • Added Gurobi to solver-tests.yml (#2332)
      • Improved the error message when a bridge does not support an attribute (#2329)
      • Improved documentation for implementing a bridge (#2334)
      • Updated [compat] bounds in Project.toml (#2344)

      v1.21.0 (October 25, 2023)

      Added

      Fixed

      • Fixed test_attribute_TimeLimitSec (#2256)
      • Fixed conversion cost in objective bridges (#2309)

      Other

      • Fixed flakey link checking in documentation (#2297)
      • Minor documentation fixes (#2304) (#2313)
      • Fixed [compat] section of Project.toml (#2310)
      • Added MultiObjectiveAlgorithms to solver-tests.yml (#2312)

      v1.20.1 (September 24, 2023)

      Fixed

      Other

      • Added MathOptSetDistances to solver-tests.yml (#2265)
      • Updated Documenter (#2266)
      • Fixed various JET errors (#2267) (#2269) (#2270) (#2271) (#2276) (#2277) (#2289)
      • Various style improvements
        • Replaced using Package with import Package where possible (#2274)
        • Removed Utilities.EMPTYSTRING (#2283)
        • Removed unnecessary const acronyms in Utilities (#2280) (#2281)
        • Removed invalid and unused method (#2286)
      • Refactored src/Utilities/model.jl (#2287)

      v1.20.0 (September 7, 2023)

      Added

      Other

      v1.19.0 (August 15, 2023)

      Added

      Fixed

      Other

      • Added extensions to solver-tests.yml (#2229)
      • Refactored test/Benchmarks (#2234)
      • Fixed warnings in tests (#2241) (#2243)
      • Small refactoring of bridges for upcoming VectorNonlinearFunction (#2244) (#2245)
      • Fixed various typos (#2251) (#2255)
      • Partitioned how we run the tests on GitHub actions (#2252) (#2253)

      v1.18.0 (June 23, 2023)

      Added

      Fixed

      • Fixed a missing @require in MOI.Test (#2195) (#2196)
      • Fixed incorrect usage of Utilities.operate! in bridges (#2207) (#2216)
      • Fixed splatting nonlinear expression with univariate operator (#2221)

      Other

      • Removed unused argument names (#2199)
      • Reduced memory requirement for tests (#2204)
      • Refactored Utilities.promote_operation (#2206)
      • Improved code style in Utilities/mutable_arithmetics.jl (#2209)
      • Refactored various methods in Utilities/functions.jl (#2208) (#2212) (#2213) (#2214) (#2215)

      v1.17.1 (June 6, 2023)

      Fixed

      Other

      • Added documentation for enum instances (#2186)
      • Updated chatroom links in documentation (#2188)
      • Changed the documentation to build on Julia v1.9 (#2191)

      v1.17.0 (June 1, 2023)

      Added

      Fixed

      • Fixed support for external sets in Utilities.loadfromstring! (#2177)
      • Fixed promote_operation for ScalarNonlinearFunction (#2179)
      • Fixed two issues in FileFormats.LP when reading files with quadratic functions (#2182) (#2184)

      v1.16.0 (May 16, 2023)

      Added

      Fixed

      Other

      • Fixed solver-tests.yml (#2157)
      • Updated documentation links to developer chatroom (#2160)
      • Added various tests for bridges (#2156)
      • Added checklists to the developer documentation (#2167) (#2168)

      v1.15.1 (April 25, 2023)

      Fixed

      • Fixed deleting a variable in a bridged objective (#2150)

      v1.15.0 (April 19, 2023)

      Added

      Fixed

      Other

      • Add a test for variables in one-sided open Interval sets (#2133)
      • Minor style fixes in the source code (#2148)

      v1.14.1 (April 6, 2023)

      Fixed

      Other

      v1.14.0 (April 4, 2023)

      Added

      Fixed

      v1.13.2 (March 21, 2023)

      Fixed

      Other

      • Fixed typos in the documentation (#2114)
      • Functions now print to the REPL in algebraic form. This is potentially breaking if you have tests which rely on a specific String form of MOI functions. (#2112) (#2126)

      v1.13.1 (March 3, 2023)

      Other

      • Added the Google style guide to the documentation linter Vale, and fixed the resulting warnings (#2110)
      • Improved the docstrings in src/functions.jl (#2108)

      v1.13.0 (February 28, 2023)

      Added

      Fixed

      Other

      • Added tests for vector-valued objective functions in FileFormats.MOF (#2093)
      • Used and documented preference for import MathOptInterface as MOI (#2096)
      • Fix and test links in the documentation with linkcheck = true (#2098)
      • Improved docstrings of sets in src/sets.jl (#2099)
      • Skip checking flakey links in documentation with linkcheck_ignore (#2103)

      v1.12.0 (February 10, 2023)

      Added

      Fixed

      • Fixed a number of constraint bridges so that Bridges.final_touch can be called multiple times without forcing a rebuild of the reformulation (#2089)

      Other

      v1.11.5 (January 24, 2023)

      Fixed

      • Fixed a bug writing .lp files with an off-diagonal quadratic objective (#2082)

      Other

      • Added SnoopPrecompile directives for reduced time-to-first-X in Julia v1.9 (#2080)

      v1.11.4 (January 12, 2023)

      Fixed

      • Fixed a bug reading .lp files with an Integer section (#2078)

      v1.11.3 (January 12, 2023)

      Fixed

      • Fixed a performance bug when deleting a vector of constraints (#2072)
      • Fixed a bug reading .lp files with terms like x -1 y (#2076)

      Other

      v1.11.2 (January 2, 2023)

      Fixed

      • Fixed a bug reading .mof.json files with ConstraintName set for VariableIndex constraints (#2066)
      • Fixed a bug reading .mof.json files with nonlinear objectives and no constraints (#2068)

      v1.11.1 (December 22, 2022)

      Fixed

      • Fixed a bug reading .mof.json files with integer coefficients for affine and quadratic functions (#2063)

      v1.11.0 (December 2, 2022)

      Added

      Other

      • Tidied these release notes (#2055)

      v1.10.0 (November 22, 2022)

      Added

      Fixed

      • Fixed Bridges.Objective.SlackBridge when the objective function is complex-valued (#2036) (#2038)
      • Fixed docstring of Test.runtests to clarify the warn_unsupported argument (#2037)
      • Fixed reading of free variables in FileFormats.LP (#2044)
      • Fixed numerous edge cases reading files from QPLIB using FileFormats.LP (#2042) (#2044)
      • Fixed situations in which x^y returns a complex value in Nonlinear (#2050)

      Other

      • Improved the error message thrown when a user-defined nonlinear function does not accept splatted input (#2032)
      • Removed specialized iterators for keys and values in Utilities.CleverDicts (#2051)

      v1.9.0 (October 29, 2022)

      Added

      Fixed

      • Fixed Constraint.ZeroOneBridge by adding new bounds as affine constraints instead of variable bounds (#1879)
      • Fixed reading free rows in FileFormats.MPS files (#2009)
      • Fixed parsing of OBJSENSE blocks in FileFormats.MPS files (#2016) (#2019)
      • Fixed the parsing of deeply nested nonlinear expressions by removing the use of recursion (#2020)
      • Fixed the requirements check in Test.test_constraint_get_ConstraintIndex (#2024)

      v1.8.2 (September 20, 2022)

      Documentation

      • Added vale as a documentation linter (#2002)
      • Improved styling of code blocks in the PDF (#1999) (#2000)
      • Fixed a number of typos in the documentation (#2001) (#2003)

      v1.8.1 (September 12, 2022)

      Fixed

      • Fixed a bug in supports(::AbstractBridgeOptimizer for constraint attributes (#1991) (#1992)

      v1.8.0 (September 1, 2022)

      Added

      Fixed

      • Lazily construct expressions in Nonlinear so that expressions are updated when Nonlinear.Parameter values are updated (#1984)
      • Allow NORM_LIMIT as a TerminationStatus for unbounded problems in Test (#1990)

      v1.7.0 (August 16, 2022)

      Added

      Fixed

      • Fixed some missing promotion rules

      Other

      • Improved the performance of Jacobian products in Nonlinear
      • Removed an un-needed copy in Utilities.modify_function
      • Various clean-ups in Bridges/bridge_optimizer.jl

      v1.6.1 (July 23, 2022)

      Fixed

      • Added support for ExponentialCone in MatrixOfConstraints
      • Fix PSDSquare_3 test to reflect a previously fixed bug getting the ConstraintDual of a PositiveSemidefiniteConeSquare constraint

      v1.6.0 (July 2, 2022)

      Added

      • Added Bridges.needs_final_touch and Bridges.final_touch
      • Added new bridges from constraint programming sets to mixed-integer linear programs:
        • AllDifferentToCountDistinctBridge
        • CountAtLeastToCountBelongsBridge
        • CountBelongsToMILPBridge
        • CountDistinctToMILPBridge
        • CountGreaterThanToMILPBridge
        • CircuitToMILPBridge

      Fixed

      • Relax an instance of ::Vector to ::AbstractVector in MOI.Nonlinear
      • Fix BinPackingToMILPBridge to respect variable bounds
      • Fix SemiToBinaryBridge to throw error if other bounds are set

      v1.5.0 (June 27, 2022)

      Added

      • Added GetAttributeNotAllowed for solvers to indicate when getting an attribute encounters an error
      • Added Utilities.get_fallback support for ObjectiveValue and DualObjectiveValue
      • Added new bridges:
        • RootDetConeSquare to RootDetConeTriangle
        • LogDetConeSquare to LogDetConeTriangle
        • BinPacking to a mixed-integer linear program
        • Table to a mixed-integer linear program
      • Added Bridges.print_active_bridges to display the current optimal hyper-path in a Bridges.LazyBridgeOptimizer

      Fixed

      • Fixed ZeroOne tests with lower and upper bounds
      • Fixed error in FileFormats.LP when reading a malformed file
      • Fixed reading of nonlinear programs in FileFormats.MOF
      • Fixed bug in ConstraintDual when using SquareBridge

      Other

      • Improved documentation of nonlinear API
      • Documented duality convention for PositiveSemidefiniteConeSquare sets
      • Fixed typo in Bridges.Constraint.QuadToSOCBridge docstring

      v1.4.0 (June 9, 2022)

      Added

      • Added a number of sets for constraint programming:
        • AllDifferent
        • BinPacking
        • Circuit
        • CountAtLeast
        • CountBelongs
        • CountDistinct
        • CountGreaterThan
        • Cumulative
        • Path
        • Table
      • Added support for user-defined hessians in Nonlinear
      • Added Bridges.runtests to simplify the testing of bridge implementations

      Fixed

      • Fixed a bug in FileFormats.NL when writing univariate *

      Other

      • Began a large refactoring of the Bridges submodule, with greatly improved documentation.

      v1.3.0 (May 27, 2022)

      Added

      • Add MOI.Nonlinear submodule. This is a large new submodule that has been refactored from code that was in JuMP. For now, it should be considered experimental.
      • Add FileFormats.NL.SolFileResults(::IO, ::Model)
      • Add FileFormats.NL.read!(::IO, ::Model)
      • Add MOI.modify that accepts a vector of modifications

      Fixed

      • Fixed a bug in Test which attempted to include non-.jl files
      • Fixed a bug in FileFormats for models with open interval constraints

      Other

      • Fixed a performance issue in Utilities.DoubleDict
      • Various minor improvements to the documentation

      v1.2.0 (April 25, 2022)

      Added

      • Add support for the FORMAT_REW/.rew file format in FileFormats.

      Fixed

      • Fix bug handling of default variable bounds in FileFormats.LP
      • Fix FileFormats.MPS to not write OBJSENSE by default since this is only supported by some readers.

      v1.1.2 (March 31, 2022)

      Fixed

      • Fix a range of bugs in FileFormats.LP
      • Fix reading of problem dimensions in FileFormats.SDPA

      v1.1.1 (March 23, 2022)

      Fixed

      • Fix bug in test_model_UpperBoundAlreadySet
      • Fix bug in test_infeasible_ tests
      • Fix bug in test_objective_ObjectiveFunction_blank
      • Relax restriction of MOI.AbstractOptimizer to MOI.ModelLike in Utilities.CachingOptimizer and instantiate.

      New tests

      • Add test_conic_empty_matrix that checks conic solvers support problems with no variables.

      v1.1.0 (March 2, 2022)

      Added

      • Added MOI.Utilities.throw_unsupported(::UniversalFallback) for simplifying solver wrappers which copy from a UniversalFallback.

      v1.0.2 (March 1, 2022)

      Fixed

      • Fixed a bug in the test_model_ScalarFunctionConstantNotZero test
      • Fixed the error type when an AbstractFunctionConversionBridge cannot get or set an attribute
      • Identified a correctness bug in RSOCtoPSDBridge. We now thrown an error instead of returning an incorrect result.

      v1.0.1 (February 25, 2022)

      Fixed

      • Fixed a bug in which OptimizerAttributes were not copied in CachingOptimizer
      • Fixed a bug in which shift_constant did not promote mixed types of coefficients
      • Fixed a bug in which deleting a constraint of a bridged variable threw ErrorException instead of MOI.DeleteNotAllowed
      • Fixed a bug in which add_constraint in MatrixOfConstraints did not canonicalize the function
      • Fixed a bug when modifying scalar constants of a function containing a bridged variable
      • Fixed a bug in which final_touch was not always called with a CachingOptimizer

      v1.0.0 (February 17, 2022)

      Although tagged as a breaking release, v1.0.0 is v0.10.9 with deprecations removed, similar to how Julia 1.0 was Julia 0.7 with deprecations removed.

      Breaking

      • Julia 1.6 is now the minimum supported version
      • All deprecations have been removed

      Troubleshooting problems when updating

      If you experience problems when updating, you are likely using previously deprecated features. (By default, Julia does not warn when you use deprecated features.)

      To find the deprecated features you are using, start Julia with --depwarn=yes:

      $ julia --depwarn=yes

      Then install MathOptInterface v0.10.9:

      julia> using Pkg
       julia> pkg"add MathOptInterface@0.10"

      And then run your code. Apply any suggestions, or search the release notes below for advice on updating a specific deprecated feature.

      v0.10.9 (February 16, 2022)

      Added

      • Added MOI.Utilities.FreeVariables as a new VariablesConstrainer for conic solvers
      • Added MOI.default_cache for specifying the model used in CachingOptimizer

      Fixed

      • Fixed LaTeX printing of MOI.Interval sets

      Other

      • Added Aqua.jl as a CI check, and fixed suggested issues
      • The constructors of GeoMeanBridge, StructOfConstraints, and CachingOptimizer were changed from outer to inner constructors. This change is technically breaking, but does not impact users who followed the documented API.

      v0.10.8 (February 3, 2022)

      Added

      • Added a Base.read! for FileFormats.LP.

      Fixed

      • Fixed a bug in MutableSparseMatrix
      • Fixed a bug when calling operate!(vcat, ...) with Number arguments
      • Removed unintended export of deprecated symbols
      • Fixed a bug with PowerCone and DualPowerCone in MatrixOfConstraints.

      v0.10.7 (January 5, 2022)

      Added

      • Added test for modifying the constant vector in a VectorAffineFunction-in-Zeros constraint.

      Fixed

      • Fixed the order in which sets are added to a LazyBridgeOptimizer. Compared to v0.10.6, this may result in bridged models being created with a different number (and order) of variables and constraints. However, it was necessary to fix cases which were previously rejected as unsupported, even though there was a valid bridge transformation.
      • Fixed an error message in FileFormats.CBF
      • Fixed comparison in test_linear_integration_Interval
      • Fixed errors for ConstraintPrimal in a CachingOptimizer
      • Fixed printing of models with non-Float64 coefficients.

      Other

      • Various improvements to reduce time-to-first-solve latency
      • Improved error message when an optimizer does not support compute_conflict!

      v0.10.6 (November 30, 2021)

      Added

      • Added new documentation and tests for infeasibility certificates
      • Added a version control system for the tests in MOI.Test.runtests. Pass exclude_tests_after = v"0.10.5" to run tests added in v0.10.5 and earlier.
      • MOI.Test.runtests now supports generic number types. To specify the number type T, pass MOI.Test.Config(T).
      • Added infeasible_status to MOI.Test.Config for solvers which return LOCALLY_INFEASIBLE
      • CachingOptimizers now use a fallback for ConstraintPrimal. This should enable solvers using a CachingOptimizer to pass tests requiring ConstraintPrimal.

      Fixed

      • Fixed a StackOverflow bug in copy_to
      • Fixed error thrown when nonconvex quadratic constraints cannot be bridged
      • Fixed a bug in copy_to for FileFormats.NL.Model
      • Fixed a bug in FileFormats.NL when printing large integers
      • Remove a common test failure for LowerBoundAlreadySet tests
      • Utilities.num_rows is now exported
      • Remove parts of failing test_model_copy_to_xxx tests due to bridges

      v0.10.5 (November 7, 2021)

      Fixed

      • Fixed getter in UniversalFallback
      • Fixed test_solve_conflict_zeroone_ii

      Other

      • Make normalize_and_add_constraint more flexible
      • Update paper BibTeX

      v0.10.4 (October 26, 2021)

      Added

      • Add SolverVersion attribute
      • Add new tests:
        • test_solve_conflict_zeroone_ii
        • test_nonlinear_objective
      • Utilities.VariablesContainer now supports ConstraintFunction and ConstraintSet
      • The documentation is now available as a PDF

      Other

      • Update to MutableArithmetics 0.3
      • Various improvements to the documentation

      v0.10.3 (September 18, 2021)

      Fixed

      • Fixed bug which prevented callbacks from working through a CachingOptimizer
      • Fixed bug in Test submodule

      v0.10.2 (September 16, 2021)

      • Updated MathOptFormat to v1.0
      • Updated JSONSchema to v1.0
      • Added Utilities.set_with_dimension
      • Added two-argument optimize!(::AbstractOptimizer, ::ModelLike)
      • The experimental feature copy_to_and_optimize! has been removed
      • Det bridges now support getting ConstraintFunction and ConstraintSet
      • Various minor bug fixes identified by improved testing

      v0.10.1 (September 8, 2021)

      • Various fixes to MOI.Test

      v0.10.0 (September 6, 2021)

      MOI v0.10 is a significant breaking release. There are a large number of user-visible breaking changes and code refactors, as well as a substantial number of new features.

      Breaking in MOI

      • SingleVariable has been removed; use VariableIndex instead
      • SingleVariableConstraintNameError has been renamed to VariableIndexConstraintNameError
      • SettingSingleVariableFunctionNotAllowed has been renamed to SettingVariableIndexFunctionNotAllowed
      • VariableIndex constraints should not support ConstraintName
      • VariableIndex constraints should not support ConstraintBasisStatus; implement VariableBasisStatus instead
      • ListOfConstraints has been renamed to ListOfConstraintTypesPresent
      • ListOfConstraintTypesPresent should now return Tuple{Type,Type} instead of Tuple{DataType,DataType}
      • SolveTime has been renamed to SolveTimeSec
      • IndicatorSet has been renamed to Indicator
      • RawParameter has been renamed to RawOptimizerAttribute and now takes String instead of Any as the only argument
      • The .N field in result attributes has been renamed to .result_index
      • The .variable_index field in ScalarAffineTerm has been renamed to .variable
      • The .variable_index_1 field in ScalarQuadraticTerm has been renamed to .variable_1
      • The .variable_index_2 field in ScalarQuadraticTerm has been renamed to .variable_2
      • The order of affine_terms and quadratic_terms in ScalarQuadraticFunction and VectorQuadraticFunction have been reversed. Both functions now accept quadratic, affine, and constant terms in that order.
      • The index_value function has been removed. Use .value instead.
      • isapprox has been removed for SOS1 and SOS2.
      • The dimension argument to Complements(dimension::Int) should now be the length of the corresponding function, instead of half the length. An ArgumentError is thrown if dimension is not even.
      • copy_to no longer takes keyword arguments:
        • copy_names: now copy names if they are supported by the destination solver
        • filter_constraints: use Utilities.ModelFilter instead
        • warn_attributes: never warn about optimizer attributes

      Breaking in Bridges

      • Constraint.RSOCBridge has been renamed to Constraint.RSOCtoSOCBridge
      • Constraint.SOCRBridge has been renamed to Constraint.SOCtoRSOCBridge
      • Bridges now return vectors that can be modified by the user. Previously, some bridges returned views instead of copies.
      • Bridges.IndexInVector has been unified into a single type. Previously, there was a different type for each submodule within Bridges
      • The signature of indicator bridges has been fixed. Use MOI.Bridges.Constraint.IndicatortoSOS1{Float64}(model).

      Breaking in FileFormats

      • FileFormats.MOF.Model no longer accepts validate argument. Use the JSONSchema package to validate the MOF file. See the documentation for more information.

      Breaking in Utilities

      • The datastructure of Utilities.Model (and models created with Utilities.@model) has been significantly refactored in a breaking way. This includes the way that objective functions and variable-related information is stored.
      • Utilities.supports_default_copy has been renamed to supports_incremental_interface
      • Utilities.automatic_copy_to has been renamed to Utilities.default_copy_to
      • The allocate-load API has been removed
      • CachingOptimizers are now initialized as EMPTY_OPTIMIZER instead of ATTACHED_OPTIMIZER. If your code relies on the optimizer being attached, call MOIU.attach_optimizer(model) after creation.
      • The field names of Utilities.IndexMap have been renamed to var_map and con_map. Accessing these fields directly is considered a private detail that may change. Use the public getindex and setindex! API instead.
      • The size argument to Utilities.CleverDicts.CleverDict(::Integer) has been removed.
      • The size argument to Utilities.IndexMap(::Integer) has been removed.
      • Utilities.DoubleDicts have been significantly refactored. Consult the source code for details.
      • Utilities.test_models_equal has been moved to MOI.Test

      Breaking in Test

      • MOI.Test has been renamed to MOI.DeprecatedTest
      • An entirely new MOI.Test submodule has been written. See the documentation for details. The new MOI.Test submodule may find many bugs in the implementations of existing solvers that were previously untested.

      Other changes:

      • attribute_value_type has been added
      • copy_to_and_optimize! has been added
      • VariableBasisStatus has been added
      • print(model) now prints a human-readable description of the model
      • Various improvements to the FileFormats submodule
        • FileFormats.CBF was refactored and received bugfixes
        • Support for MathOptFormat v0.6 was added in FileFormats.MOF
        • FileFormats.MPS has had bugfixes and support for more features such as OBJSENSE and objective constants.
        • FileFormats.NL has been added to support nonlinear files
      • Improved type inference throughout to reduce latency

      Updating

      A helpful script when updating is:

      for (root, dirs, files) in walkdir(".")
           for file in files
               if !endswith(file, ".jl")
      @@ -31,4 +31,4 @@
               end
               write(path, s)
           end
      -end

      v0.9.22 (May 22, 2021)

      This release contains backports from the ongoing development of the v0.10 release.

      • Improved type inference in Utilities, Bridges and FileFormats submodules to reduce latency.
      • Improved performance of Utilities.is_canonical.
      • Fixed Utilities.pass_nonvariable_constraints with bridged variables.
      • Fixed performance regression of Utilities.Model.
      • Fixed ordering of objective setting in parser.

      v0.9.21 (April 23, 2021)

      • Added supports_shift_constant.
      • Improve performance of bridging quadratic constraints.
      • Add precompilation statements.
      • Large improvements to the documentation.
      • Fix a variety of inference issues, benefiting precompilation and reducing initial latency.
      • RawParameters are now ignored when resetting a CachingOptimizer. Previously, changing the underlying optimizer after RawParameters were set would throw an error.
      • Utilities.AbstractModel is being refactored. This may break users interacting with private fields of a model generated using @model.

      v0.9.20 (February 20, 2021)

      • Improved performance of Utilities.ScalarFunctionIterator
      • Added support for compute_conflict to MOI layers
      • Added test with zero off-diagonal quadratic term in objective
      • Fixed double deletion of nested bridged SingleVariable/VectorOfVariables constraints
      • Fixed modification of un-set objective
      • Fixed function modification with duplicate terms
      • Made unit tests abort without failing if the problem class is not supported
      • Formatted code with JuliaFormatter
      • Clarified BasisStatusCode's docstring

      v0.9.19 (December 1, 2020)

      • Added CallbackNodeStatus attribute
      • Added bridge from GreaterThan or LessThan to Interval
      • Added tests for infeasibility certificates and double optimize
      • Fixed support for Julia v1.6
      • Re-organized MOI docs and added documentation for adding a test

      v0.9.18 (November 3, 2020)

      • Various improvements for working with complex numbers
      • Added GeoMeantoRelEntrBridge to bridge a GeometricMeanCone constraint to a relative entropy constraint

      v0.9.17 (September 21, 2020)

      • Fixed CleverDict with variable of negative index value
      • Implement supports_add_constrained_variable for MockOptimizer

      v0.9.16 (September 17, 2020)

      • Various fixes:
        • 32-bit support
        • CleverDict with abstract value type
        • Checks in test suite

      v0.9.15 (September 14, 2020)

      • Bridges improvements:
        • (R)SOCtoNonConvexQuad bridge
        • ZeroOne bridge
        • Use supports_add_constrained_variable in LazyBridgeOptimizer
        • Exposed VariableBridgeCost and ConstraintBridgeCost attributes
        • Prioritize constraining variables on creation according to these costs
        • Refactor bridge debugging
      • Large performance improvements across all submodules
      • Lots of documentation improvements
      • FileFormats improvements:
        • Update MathOptFormat to v0.5
        • Fix supported objectives in FileFormats
      • Testing improvements:
        • Add name option for basic_constraint_test
      • Bug fixes and missing methods
        • Add length for iterators
        • Fix bug with duplicate terms
        • Fix order of LinearOfConstraintIndices

      v0.9.14 (May 30, 2020)

      • Add a solver-independent interface for accessing the set of conflicting constraints an Irreducible Inconsistent Subsystem (#1056).
      • Bump JSONSchema dependency from v0.2 to v0.3 (#1090).
      • Documentation improvements:
        • Fix typos (#1054, #1060, #1061, #1064, #1069, #1070).
        • Remove the outdated recommendation for a package implementing MOI for a solver XXX to be called MathOptInterfaceXXX (#1087).
      • Utilities improvements:
        • Fix is_canonical for quadratic functions (#1081, #1089).
        • Implement add_constrained_variable[s] for CachingOptimizer so that it is added as constrained variables to the underlying optimizer (#1084).
        • Add support for custom objective functions for UniversalFallback (#1086).
        • Deterministic ordering of constraints in UniversalFallback (#1088).
      • Testing improvements:
        • Add NormOneCone/NormInfinityCone tests (#1045).
      • Bridges improvements:
        • Add bridges from Semiinteger and Semicontinuous (#1059).
        • Implement getting ConstraintSet for Variable.FlipSignBridge (#1066).
        • Fix setting ConstraintFunction for Constraint.ScalarizeBridge (#1093).
        • Fix NormOne/NormInf bridges with nonzero constants (#1045).
        • Fix StackOverflow in debug (#1063).
      • FileFormats improvements:
        • [SDPA] Implement the extension for integer variables (#1079).
        • [SDPA] Ignore comments after m and nblocks and detect dat-s extension (#1077).
        • [SDPA] No scaling of off-diagonal coefficient (#1076).
        • [SDPA] Add missing negation of constant (#1075).

      v0.9.13 (March 24, 2020)

      • Added tests for Semicontinuous and Semiinteger variables (#1033).
      • Added tests for using ExprGraphs from NLP evaluators (#1043).
      • Update version compatibilities of dependencies (#1034, #1051, #1052).
      • Fixed typos in documentation (#1044).

      v0.9.12 (February 28, 2020)

      • Fixed writing NLPBlock in MathOptFormat (#1037).
      • Fixed MockOptimizer for result attributes with non-one result index (#1039).
      • Updated test template with instantiate (#1032).

      v0.9.11 (February 21, 2020)

      • Add an option for the model created by Utilities.@model to be a subtype of AbstractOptimizer (#1031).
      • Described dual cone in docstrings of GeoMeanCone and RelativeEntropyCone (#1018, #1028).
      • Fixed typos in documentation (#1022, #1024).
      • Fixed warning of unsupported attribute (#1027).
      • Added more rootdet/logdet conic tests (#1026).
      • Implemented ConstraintDual for Constraint.GeoMeanBridge, Constraint.RootDetBridge and Constraint.LogDetBridge and test duals in tests with GeoMeanCone and RootDetConeTriangle and LogDetConeTriangle cones (#1025, #1026).

      v0.9.10 (January 31, 2020)

      • Added OptimizerWithAttributes grouping an optimizer constructor and a list of optimizer attributes (#1008).
      • Added RelativeEntropyCone with corresponding bridge into exponential cone constraints (#993).
      • Added NormSpectralCone and NormNuclearCone with corresponding bridges into positive semidefinite constraints (#976).
      • Added supports_constrained_variable(s) (#1004).
      • Added dual_set_type (#1002).
      • Added tests for vector specialized version of delete (#989, #1011).
      • Added PSD3 test (#1007).
      • Clarified dual solution of Tests.pow1v and Tests.pow1f (#1013).
      • Added support for EqualTo and Zero in Bridges.Constraint.SplitIntervalBridge (#1005).
      • Fixed Utilities.vectorize for empty vector (#1003).
      • Fixed free variables in LP writer (#1006).

      v0.9.9 (December 29, 2019)

      • Incorporated MathOptFormat.jl as the FileFormats submodule. FileFormats provides readers and writers for a number of standard file formats and MOF, a file format specialized for MOI (#969).
      • Improved performance of deletion of vector of variables in MOI.Utilities.Model (#983).
      • Updated to MutableArithmetics v0.2 (#981).
      • Added MutableArithmetics.promote_operation allocation tests (#975).
      • Fixed inference issue on Julia v1.1 (#982).

      v0.9.8 (December 19, 2019)

      • Implemented MutableArithmetics API (#924).
      • Fixed callbacks with CachingOptimizer (#959).
      • Fixed MOI.dimension for MOI.Complements (#948).
      • Added fallback for add_variables (#972).
      • Added is_diagonal_vectorized_index utility (#965).
      • Improved linear constraints display in manual (#963, #964).
      • Bridges improvements:
        • Added IndicatorSet to SOS1 bridge (#877).
        • Added support for starting values for Variable.VectorizeBridge (#944).
        • Fixed MOI.add_constraints with non-bridged variable constraint on bridged variable (#951).
        • Fixed corner cases and docstring of GeoMeanBridge (#961, #962, #966).
        • Fixed choice between variable or constraint bridges for constrained variables (#973).
        • Improve performance of bridge shortest path (#945, #946, #956).
        • Added docstring for test_delete_bridge (#954).
        • Added Variable bridge tests (#952).

      v0.9.7 (October 30, 2019)

      • Implemented _result_index_field for NLPBlockDual (#934).
      • Fixed copy of model with starting values for vector constraints (#941).
      • Bridges improvements:
        • Improved performance of add_bridge and added has_bridge (#935).
        • Added AbstractSetMapBridge for bridges between sets S1, S2 such that there is a linear map A such that A*S1 = S2 (#933).
        • Added support for starting values for FlipSignBridge, VectorizeBridge, ScalarizeBridge, SlackBridge, SplitIntervalBridge, RSOCBridge, SOCRBridge NormInfinityBridge, SOCtoPSDBridge and RSOCtoPSDBridge (#933, #936, #937, #938, #939).

      v0.9.6 (October 25, 2019)

      • Added complementarity constraints (#913).
      • Allowed ModelLike objects as value of attributes (#928).
      • Testing improvements:
        • Added dual_objective_value option to MOI.Test.TestConfig (#922).
        • Added InvalidIndex tests in basic_constraint_tests (#921).
        • Added tests for the constant term in indicator constraint (#929).
      • Bridges improvements:
        • Added support for starting values for Functionize bridges (#923).
        • Added variable indices context to variable bridges (#920).
        • Fixed a typo in printing o debug_supports (#927).

      v0.9.5 (October 9, 2019)

      • Clarified PrimalStatus/DualStatus to be NO_SOLUTION if result_index is out of bounds (#912).
      • Added tolerance for checks and use ResultCount + 1 for the result_index in MOI.Test.solve_result_status (#910, #917).
      • Use 0.5 instead of 2.0 for power in PowerCone in basic_constraint_test (#916).
      • Bridges improvements:
        • Added debug utilities for unsupported variable/constraint/objective (#861).
        • Fixed deletion of variables in bridged VectorOfVariables constraints (#909).
        • Fixed result_index with objective bridges (#911).

      v0.9.4 (October 2, 2019)

      • Added solver-independent MIP callbacks (#782).
      • Implements submit for Utilities.CachingOptimizer and Bridges.AbstractBridgeOptimizer (#906).
      • Added tests for result count of solution attributes (#901, #904).
      • Added NumberOfThreads attribute (#892).
      • Added Utilities.get_bounds to get the bounds on a variable (#890).
      • Added a note on duplicate coefficients in documentation (#581).
      • Added result index in ConstraintBasisStatus (#898).
      • Added extension dictionary to Utilities.Model (#884, #895).
      • Fixed deletion of constrained variables for CachingOptimizer (#905).
      • Implemented Utilities.shift_constraint for Test.UnknownScalarSet (#896).
      • Bridges improvements:
        • Added Variable.RSOCtoSOCBridge (#907).
        • Implemented MOI.get for ConstraintFunction/ConstraintSet for Bridges.Constraint.SquareBridge (#899).

      v0.9.3 (September 20, 2019)

      • Fixed ambiguity detected in Julia v1.3 (#891, #893).
      • Fixed missing sets from ListOfSupportedConstraints (#880).
      • Fixed copy of VectorOfVariables constraints with duplicate indices (#886).
      • Added extension dictionary to MOIU.Model (#884).
      • Implemented MOI.get for function and set for GeoMeanBridge (#888).
      • Updated documentation for SingleVariable indices and bridges (#885).
      • Testing improvements:
        • Added more comprehensive tests for names (#882).
        • Added tests for SingleVariable duals (#883).
        • Added tests for DualExponentialCone and DualPowerCone (#873).
      • Improvements for arbitrary coefficient type:
        • Fixed == for sets with mutable fields (#887).
        • Removed some Float64 assumptions in bridges (#878).
        • Automatic selection of Constraint.[Scalar|Vector]FunctionizeBridge (#889).

      v0.9.2 (September 5, 2019)

      • Implemented model printing for MOI.ModelLike and specialized it for models defined in MOI (864).
      • Generalized contlinear tests for arbitrary coefficient type (#855).
      • Fixed supports_constraint for Semiinteger and Semicontinuous and supports for ObjectiveFunction (#859).
      • Fixed Allocate-Load copy for single variable constraints (#856).
      • Bridges improvements:
        • Add objective bridges (#789).
        • Fixed Variable.RSOCtoPSDBridge for dimension 2 (#869).
        • Added Variable.SOCtoRSOCBridge (#865).
        • Added Constraint.SOCRBridge and disable MOI.Bridges.Constraint.SOCtoPSDBridge (#751).
        • Fixed added_constraint_types for Contraint.LogDetBridge and Constraint.RootDetBridge (#870).

      v0.9.1 (August 22, 2019)

      • Fix support for Julia v1.2 (#834).
      • L1 and L∞ norm epigraph cones and corresponding bridges to LP were added (#818).
      • Added tests to MOI.Test.nametest (#833).
      • Fix MOI.Test.soc3test for solvers not supporting infeasibility certificates (#839).
      • Implements operate for operators * and / between vector function and constant (#837).
      • Implements show for MOI.Utilities.IndexMap (#847).
      • Fix corner cases for mapping of variables in MOI.Utilities.CachingOptimizer and substitution of variables in MOI.Bridges.AbstractBridgeOptimizer (#848).
      • Fix transformation of constant terms for MOI.Bridges.Constraint.SOCtoPSDBridge and MOI.Bridges.Constraint.RSOCtoPSDBridge (#840).

      v0.9.0 (August 13, 2019)

      • Support for Julia v0.6 and v0.7 was dropped (#714, #717).
      • A MOI.Utilities.Model implementation of ModelLike, this should replace most use cases of MOI.Utilities.@model (#781).
      • add_constrained_variable and add_constrained_variables were added (#759).
      • Support for indicator constraints was added (#709, #712).
      • DualObjectiveValue attribute was added (#473).
      • RawParameter attribute was added (#733).
      • A dual_set function was added (#804).
      • A Benchmarks submodule was added to facilitate solver benchmarking (#769).
      • A submit function was added, this may for instance allow the user to submit solutions or cuts to the solver from a callback (#775).
      • The field of ObjectiveValue was renamed to result_index (#729).
      • The _constant and Utilities.getconstant function were renamed to constant
      • REDUCTION_CERTIFICATE result status was added (#734).
      • Abstract matrix sets were added (#731).
      • Testing improvements:
        • The testing guideline was updated (#728).
        • Quadratic tests were added (#697).
        • Unit tests for RawStatusString, SolveTime, Silent and SolverName were added (#726, #741).
        • A rotated second-order cone test was added (#759).
        • A power cone test was added (#768).
        • Tests for ZeroOne variables with variable bounds were added (#772).
        • An unbounded test was added (#773).
        • Existing tests had a few updates (#702, #703, #763).
      • Documentation improvements:
        • Added a section on CachingOptimizer (#777).
        • Added a section on UniversalFallback, Model and @model (#762).
        • Transition the knapsack example to a doctest with MockOptimizer (#786).
      • Utilities improvements:
        • A CleverDict utility was added for a vector that automatically transform into a dictionary once a first index is removed (#767).
        • The Utilities.constant function was renamed to Utilities.constant_vector (#740).
        • Implement optimizer attributes for CachingOptimizer (#745).
        • Rename Utilities.add_scalar_constraint to Utilities.normalize_and_add_constraint (#801).
        • operate with vcat, SingleVariable and VectorOfVariables now returns a VectorOfVariables (#616).
        • Fix a type piracy of operate (#784).
        • The load_constraint fallback signature was fixed (#760).
        • The set_dot function was extended to work with sparse arrays (#805).
      • Bridges improvements:
        • The bridges no longer store the constraint function and set before it is bridged, the bridges now have to implement ConstraintFunction and ConstraintSet if the user wants to recover them. As a consequence, the @bridge macro was removed (#722).
        • Bridge are now instantiated with a bridge_constraint function instead of using a constructor (#730).
        • Fix constraint attributes for bridges (#699).
        • Constraint bridges were moved to the Bridges/Constraint submodule so they should now inherit from MOI.Bridges.Constraint.Abstract and should implement MOI.Bridges.Constraint.concrete_bridge_type instead of MOI.Bridges.concrete_bridge_type (#756).
        • Variable bridges were added in (#759).
        • Various improvements (#746, #747).

      v0.8.4 (March 13, 2019)

      • Performance improvement in default_copy_to and bridge optimizer (#696).
      • Add Silent and implement setting optimizer attributes in caching and mock optimizers (#695).
      • Add Functionize bridges (SingleVariable and VectorOfVariables) (#659).
      • Minor typo fixes (#694).

      v0.8.3 (March 6, 2019)

      • Use zero constant in scalar constraint function of MOI.Test.copytest (#691).
      • Fix variable deletion with SingleVariable objective function (#690).
      • Fix LazyBridgeOptimizer with bridges that add no constraints (#689).
      • Error message improvements (#673, #685, #686, #688).
      • Documentation improvements (#682, #683, #687).
      • Basis status:
        • Remove VariableBasisStatus (#679).
        • Test ConstraintBasisStatus and implement it in bridges (#678).
      • Fix inference of NumberOfVariables and NumberOfConstraints (#677).
      • Implement division between a quadratic function and a number (#675).

      v0.8.2 (February 7, 2019)

      • Add RawStatusString attribute (#629).
      • Do not set names to the optimizer but only to the cache in CachingOptimizer (#638).
      • Make scalar MOI functions act as scalars in broadcast (#646).
      • Add function utilities:
        • Implement Base.zero (#634), Base.iszero (#643), add missing arithmetic operations (#644, #645) and fix division (#648).
        • Add a vectorize function that turns a vector of ScalarAffineFunction into a VectorAffineFunction (#642).
      • Improve support for starting values:
        • Show a warning in copy when starting values are not supported instead of throwing an error (#630).
        • Fix UniversalFallback for getting an variable or constraint attribute set to no indices (#623).
        • Add a test in contlineartest with partially set VariablePrimalStart.
      • Bridges improvements:
        • Fix StackOverFlow in LazyBridgeOptimizer when there is a cycle in the graph of bridges.
        • Add Slack bridges (#610, #650).
        • Add FlipSign bridges (#658).
      • Add tests with duplicate coefficients in ScalarAffineFunction and VectorAffineFunction (#639).
      • Use tolerance to compare VariablePrimal in rotatedsoc1 test (#632).
      • Use a zero constant in ScalarAffineFunction of constraints in psdt2 (#622).

      v0.8.1 (January 7, 2019)

      • Adding an NLP objective now overrides any objective set using the ObjectiveFunction attribute (#619).
      • Rename fullbridgeoptimizer into full_bridge_optimizer (#621).
      • Allow custom constraint types with full_bridge_optimizer (#617).
      • Add Vectorize bridge which transforms scalar linear constraints into vector linear constraints (#615).

      v0.8.0 (December 18, 2018)

      • Rename all enum values to follow the JuMP naming guidelines for constants, for example, Optimal becomes OPTIMAL, and DualInfeasible becomes DUAL_INFEASIBLE.
      • Rename CachingOptimizer methods for style compliance.
      • Add an MOI.TerminationStatusCode called ALMOST_DUAL_INFEASIBLE.

      v0.7.0 (December 13, 2018)

      • Test that MOI.TerminationStatus is MOI.OptimizeNotCalled before MOI.optimize! is called.
      • Check supports_default_copy_to in tests (#594).
      • Key pieces of information like optimality, infeasibility, etc., are now reported through TerminationStatusCode. It is typically no longer necessary to check the result statuses in addition to the termination status.
      • Add perspective dimension to log-det cone (#593).

      v0.6.4 (November 27, 2018)

      • Add OptimizeNotCalled termination status (#577) and improve documentation of other statuses (#575).
      • Add a solver naming guideline (#578).
      • Make FeasibilitySense the default ObjectiveSense (#579).
      • Fix Utilities.@model and Bridges.@bridge macros for functions and sets defined outside MOI (#582).
      • Document solver-specific attributes (#580) and implement them in Utilities.CachingOptimizer (#565).

      v0.6.3 (November 16, 2018)

      • Variables and constraints are now allowed to have duplicate names. An error is thrown only on lookup. This change breaks some existing tests. (#549)
      • Attributes may now be partially set (some values could be nothing). (#563)
      • Performance improvements in Utilities.Model (#549, #567, #568)
      • Fix bug in QuadtoSOC (#558).
      • New supports_default_copy_to method that optimizers should implement to control caching behavior.
      • Documentation improvements.

      v0.6.2 (October 26, 2018)

      • Improve hygiene of @model macro (#544).
      • Fix bug in copy tests (#543).
      • Fix bug in UniversalFallback attribute getter (#540).
      • Allow all correct solutions for solve_blank_obj unit test (#537).
      • Add errors for Allocate-Load and bad constraints (#534).
      • [performance] Add specialized implementation of hash for VariableIndex (#533).
      • [performance] Construct the name to object dictionaries lazily in model (#535).
      • Add the QuadtoSOC bridge which transforms ScalarQuadraticFunction constraints into RotatedSecondOrderCone (#483).

      v0.6.1 (September 22, 2018)

      • Enable PositiveSemidefiniteConeSquare set and quadratic functions in MOIB.fullbridgeoptimizer (#524).
      • Add warning in the bridge between PositiveSemidefiniteConeSquare and PositiveSemidefiniteConeTriangle when the matrix is almost symmetric (#522).
      • Modify MOIT.copytest to not add multiples constraints on the same variable (#521).
      • Add missing keyword argument in one of MOIU.add_scalar_constraint methods (#520).

      v0.6.0 (August 30, 2018)

      • The MOIU.@model and MOIB.@bridge macros now support functions and sets defined in external modules. As a consequence, function and set names in the macro arguments need to be prefixed by module name.
      • Rename functions according to the JuMP style guide:
        • copy! with keyword arguments copynames and warnattributes -> copy_to with keyword arguments copy_names and warn_attributes;
        • set! -> set;
        • addvariable[s]! -> add_variable[s];
        • supportsconstraint -> supports_constraint;
        • addconstraint[s]! -> add_constraint[s];
        • isvalid -> is_valid;
        • isempty -> is_empty;
        • Base.delete! -> delete;
        • modify! -> modify;
        • transform! -> transform;
        • initialize! -> initialize;
        • write -> write_to_file; and
        • read! -> read_from_file.
      • Remove free! (use Base.finalize instead).
      • Add the SquarePSD bridge which transforms PositiveSemidefiniteConeTriangle constraints into PositiveSemidefiniteConeTriangle.
      • Add result fallback for ConstraintDual of variable-wise constraint, ConstraintPrimal and ObjectiveValue.
      • Add tests for ObjectiveBound.
      • Add test for empty rows in vector linear constraint.
      • Rework errors: CannotError has been renamed NotAllowedError and the distinction between UnsupportedError and NotAllowedError is now about whether the element is not supported (for example, it cannot be copied a model containing this element) or the operation is not allowed (either because it is not implemented, because it cannot be performed in the current state of the model, or because it cannot be performed for a specific index)
      • canget is removed. NoSolution is added as a result status to indicate that the solver does not have either a primal or dual solution available (See #479).

      v0.5.0 (August 5, 2018)

      • Fix names with CachingOptimizer.
      • Cleanup thanks to @mohamed82008.
      • Added a universal fallback for constraints.
      • Fast utilities for function canonicalization thanks to @rdeits.
      • Renamed dimension field to side_dimension in the context of matrix-like sets.
      • New and improved tests for cases like duplicate terms and ObjectiveBound.
      • Removed cantransform, canaddconstraint, canaddvariable, canset, canmodify, and candelete functions from the API. They are replaced by a new set of errors that are thrown: Subtypes of UnsupportedError indicate unsupported operations, while subtypes of CannotError indicate operations that cannot be performed in the current state.
      • The API for copy! is updated to remove the CopyResult type.
      • Updates for the new JuMP style guide.

      v0.4.1 (June 28, 2018)

      • Fixes vector function modification on 32 bits.
      • Fixes Bellman-Ford algorithm for bridges.
      • Added an NLP test with FeasibilitySense.
      • Update modification documentation.

      v0.4.0 (June 23, 2018)

      • Helper constructors for VectorAffineTerm and VectorQuadraticTerm.
      • Added modify_lhs to TestConfig.
      • Additional unit tests for optimizers.
      • Added a type parameter to CachingOptimizer for the optimizer field.
      • New API for problem modification (#388)
      • Tests pass without deprecation warnings on Julia 0.7.
      • Small fixes and documentation updates.

      v0.3.0 (May 25, 2018)

      • Functions have been redefined to use arrays-of-structs instead of structs-of-arrays.
      • Improvements to MockOptimizer.
      • Significant changes to Bridges.
      • New and improved unit tests.
      • Fixes for Julia 0.7.

      v0.2.0 (April 24, 2018)

      • Improvements to and better coverage of Tests.
      • Documentation fixes.
      • SolverName attribute.
      • Changes to the NLP interface (new definition of variable order and arrays of structs for bound pairs and sparsity patterns).
      • Addition of NLP tests.
      • Introduction of UniversalFallback.
      • copynames keyword argument to MOI.copy!.
      • Add Bridges submodule.

      v0.1.0 (February 28, 2018)

      • Initial public release.
      • The framework for MOI was developed at the JuMP-dev workshop at MIT in June 2017 as a sorely needed replacement for MathProgBase.
      +end

      v0.9.22 (May 22, 2021)

      This release contains backports from the ongoing development of the v0.10 release.

      • Improved type inference in Utilities, Bridges and FileFormats submodules to reduce latency.
      • Improved performance of Utilities.is_canonical.
      • Fixed Utilities.pass_nonvariable_constraints with bridged variables.
      • Fixed performance regression of Utilities.Model.
      • Fixed ordering of objective setting in parser.

      v0.9.21 (April 23, 2021)

      • Added supports_shift_constant.
      • Improve performance of bridging quadratic constraints.
      • Add precompilation statements.
      • Large improvements to the documentation.
      • Fix a variety of inference issues, benefiting precompilation and reducing initial latency.
      • RawParameters are now ignored when resetting a CachingOptimizer. Previously, changing the underlying optimizer after RawParameters were set would throw an error.
      • Utilities.AbstractModel is being refactored. This may break users interacting with private fields of a model generated using @model.

      v0.9.20 (February 20, 2021)

      • Improved performance of Utilities.ScalarFunctionIterator
      • Added support for compute_conflict to MOI layers
      • Added test with zero off-diagonal quadratic term in objective
      • Fixed double deletion of nested bridged SingleVariable/VectorOfVariables constraints
      • Fixed modification of un-set objective
      • Fixed function modification with duplicate terms
      • Made unit tests abort without failing if the problem class is not supported
      • Formatted code with JuliaFormatter
      • Clarified BasisStatusCode's docstring

      v0.9.19 (December 1, 2020)

      • Added CallbackNodeStatus attribute
      • Added bridge from GreaterThan or LessThan to Interval
      • Added tests for infeasibility certificates and double optimize
      • Fixed support for Julia v1.6
      • Re-organized MOI docs and added documentation for adding a test

      v0.9.18 (November 3, 2020)

      • Various improvements for working with complex numbers
      • Added GeoMeantoRelEntrBridge to bridge a GeometricMeanCone constraint to a relative entropy constraint

      v0.9.17 (September 21, 2020)

      • Fixed CleverDict with variable of negative index value
      • Implement supports_add_constrained_variable for MockOptimizer

      v0.9.16 (September 17, 2020)

      • Various fixes:
        • 32-bit support
        • CleverDict with abstract value type
        • Checks in test suite

      v0.9.15 (September 14, 2020)

      • Bridges improvements:
        • (R)SOCtoNonConvexQuad bridge
        • ZeroOne bridge
        • Use supports_add_constrained_variable in LazyBridgeOptimizer
        • Exposed VariableBridgeCost and ConstraintBridgeCost attributes
        • Prioritize constraining variables on creation according to these costs
        • Refactor bridge debugging
      • Large performance improvements across all submodules
      • Lots of documentation improvements
      • FileFormats improvements:
        • Update MathOptFormat to v0.5
        • Fix supported objectives in FileFormats
      • Testing improvements:
        • Add name option for basic_constraint_test
      • Bug fixes and missing methods
        • Add length for iterators
        • Fix bug with duplicate terms
        • Fix order of LinearOfConstraintIndices

      v0.9.14 (May 30, 2020)

      • Add a solver-independent interface for accessing the set of conflicting constraints an Irreducible Inconsistent Subsystem (#1056).
      • Bump JSONSchema dependency from v0.2 to v0.3 (#1090).
      • Documentation improvements:
        • Fix typos (#1054, #1060, #1061, #1064, #1069, #1070).
        • Remove the outdated recommendation for a package implementing MOI for a solver XXX to be called MathOptInterfaceXXX (#1087).
      • Utilities improvements:
        • Fix is_canonical for quadratic functions (#1081, #1089).
        • Implement add_constrained_variable[s] for CachingOptimizer so that it is added as constrained variables to the underlying optimizer (#1084).
        • Add support for custom objective functions for UniversalFallback (#1086).
        • Deterministic ordering of constraints in UniversalFallback (#1088).
      • Testing improvements:
        • Add NormOneCone/NormInfinityCone tests (#1045).
      • Bridges improvements:
        • Add bridges from Semiinteger and Semicontinuous (#1059).
        • Implement getting ConstraintSet for Variable.FlipSignBridge (#1066).
        • Fix setting ConstraintFunction for Constraint.ScalarizeBridge (#1093).
        • Fix NormOne/NormInf bridges with nonzero constants (#1045).
        • Fix StackOverflow in debug (#1063).
      • FileFormats improvements:
        • [SDPA] Implement the extension for integer variables (#1079).
        • [SDPA] Ignore comments after m and nblocks and detect dat-s extension (#1077).
        • [SDPA] No scaling of off-diagonal coefficient (#1076).
        • [SDPA] Add missing negation of constant (#1075).

      v0.9.13 (March 24, 2020)

      • Added tests for Semicontinuous and Semiinteger variables (#1033).
      • Added tests for using ExprGraphs from NLP evaluators (#1043).
      • Update version compatibilities of dependencies (#1034, #1051, #1052).
      • Fixed typos in documentation (#1044).

      v0.9.12 (February 28, 2020)

      • Fixed writing NLPBlock in MathOptFormat (#1037).
      • Fixed MockOptimizer for result attributes with non-one result index (#1039).
      • Updated test template with instantiate (#1032).

      v0.9.11 (February 21, 2020)

      • Add an option for the model created by Utilities.@model to be a subtype of AbstractOptimizer (#1031).
      • Described dual cone in docstrings of GeoMeanCone and RelativeEntropyCone (#1018, #1028).
      • Fixed typos in documentation (#1022, #1024).
      • Fixed warning of unsupported attribute (#1027).
      • Added more rootdet/logdet conic tests (#1026).
      • Implemented ConstraintDual for Constraint.GeoMeanBridge, Constraint.RootDetBridge and Constraint.LogDetBridge and test duals in tests with GeoMeanCone and RootDetConeTriangle and LogDetConeTriangle cones (#1025, #1026).

      v0.9.10 (January 31, 2020)

      • Added OptimizerWithAttributes grouping an optimizer constructor and a list of optimizer attributes (#1008).
      • Added RelativeEntropyCone with corresponding bridge into exponential cone constraints (#993).
      • Added NormSpectralCone and NormNuclearCone with corresponding bridges into positive semidefinite constraints (#976).
      • Added supports_constrained_variable(s) (#1004).
      • Added dual_set_type (#1002).
      • Added tests for vector specialized version of delete (#989, #1011).
      • Added PSD3 test (#1007).
      • Clarified dual solution of Tests.pow1v and Tests.pow1f (#1013).
      • Added support for EqualTo and Zero in Bridges.Constraint.SplitIntervalBridge (#1005).
      • Fixed Utilities.vectorize for empty vector (#1003).
      • Fixed free variables in LP writer (#1006).

      v0.9.9 (December 29, 2019)

      • Incorporated MathOptFormat.jl as the FileFormats submodule. FileFormats provides readers and writers for a number of standard file formats and MOF, a file format specialized for MOI (#969).
      • Improved performance of deletion of vector of variables in MOI.Utilities.Model (#983).
      • Updated to MutableArithmetics v0.2 (#981).
      • Added MutableArithmetics.promote_operation allocation tests (#975).
      • Fixed inference issue on Julia v1.1 (#982).

      v0.9.8 (December 19, 2019)

      • Implemented MutableArithmetics API (#924).
      • Fixed callbacks with CachingOptimizer (#959).
      • Fixed MOI.dimension for MOI.Complements (#948).
      • Added fallback for add_variables (#972).
      • Added is_diagonal_vectorized_index utility (#965).
      • Improved linear constraints display in manual (#963, #964).
      • Bridges improvements:
        • Added IndicatorSet to SOS1 bridge (#877).
        • Added support for starting values for Variable.VectorizeBridge (#944).
        • Fixed MOI.add_constraints with non-bridged variable constraint on bridged variable (#951).
        • Fixed corner cases and docstring of GeoMeanBridge (#961, #962, #966).
        • Fixed choice between variable or constraint bridges for constrained variables (#973).
        • Improve performance of bridge shortest path (#945, #946, #956).
        • Added docstring for test_delete_bridge (#954).
        • Added Variable bridge tests (#952).

      v0.9.7 (October 30, 2019)

      • Implemented _result_index_field for NLPBlockDual (#934).
      • Fixed copy of model with starting values for vector constraints (#941).
      • Bridges improvements:
        • Improved performance of add_bridge and added has_bridge (#935).
        • Added AbstractSetMapBridge for bridges between sets S1, S2 such that there is a linear map A such that A*S1 = S2 (#933).
        • Added support for starting values for FlipSignBridge, VectorizeBridge, ScalarizeBridge, SlackBridge, SplitIntervalBridge, RSOCBridge, SOCRBridge NormInfinityBridge, SOCtoPSDBridge and RSOCtoPSDBridge (#933, #936, #937, #938, #939).

      v0.9.6 (October 25, 2019)

      • Added complementarity constraints (#913).
      • Allowed ModelLike objects as value of attributes (#928).
      • Testing improvements:
        • Added dual_objective_value option to MOI.Test.TestConfig (#922).
        • Added InvalidIndex tests in basic_constraint_tests (#921).
        • Added tests for the constant term in indicator constraint (#929).
      • Bridges improvements:
        • Added support for starting values for Functionize bridges (#923).
        • Added variable indices context to variable bridges (#920).
        • Fixed a typo in printing o debug_supports (#927).

      v0.9.5 (October 9, 2019)

      • Clarified PrimalStatus/DualStatus to be NO_SOLUTION if result_index is out of bounds (#912).
      • Added tolerance for checks and use ResultCount + 1 for the result_index in MOI.Test.solve_result_status (#910, #917).
      • Use 0.5 instead of 2.0 for power in PowerCone in basic_constraint_test (#916).
      • Bridges improvements:
        • Added debug utilities for unsupported variable/constraint/objective (#861).
        • Fixed deletion of variables in bridged VectorOfVariables constraints (#909).
        • Fixed result_index with objective bridges (#911).

      v0.9.4 (October 2, 2019)

      • Added solver-independent MIP callbacks (#782).
      • Implements submit for Utilities.CachingOptimizer and Bridges.AbstractBridgeOptimizer (#906).
      • Added tests for result count of solution attributes (#901, #904).
      • Added NumberOfThreads attribute (#892).
      • Added Utilities.get_bounds to get the bounds on a variable (#890).
      • Added a note on duplicate coefficients in documentation (#581).
      • Added result index in ConstraintBasisStatus (#898).
      • Added extension dictionary to Utilities.Model (#884, #895).
      • Fixed deletion of constrained variables for CachingOptimizer (#905).
      • Implemented Utilities.shift_constraint for Test.UnknownScalarSet (#896).
      • Bridges improvements:
        • Added Variable.RSOCtoSOCBridge (#907).
        • Implemented MOI.get for ConstraintFunction/ConstraintSet for Bridges.Constraint.SquareBridge (#899).

      v0.9.3 (September 20, 2019)

      • Fixed ambiguity detected in Julia v1.3 (#891, #893).
      • Fixed missing sets from ListOfSupportedConstraints (#880).
      • Fixed copy of VectorOfVariables constraints with duplicate indices (#886).
      • Added extension dictionary to MOIU.Model (#884).
      • Implemented MOI.get for function and set for GeoMeanBridge (#888).
      • Updated documentation for SingleVariable indices and bridges (#885).
      • Testing improvements:
        • Added more comprehensive tests for names (#882).
        • Added tests for SingleVariable duals (#883).
        • Added tests for DualExponentialCone and DualPowerCone (#873).
      • Improvements for arbitrary coefficient type:
        • Fixed == for sets with mutable fields (#887).
        • Removed some Float64 assumptions in bridges (#878).
        • Automatic selection of Constraint.[Scalar|Vector]FunctionizeBridge (#889).

      v0.9.2 (September 5, 2019)

      • Implemented model printing for MOI.ModelLike and specialized it for models defined in MOI (864).
      • Generalized contlinear tests for arbitrary coefficient type (#855).
      • Fixed supports_constraint for Semiinteger and Semicontinuous and supports for ObjectiveFunction (#859).
      • Fixed Allocate-Load copy for single variable constraints (#856).
      • Bridges improvements:
        • Add objective bridges (#789).
        • Fixed Variable.RSOCtoPSDBridge for dimension 2 (#869).
        • Added Variable.SOCtoRSOCBridge (#865).
        • Added Constraint.SOCRBridge and disable MOI.Bridges.Constraint.SOCtoPSDBridge (#751).
        • Fixed added_constraint_types for Contraint.LogDetBridge and Constraint.RootDetBridge (#870).

      v0.9.1 (August 22, 2019)

      • Fix support for Julia v1.2 (#834).
      • L1 and L∞ norm epigraph cones and corresponding bridges to LP were added (#818).
      • Added tests to MOI.Test.nametest (#833).
      • Fix MOI.Test.soc3test for solvers not supporting infeasibility certificates (#839).
      • Implements operate for operators * and / between vector function and constant (#837).
      • Implements show for MOI.Utilities.IndexMap (#847).
      • Fix corner cases for mapping of variables in MOI.Utilities.CachingOptimizer and substitution of variables in MOI.Bridges.AbstractBridgeOptimizer (#848).
      • Fix transformation of constant terms for MOI.Bridges.Constraint.SOCtoPSDBridge and MOI.Bridges.Constraint.RSOCtoPSDBridge (#840).

      v0.9.0 (August 13, 2019)

      • Support for Julia v0.6 and v0.7 was dropped (#714, #717).
      • A MOI.Utilities.Model implementation of ModelLike, this should replace most use cases of MOI.Utilities.@model (#781).
      • add_constrained_variable and add_constrained_variables were added (#759).
      • Support for indicator constraints was added (#709, #712).
      • DualObjectiveValue attribute was added (#473).
      • RawParameter attribute was added (#733).
      • A dual_set function was added (#804).
      • A Benchmarks submodule was added to facilitate solver benchmarking (#769).
      • A submit function was added, this may for instance allow the user to submit solutions or cuts to the solver from a callback (#775).
      • The field of ObjectiveValue was renamed to result_index (#729).
      • The _constant and Utilities.getconstant function were renamed to constant
      • REDUCTION_CERTIFICATE result status was added (#734).
      • Abstract matrix sets were added (#731).
      • Testing improvements:
        • The testing guideline was updated (#728).
        • Quadratic tests were added (#697).
        • Unit tests for RawStatusString, SolveTime, Silent and SolverName were added (#726, #741).
        • A rotated second-order cone test was added (#759).
        • A power cone test was added (#768).
        • Tests for ZeroOne variables with variable bounds were added (#772).
        • An unbounded test was added (#773).
        • Existing tests had a few updates (#702, #703, #763).
      • Documentation improvements:
        • Added a section on CachingOptimizer (#777).
        • Added a section on UniversalFallback, Model and @model (#762).
        • Transition the knapsack example to a doctest with MockOptimizer (#786).
      • Utilities improvements:
        • A CleverDict utility was added for a vector that automatically transform into a dictionary once a first index is removed (#767).
        • The Utilities.constant function was renamed to Utilities.constant_vector (#740).
        • Implement optimizer attributes for CachingOptimizer (#745).
        • Rename Utilities.add_scalar_constraint to Utilities.normalize_and_add_constraint (#801).
        • operate with vcat, SingleVariable and VectorOfVariables now returns a VectorOfVariables (#616).
        • Fix a type piracy of operate (#784).
        • The load_constraint fallback signature was fixed (#760).
        • The set_dot function was extended to work with sparse arrays (#805).
      • Bridges improvements:
        • The bridges no longer store the constraint function and set before it is bridged, the bridges now have to implement ConstraintFunction and ConstraintSet if the user wants to recover them. As a consequence, the @bridge macro was removed (#722).
        • Bridge are now instantiated with a bridge_constraint function instead of using a constructor (#730).
        • Fix constraint attributes for bridges (#699).
        • Constraint bridges were moved to the Bridges/Constraint submodule so they should now inherit from MOI.Bridges.Constraint.Abstract and should implement MOI.Bridges.Constraint.concrete_bridge_type instead of MOI.Bridges.concrete_bridge_type (#756).
        • Variable bridges were added in (#759).
        • Various improvements (#746, #747).

      v0.8.4 (March 13, 2019)

      • Performance improvement in default_copy_to and bridge optimizer (#696).
      • Add Silent and implement setting optimizer attributes in caching and mock optimizers (#695).
      • Add Functionize bridges (SingleVariable and VectorOfVariables) (#659).
      • Minor typo fixes (#694).

      v0.8.3 (March 6, 2019)

      • Use zero constant in scalar constraint function of MOI.Test.copytest (#691).
      • Fix variable deletion with SingleVariable objective function (#690).
      • Fix LazyBridgeOptimizer with bridges that add no constraints (#689).
      • Error message improvements (#673, #685, #686, #688).
      • Documentation improvements (#682, #683, #687).
      • Basis status:
        • Remove VariableBasisStatus (#679).
        • Test ConstraintBasisStatus and implement it in bridges (#678).
      • Fix inference of NumberOfVariables and NumberOfConstraints (#677).
      • Implement division between a quadratic function and a number (#675).

      v0.8.2 (February 7, 2019)

      • Add RawStatusString attribute (#629).
      • Do not set names to the optimizer but only to the cache in CachingOptimizer (#638).
      • Make scalar MOI functions act as scalars in broadcast (#646).
      • Add function utilities:
        • Implement Base.zero (#634), Base.iszero (#643), add missing arithmetic operations (#644, #645) and fix division (#648).
        • Add a vectorize function that turns a vector of ScalarAffineFunction into a VectorAffineFunction (#642).
      • Improve support for starting values:
        • Show a warning in copy when starting values are not supported instead of throwing an error (#630).
        • Fix UniversalFallback for getting an variable or constraint attribute set to no indices (#623).
        • Add a test in contlineartest with partially set VariablePrimalStart.
      • Bridges improvements:
        • Fix StackOverFlow in LazyBridgeOptimizer when there is a cycle in the graph of bridges.
        • Add Slack bridges (#610, #650).
        • Add FlipSign bridges (#658).
      • Add tests with duplicate coefficients in ScalarAffineFunction and VectorAffineFunction (#639).
      • Use tolerance to compare VariablePrimal in rotatedsoc1 test (#632).
      • Use a zero constant in ScalarAffineFunction of constraints in psdt2 (#622).

      v0.8.1 (January 7, 2019)

      • Adding an NLP objective now overrides any objective set using the ObjectiveFunction attribute (#619).
      • Rename fullbridgeoptimizer into full_bridge_optimizer (#621).
      • Allow custom constraint types with full_bridge_optimizer (#617).
      • Add Vectorize bridge which transforms scalar linear constraints into vector linear constraints (#615).

      v0.8.0 (December 18, 2018)

      • Rename all enum values to follow the JuMP naming guidelines for constants, for example, Optimal becomes OPTIMAL, and DualInfeasible becomes DUAL_INFEASIBLE.
      • Rename CachingOptimizer methods for style compliance.
      • Add an MOI.TerminationStatusCode called ALMOST_DUAL_INFEASIBLE.

      v0.7.0 (December 13, 2018)

      • Test that MOI.TerminationStatus is MOI.OptimizeNotCalled before MOI.optimize! is called.
      • Check supports_default_copy_to in tests (#594).
      • Key pieces of information like optimality, infeasibility, etc., are now reported through TerminationStatusCode. It is typically no longer necessary to check the result statuses in addition to the termination status.
      • Add perspective dimension to log-det cone (#593).

      v0.6.4 (November 27, 2018)

      • Add OptimizeNotCalled termination status (#577) and improve documentation of other statuses (#575).
      • Add a solver naming guideline (#578).
      • Make FeasibilitySense the default ObjectiveSense (#579).
      • Fix Utilities.@model and Bridges.@bridge macros for functions and sets defined outside MOI (#582).
      • Document solver-specific attributes (#580) and implement them in Utilities.CachingOptimizer (#565).

      v0.6.3 (November 16, 2018)

      • Variables and constraints are now allowed to have duplicate names. An error is thrown only on lookup. This change breaks some existing tests. (#549)
      • Attributes may now be partially set (some values could be nothing). (#563)
      • Performance improvements in Utilities.Model (#549, #567, #568)
      • Fix bug in QuadtoSOC (#558).
      • New supports_default_copy_to method that optimizers should implement to control caching behavior.
      • Documentation improvements.

      v0.6.2 (October 26, 2018)

      • Improve hygiene of @model macro (#544).
      • Fix bug in copy tests (#543).
      • Fix bug in UniversalFallback attribute getter (#540).
      • Allow all correct solutions for solve_blank_obj unit test (#537).
      • Add errors for Allocate-Load and bad constraints (#534).
      • [performance] Add specialized implementation of hash for VariableIndex (#533).
      • [performance] Construct the name to object dictionaries lazily in model (#535).
      • Add the QuadtoSOC bridge which transforms ScalarQuadraticFunction constraints into RotatedSecondOrderCone (#483).

      v0.6.1 (September 22, 2018)

      • Enable PositiveSemidefiniteConeSquare set and quadratic functions in MOIB.fullbridgeoptimizer (#524).
      • Add warning in the bridge between PositiveSemidefiniteConeSquare and PositiveSemidefiniteConeTriangle when the matrix is almost symmetric (#522).
      • Modify MOIT.copytest to not add multiples constraints on the same variable (#521).
      • Add missing keyword argument in one of MOIU.add_scalar_constraint methods (#520).

      v0.6.0 (August 30, 2018)

      • The MOIU.@model and MOIB.@bridge macros now support functions and sets defined in external modules. As a consequence, function and set names in the macro arguments need to be prefixed by module name.
      • Rename functions according to the JuMP style guide:
        • copy! with keyword arguments copynames and warnattributes -> copy_to with keyword arguments copy_names and warn_attributes;
        • set! -> set;
        • addvariable[s]! -> add_variable[s];
        • supportsconstraint -> supports_constraint;
        • addconstraint[s]! -> add_constraint[s];
        • isvalid -> is_valid;
        • isempty -> is_empty;
        • Base.delete! -> delete;
        • modify! -> modify;
        • transform! -> transform;
        • initialize! -> initialize;
        • write -> write_to_file; and
        • read! -> read_from_file.
      • Remove free! (use Base.finalize instead).
      • Add the SquarePSD bridge which transforms PositiveSemidefiniteConeTriangle constraints into PositiveSemidefiniteConeTriangle.
      • Add result fallback for ConstraintDual of variable-wise constraint, ConstraintPrimal and ObjectiveValue.
      • Add tests for ObjectiveBound.
      • Add test for empty rows in vector linear constraint.
      • Rework errors: CannotError has been renamed NotAllowedError and the distinction between UnsupportedError and NotAllowedError is now about whether the element is not supported (for example, it cannot be copied a model containing this element) or the operation is not allowed (either because it is not implemented, because it cannot be performed in the current state of the model, or because it cannot be performed for a specific index)
      • canget is removed. NoSolution is added as a result status to indicate that the solver does not have either a primal or dual solution available (See #479).

      v0.5.0 (August 5, 2018)

      • Fix names with CachingOptimizer.
      • Cleanup thanks to @mohamed82008.
      • Added a universal fallback for constraints.
      • Fast utilities for function canonicalization thanks to @rdeits.
      • Renamed dimension field to side_dimension in the context of matrix-like sets.
      • New and improved tests for cases like duplicate terms and ObjectiveBound.
      • Removed cantransform, canaddconstraint, canaddvariable, canset, canmodify, and candelete functions from the API. They are replaced by a new set of errors that are thrown: Subtypes of UnsupportedError indicate unsupported operations, while subtypes of CannotError indicate operations that cannot be performed in the current state.
      • The API for copy! is updated to remove the CopyResult type.
      • Updates for the new JuMP style guide.

      v0.4.1 (June 28, 2018)

      • Fixes vector function modification on 32 bits.
      • Fixes Bellman-Ford algorithm for bridges.
      • Added an NLP test with FeasibilitySense.
      • Update modification documentation.

      v0.4.0 (June 23, 2018)

      • Helper constructors for VectorAffineTerm and VectorQuadraticTerm.
      • Added modify_lhs to TestConfig.
      • Additional unit tests for optimizers.
      • Added a type parameter to CachingOptimizer for the optimizer field.
      • New API for problem modification (#388)
      • Tests pass without deprecation warnings on Julia 0.7.
      • Small fixes and documentation updates.

      v0.3.0 (May 25, 2018)

      • Functions have been redefined to use arrays-of-structs instead of structs-of-arrays.
      • Improvements to MockOptimizer.
      • Significant changes to Bridges.
      • New and improved unit tests.
      • Fixes for Julia 0.7.

      v0.2.0 (April 24, 2018)

      • Improvements to and better coverage of Tests.
      • Documentation fixes.
      • SolverName attribute.
      • Changes to the NLP interface (new definition of variable order and arrays of structs for bound pairs and sparsity patterns).
      • Addition of NLP tests.
      • Introduction of UniversalFallback.
      • copynames keyword argument to MOI.copy!.
      • Add Bridges submodule.

      v0.1.0 (February 28, 2018)

      • Initial public release.
      • The framework for MOI was developed at the JuMP-dev workshop at MIT in June 2017 as a sorely needed replacement for MathProgBase.
      diff --git a/dev/moi/submodules/Benchmarks/overview/index.html b/dev/moi/submodules/Benchmarks/overview/index.html index 1d2e6d300f1..032d0ea4e5f 100644 --- a/dev/moi/submodules/Benchmarks/overview/index.html +++ b/dev/moi/submodules/Benchmarks/overview/index.html @@ -21,4 +21,4 @@ MOI.Benchmarks.compare_against_baseline( suite, "current"; directory = "/tmp", verbose = true -)

      This comparison will create a report detailing improvements and regressions.

      +)

      This comparison will create a report detailing improvements and regressions.

      diff --git a/dev/moi/submodules/Benchmarks/reference/index.html b/dev/moi/submodules/Benchmarks/reference/index.html index aa9039f5b4e..3fedd59b30e 100644 --- a/dev/moi/submodules/Benchmarks/reference/index.html +++ b/dev/moi/submodules/Benchmarks/reference/index.html @@ -37,4 +37,4 @@ "glpk_master"; directory = "/tmp", verbose = true, - )source + )source diff --git a/dev/moi/submodules/Bridges/implementation/index.html b/dev/moi/submodules/Bridges/implementation/index.html index 3bd15138e1a..f591aadb378 100644 --- a/dev/moi/submodules/Bridges/implementation/index.html +++ b/dev/moi/submodules/Bridges/implementation/index.html @@ -33,4 +33,4 @@ Subject to: ScalarAffineFunction{Int64}-in-LessThan{Int64} - (0) - (1) x <= (-1) + (0) - (1) x <= (-1) diff --git a/dev/moi/submodules/Bridges/list_of_bridges/index.html b/dev/moi/submodules/Bridges/list_of_bridges/index.html index 1d33683c20b..8b7b90a5b0f 100644 --- a/dev/moi/submodules/Bridges/list_of_bridges/index.html +++ b/dev/moi/submodules/Bridges/list_of_bridges/index.html @@ -129,4 +129,4 @@ & & & x_{11} & x_{12} & x_{13} \\ & & & & x_{22} & x_{23} \\ & & & & & x_{33} -\end{bmatrix}\]

      is positive semidefinite.

      The bridge achieves this reformulation by adding a new set of variables in MOI.PositiveSemidefiniteConeTriangle(6), and then adding three groups of equality constraints to:

      • constrain the two x blocks to be equal
      • force the diagonal of the y blocks to be 0
      • force the lower triangular of the y block to be the negative of the upper triangle.
      source
      MathOptInterface.Bridges.Variable.RSOCtoPSDBridgeType
      RSOCtoPSDBridge{T} <: Bridges.Variable.AbstractBridge

      RSOCtoPSDBridge implements the following reformulation:

      • $||x||_2^2 \le 2tu$ where $t, u \ge 0$ into $Y \succeq 0$, with the substitution rule: $Y = \left[\begin{array}{c c}t & x^\top \\ x & 2u \mathbf{I}\end{array}\right].$

      Additional bounds are added to ensure the off-diagonals of the $2uI$ submatrix are 0, and linear constraints are added to ensure the diagonal of $2uI$ takes the same values.

      As a special case, if $|x|| = 0$, then RSOCtoPSDBridge reformulates into $(t, u) \in \mathbb{R}_+$.

      Source node

      RSOCtoPSDBridge supports:

      Target nodes

      RSOCtoPSDBridge creates:

      source
      MathOptInterface.Bridges.Variable.RSOCtoSOCBridgeType
      RSOCtoSOCBridge{T} <: Bridges.Variable.AbstractBridge

      RSOCtoSOCBridge implements the following reformulation:

      • $||x||_2^2 \le 2tu$ into $||v||_2 \le w$, with the substitution rules $t = \frac{w}{\sqrt 2} + \frac{v_1}{\sqrt 2}$, $u = \frac{w}{\sqrt 2} - \frac{v_1}{\sqrt 2}$, and $x = (v_2,\ldots,v_N)$.

      Source node

      RSOCtoSOCBridge supports:

      Target node

      RSOCtoSOCBridge creates:

      source
      MathOptInterface.Bridges.Variable.SOCtoRSOCBridgeType
      SOCtoRSOCBridge{T} <: Bridges.Variable.AbstractBridge

      SOCtoRSOCBridge implements the following reformulation:

      • $||x||_2 \le t$ into $2uv \ge ||w||_2^2$, with the substitution rules $t = \frac{u}{\sqrt 2} + \frac{v}{\sqrt 2}$, $x = (\frac{u}{\sqrt 2} - \frac{v}{\sqrt 2}, w)$.

      Assumptions

      • SOCtoRSOCBridge assumes that $|x| \ge 1$.

      Source node

      SOCtoRSOCBridge supports:

      Target node

      SOCtoRSOCBridge creates:

      source
      MathOptInterface.Bridges.Variable.SetMapBridgeType
      abstract type SetMapBridge{T,S1,S2} <: AbstractBridge end

      Consider two type of sets, S1 and S2, and a linear mapping A such that the image of a set of type S1 under A is a set of type S2.

      A SetMapBridge{T,S1,S2} is a bridge that substitutes constrained variables in S2 into the image through A of constrained variables in S1.

      The linear map A is described by:

      Implementing a method for these two functions is sufficient to bridge constrained variables. However, in order for the getters and setters of attributes such as dual solutions and starting values to work as well, a method for the following functions must be implemented:

      See the docstrings of each function to see which feature would be missing if it was not implemented for a given bridge.

      source
      MathOptInterface.Bridges.Variable.VectorizeBridgeType
      VectorizeBridge{T,S} <: Bridges.Variable.AbstractBridge

      VectorizeBridge implements the following reformulations:

      • $x \ge a$ into $[y] \in \mathbb{R}_+$ with the substitution rule $x = a + y$
      • $x \le a$ into $[y] \in \mathbb{R}_-$ with the substitution rule $x = a + y$
      • $x == a$ into $[y] \in \{0\}$ with the substitution rule $x = a + y$

      where T is the coefficient type of a + y.

      Source node

      VectorizeBridge supports:

      Target nodes

      VectorizeBridge creates:

      source
      MathOptInterface.Bridges.Variable.ZerosBridgeType
      ZerosBridge{T} <: Bridges.Variable.AbstractBridge

      ZerosBridge implements the following reformulation:

      • $x \in \{0\}$ into the substitution rule $x = 0$,

      where T is the coefficient type of 0.

      Source node

      ZerosBridge supports:

      Target nodes

      ZerosBridge does not create target nodes. It replaces all instances of x with 0 via substitution. This means that no variables are created in the underlying model.

      Caveats

      The bridged variables are similar to parameters with zero values. Parameters with non-zero values can be created with constrained variables in MOI.EqualTo by combining a VectorizeBridge and this bridge.

      However, functions modified by ZerosBridge cannot be unbridged. That is, for a given function, we cannot determine if the bridged variables were used.

      A related implication is that this bridge does not support MOI.ConstraintDual. However, if a MOI.Utilities.CachingOptimizer is used, the dual can be determined by the bridged optimizer using MOI.Utilities.get_fallback because the caching optimizer records the unbridged function.

      source
      +\end{bmatrix}\]

      is positive semidefinite.

      The bridge achieves this reformulation by adding a new set of variables in MOI.PositiveSemidefiniteConeTriangle(6), and then adding three groups of equality constraints to:

      • constrain the two x blocks to be equal
      • force the diagonal of the y blocks to be 0
      • force the lower triangular of the y block to be the negative of the upper triangle.
      source
      MathOptInterface.Bridges.Variable.RSOCtoPSDBridgeType
      RSOCtoPSDBridge{T} <: Bridges.Variable.AbstractBridge

      RSOCtoPSDBridge implements the following reformulation:

      • $||x||_2^2 \le 2tu$ where $t, u \ge 0$ into $Y \succeq 0$, with the substitution rule: $Y = \left[\begin{array}{c c}t & x^\top \\ x & 2u \mathbf{I}\end{array}\right].$

      Additional bounds are added to ensure the off-diagonals of the $2uI$ submatrix are 0, and linear constraints are added to ensure the diagonal of $2uI$ takes the same values.

      As a special case, if $|x|| = 0$, then RSOCtoPSDBridge reformulates into $(t, u) \in \mathbb{R}_+$.

      Source node

      RSOCtoPSDBridge supports:

      Target nodes

      RSOCtoPSDBridge creates:

      source
      MathOptInterface.Bridges.Variable.RSOCtoSOCBridgeType
      RSOCtoSOCBridge{T} <: Bridges.Variable.AbstractBridge

      RSOCtoSOCBridge implements the following reformulation:

      • $||x||_2^2 \le 2tu$ into $||v||_2 \le w$, with the substitution rules $t = \frac{w}{\sqrt 2} + \frac{v_1}{\sqrt 2}$, $u = \frac{w}{\sqrt 2} - \frac{v_1}{\sqrt 2}$, and $x = (v_2,\ldots,v_N)$.

      Source node

      RSOCtoSOCBridge supports:

      Target node

      RSOCtoSOCBridge creates:

      source
      MathOptInterface.Bridges.Variable.SOCtoRSOCBridgeType
      SOCtoRSOCBridge{T} <: Bridges.Variable.AbstractBridge

      SOCtoRSOCBridge implements the following reformulation:

      • $||x||_2 \le t$ into $2uv \ge ||w||_2^2$, with the substitution rules $t = \frac{u}{\sqrt 2} + \frac{v}{\sqrt 2}$, $x = (\frac{u}{\sqrt 2} - \frac{v}{\sqrt 2}, w)$.

      Assumptions

      • SOCtoRSOCBridge assumes that $|x| \ge 1$.

      Source node

      SOCtoRSOCBridge supports:

      Target node

      SOCtoRSOCBridge creates:

      source
      MathOptInterface.Bridges.Variable.SetMapBridgeType
      abstract type SetMapBridge{T,S1,S2} <: AbstractBridge end

      Consider two type of sets, S1 and S2, and a linear mapping A such that the image of a set of type S1 under A is a set of type S2.

      A SetMapBridge{T,S1,S2} is a bridge that substitutes constrained variables in S2 into the image through A of constrained variables in S1.

      The linear map A is described by:

      Implementing a method for these two functions is sufficient to bridge constrained variables. However, in order for the getters and setters of attributes such as dual solutions and starting values to work as well, a method for the following functions must be implemented:

      See the docstrings of each function to see which feature would be missing if it was not implemented for a given bridge.

      source
      MathOptInterface.Bridges.Variable.VectorizeBridgeType
      VectorizeBridge{T,S} <: Bridges.Variable.AbstractBridge

      VectorizeBridge implements the following reformulations:

      • $x \ge a$ into $[y] \in \mathbb{R}_+$ with the substitution rule $x = a + y$
      • $x \le a$ into $[y] \in \mathbb{R}_-$ with the substitution rule $x = a + y$
      • $x == a$ into $[y] \in \{0\}$ with the substitution rule $x = a + y$

      where T is the coefficient type of a + y.

      Source node

      VectorizeBridge supports:

      Target nodes

      VectorizeBridge creates:

      source
      MathOptInterface.Bridges.Variable.ZerosBridgeType
      ZerosBridge{T} <: Bridges.Variable.AbstractBridge

      ZerosBridge implements the following reformulation:

      • $x \in \{0\}$ into the substitution rule $x = 0$,

      where T is the coefficient type of 0.

      Source node

      ZerosBridge supports:

      Target nodes

      ZerosBridge does not create target nodes. It replaces all instances of x with 0 via substitution. This means that no variables are created in the underlying model.

      Caveats

      The bridged variables are similar to parameters with zero values. Parameters with non-zero values can be created with constrained variables in MOI.EqualTo by combining a VectorizeBridge and this bridge.

      However, functions modified by ZerosBridge cannot be unbridged. That is, for a given function, we cannot determine if the bridged variables were used.

      A related implication is that this bridge does not support MOI.ConstraintDual. However, if a MOI.Utilities.CachingOptimizer is used, the dual can be determined by the bridged optimizer using MOI.Utilities.get_fallback because the caching optimizer records the unbridged function.

      source
      diff --git a/dev/moi/submodules/Bridges/overview/index.html b/dev/moi/submodules/Bridges/overview/index.html index 9c6df9aec6b..6c385f3a468 100644 --- a/dev/moi/submodules/Bridges/overview/index.html +++ b/dev/moi/submodules/Bridges/overview/index.html @@ -66,4 +66,4 @@ julia> MOI.get(inner_optimizer, MOI.ListOfConstraintTypesPresent()) 1-element Vector{Tuple{Type, Type}}: - (MathOptInterface.VariableIndex, MathOptInterface.Interval{Float64}) + (MathOptInterface.VariableIndex, MathOptInterface.Interval{Float64}) diff --git a/dev/moi/submodules/Bridges/reference/index.html b/dev/moi/submodules/Bridges/reference/index.html index d1101af0fc5..c1263f40b02 100644 --- a/dev/moi/submodules/Bridges/reference/index.html +++ b/dev/moi/submodules/Bridges/reference/index.html @@ -221,4 +221,4 @@ cost::Int, )

      As an alternative to variable_node, add a virtual edge to graph that represents adding a free variable, followed by a constraint of type constraint_node, with bridging cost cost.

      Why is this needed?

      Variables can either be added as a variable constrained on creation, or as a free variable which then has a constraint added to it.

      source
      MathOptInterface.Bridges.bridge_indexFunction
      bridge_index(graph::Graph, node::VariableNode)::Int
       bridge_index(graph::Graph, node::ConstraintNode)::Int
      -bridge_index(graph::Graph, node::ObjectiveNode)::Int

      Return the optimal index of the bridge to chose from node.

      source
      MathOptInterface.Bridges.is_variable_edge_bestFunction
      is_variable_edge_best(graph::Graph, node::VariableNode)::Bool

      Return a Bool indicating whether node should be added as a variable constrained on creation, or as a free variable followed by a constraint.

      source
      +bridge_index(graph::Graph, node::ObjectiveNode)::Int

      Return the optimal index of the bridge to chose from node.

      source
      MathOptInterface.Bridges.is_variable_edge_bestFunction
      is_variable_edge_best(graph::Graph, node::VariableNode)::Bool

      Return a Bool indicating whether node should be added as a variable constrained on creation, or as a free variable followed by a constraint.

      source
      diff --git a/dev/moi/submodules/FileFormats/overview/index.html b/dev/moi/submodules/FileFormats/overview/index.html index 640bde6a894..aaaa06ed9d1 100644 --- a/dev/moi/submodules/FileFormats/overview/index.html +++ b/dev/moi/submodules/FileFormats/overview/index.html @@ -158,4 +158,4 @@ path: [variables][1] instance: Dict{String, Any}("NaMe" => "x") schema key: required -schema value: Any["name"] +schema value: Any["name"] diff --git a/dev/moi/submodules/FileFormats/reference/index.html b/dev/moi/submodules/FileFormats/reference/index.html index 8644cf69aed..65f13a25a8c 100644 --- a/dev/moi/submodules/FileFormats/reference/index.html +++ b/dev/moi/submodules/FileFormats/reference/index.html @@ -26,4 +26,4 @@ )

      Parse the .sol file filename created by solving model and return a SolFileResults struct.

      The returned struct supports the MOI.get API for querying result attributes such as MOI.TerminationStatus, MOI.VariablePrimal, and MOI.ConstraintDual.

      source
      SolFileResults(
           raw_status::String,
           termination_status::MOI.TerminationStatusCode,
      -)

      Return a SolFileResults struct with MOI.RawStatusString set to raw_status, MOI.TerminationStatus set to termination_status, and MOI.PrimalStatus and MOI.DualStatus set to NO_SOLUTION.

      All other attributes are un-set.

      source
      +)

      Return a SolFileResults struct with MOI.RawStatusString set to raw_status, MOI.TerminationStatus set to termination_status, and MOI.PrimalStatus and MOI.DualStatus set to NO_SOLUTION.

      All other attributes are un-set.

      source diff --git a/dev/moi/submodules/Nonlinear/overview/index.html b/dev/moi/submodules/Nonlinear/overview/index.html index ea20dc92428..7d3394bc342 100644 --- a/dev/moi/submodules/Nonlinear/overview/index.html +++ b/dev/moi/submodules/Nonlinear/overview/index.html @@ -184,4 +184,4 @@ Node(NODE_VARIABLE, 1, 1), ], [2.0], - );

      The ordering of the nodes in the tape must satisfy two rules:

      • The children of a node must appear after the parent. This means that the tape is ordered topologically, so that a reverse pass of the nodes evaluates all children nodes before their parent
      • The arguments for a CALL node are ordered in the tape based on the order in which they appear in the function call.

      Design goals

      This is less readable than the other options, but does this data structure meet our design goals?

      Instead of a heap-allocated object for each node, we only have two Vectors for each expression, nodes and values, as well as two constant vectors for the OPERATORS. In addition, all fields are concretely typed, and there are no Union or Any types.

      For our third goal, it is not easy to identify the children of a node, but it is easy to identify the parent of any node. Therefore, we can use Nonlinear.adjacency_matrix to compute a sparse matrix that maps parents to their children.

      The design in practice

      In practice, Node and Expression are exactly Nonlinear.Node and Nonlinear.Expression. However, Nonlinear.NodeType has more fields to account for comparison operators such as :>= and :<=, logic operators such as :&& and :||, nonlinear parameters, and nested subexpressions.

      Moreover, instead of storing the operators as global constants, they are stored in Nonlinear.OperatorRegistry, and it also stores a vector of logic operators and a vector of comparison operators. In addition to Nonlinear.DEFAULT_UNIVARIATE_OPERATORS and Nonlinear.DEFAULT_MULTIVARIATE_OPERATORS, you can register user-defined functions using Nonlinear.register_operator.

      Nonlinear.Model is a struct that stores the Nonlinear.OperatorRegistry, as well as a list of parameters and subexpressions in the model.

      ReverseAD

      Nonlinear.ReverseAD is a submodule for computing derivatives of a nonlinear optimization problem using sparse reverse-mode automatic differentiation (AD).

      This section does not attempt to explain how sparse reverse-mode AD works, but instead explains why MOI contains its own implementation, and highlights notable differences from similar packages.

      Warning

      Don't use the API in ReverseAD to compute derivatives. Instead, create a Nonlinear.Evaluator object with Nonlinear.SparseReverseMode as the backend, and then query the MOI API methods.

      Design goals

      The JuliaDiff organization maintains a list of packages for doing AD in Julia. At last count, there were at least ten packages——not including ReverseAD——for reverse-mode AD in Julia. ReverseAD exists because it has a different set of design goals.

      • Goal: handle scale and sparsity. The types of nonlinear optimization problems that MOI represents can be large scale (10^5 or more functions across 10^5 or more variables) with very sparse derivatives. The ability to compute a sparse Hessian matrix is essential. To the best of our knowledge, ReverseAD is the only reverse-mode AD system in Julia that handles sparsity by default.
      • Goal: limit the scope to improve robustness. Most other AD packages accept arbitrary Julia functions as input and then trace an expression graph using operator overloading. This means they must deal (or detect and ignore) with control flow, I/O, and other vagaries of Julia. In contrast, ReverseAD only accepts functions in the form of Nonlinear.Expression, which greatly limits the range of syntax that it must deal with. By reducing the scope of what we accept as input to functions relevant for mathematical optimization, we can provide a simpler implementation with various performance optimizations.
      • Goal: provide outputs which match what solvers expect. Other AD packages focus on differentiating individual Julia functions. In contrast, ReverseAD has a very specific use-case: to generate outputs needed by the MOI nonlinear API. This means it needs to efficiently compute sparse Hessians, and it needs subexpression handling to avoid recomputing subexpressions that are shared between functions.

      History

      ReverseAD started life as ReverseDiffSparse.jl, development of which began in early 2014(!). This was well before the other AD packages started development. Because we had a well-tested, working AD in JuMP, there was less motivation to contribute to and explore other AD packages. The lack of historical interaction also meant that other packages were not optimized for the types of problems that JuMP is built for (that is, large-scale sparse problems). When we first created MathOptInterface, we kept the AD in JuMP to simplify the transition, and post-poned the development of a first-class nonlinear interface in MathOptInterface.

      Prior to the introduction of Nonlinear, JuMP's nonlinear implementation was a confusing mix of functions and types spread across the code base and in the private _Derivatives submodule. This made it hard to swap the AD system for another. The main motivation for refactoring JuMP to create the Nonlinear submodule in MathOptInterface was to abstract the interface between JuMP and the AD system, allowing us to swap-in and test new AD systems in the future.

      + );

      The ordering of the nodes in the tape must satisfy two rules:

      • The children of a node must appear after the parent. This means that the tape is ordered topologically, so that a reverse pass of the nodes evaluates all children nodes before their parent
      • The arguments for a CALL node are ordered in the tape based on the order in which they appear in the function call.

      Design goals

      This is less readable than the other options, but does this data structure meet our design goals?

      Instead of a heap-allocated object for each node, we only have two Vectors for each expression, nodes and values, as well as two constant vectors for the OPERATORS. In addition, all fields are concretely typed, and there are no Union or Any types.

      For our third goal, it is not easy to identify the children of a node, but it is easy to identify the parent of any node. Therefore, we can use Nonlinear.adjacency_matrix to compute a sparse matrix that maps parents to their children.

      The design in practice

      In practice, Node and Expression are exactly Nonlinear.Node and Nonlinear.Expression. However, Nonlinear.NodeType has more fields to account for comparison operators such as :>= and :<=, logic operators such as :&& and :||, nonlinear parameters, and nested subexpressions.

      Moreover, instead of storing the operators as global constants, they are stored in Nonlinear.OperatorRegistry, and it also stores a vector of logic operators and a vector of comparison operators. In addition to Nonlinear.DEFAULT_UNIVARIATE_OPERATORS and Nonlinear.DEFAULT_MULTIVARIATE_OPERATORS, you can register user-defined functions using Nonlinear.register_operator.

      Nonlinear.Model is a struct that stores the Nonlinear.OperatorRegistry, as well as a list of parameters and subexpressions in the model.

      ReverseAD

      Nonlinear.ReverseAD is a submodule for computing derivatives of a nonlinear optimization problem using sparse reverse-mode automatic differentiation (AD).

      This section does not attempt to explain how sparse reverse-mode AD works, but instead explains why MOI contains its own implementation, and highlights notable differences from similar packages.

      Warning

      Don't use the API in ReverseAD to compute derivatives. Instead, create a Nonlinear.Evaluator object with Nonlinear.SparseReverseMode as the backend, and then query the MOI API methods.

      Design goals

      The JuliaDiff organization maintains a list of packages for doing AD in Julia. At last count, there were at least ten packages——not including ReverseAD——for reverse-mode AD in Julia. ReverseAD exists because it has a different set of design goals.

      • Goal: handle scale and sparsity. The types of nonlinear optimization problems that MOI represents can be large scale (10^5 or more functions across 10^5 or more variables) with very sparse derivatives. The ability to compute a sparse Hessian matrix is essential. To the best of our knowledge, ReverseAD is the only reverse-mode AD system in Julia that handles sparsity by default.
      • Goal: limit the scope to improve robustness. Most other AD packages accept arbitrary Julia functions as input and then trace an expression graph using operator overloading. This means they must deal (or detect and ignore) with control flow, I/O, and other vagaries of Julia. In contrast, ReverseAD only accepts functions in the form of Nonlinear.Expression, which greatly limits the range of syntax that it must deal with. By reducing the scope of what we accept as input to functions relevant for mathematical optimization, we can provide a simpler implementation with various performance optimizations.
      • Goal: provide outputs which match what solvers expect. Other AD packages focus on differentiating individual Julia functions. In contrast, ReverseAD has a very specific use-case: to generate outputs needed by the MOI nonlinear API. This means it needs to efficiently compute sparse Hessians, and it needs subexpression handling to avoid recomputing subexpressions that are shared between functions.

      History

      ReverseAD started life as ReverseDiffSparse.jl, development of which began in early 2014(!). This was well before the other AD packages started development. Because we had a well-tested, working AD in JuMP, there was less motivation to contribute to and explore other AD packages. The lack of historical interaction also meant that other packages were not optimized for the types of problems that JuMP is built for (that is, large-scale sparse problems). When we first created MathOptInterface, we kept the AD in JuMP to simplify the transition, and post-poned the development of a first-class nonlinear interface in MathOptInterface.

      Prior to the introduction of Nonlinear, JuMP's nonlinear implementation was a confusing mix of functions and types spread across the code base and in the private _Derivatives submodule. This made it hard to swap the AD system for another. The main motivation for refactoring JuMP to create the Nonlinear submodule in MathOptInterface was to abstract the interface between JuMP and the AD system, allowing us to swap-in and test new AD systems in the future.

      diff --git a/dev/moi/submodules/Nonlinear/reference/index.html b/dev/moi/submodules/Nonlinear/reference/index.html index f4069924af9..0df7b30e3bc 100644 --- a/dev/moi/submodules/Nonlinear/reference/index.html +++ b/dev/moi/submodules/Nonlinear/reference/index.html @@ -236,4 +236,4 @@ julia> MOI.initialize(evaluator, Symbol[]) julia> MOI.Nonlinear.ordinal_index(evaluator, c2) # Returns 1 -1source +1source diff --git a/dev/moi/submodules/Test/overview/index.html b/dev/moi/submodules/Test/overview/index.html index a69451be121..b49afd844bc 100644 --- a/dev/moi/submodules/Test/overview/index.html +++ b/dev/moi/submodules/Test/overview/index.html @@ -167,4 +167,4 @@ ), ) return -end

      Finally, you also need to implement Test.version_added. If we added this test when the latest released version of MOI was v0.10.5, define:

      version_added(::typeof(test_unit_optimize!_twice)) = v"0.10.6"

      Step 6

      Commit the changes to git from ~/.julia/dev/MathOptInterface and submit the PR for review.

      Tip

      If you need help writing a test, open an issue on GitHub, or ask the Developer Chatroom.

      +end

      Finally, you also need to implement Test.version_added. If we added this test when the latest released version of MOI was v0.10.5, define:

      version_added(::typeof(test_unit_optimize!_twice)) = v"0.10.6"

      Step 6

      Commit the changes to git from ~/.julia/dev/MathOptInterface and submit the PR for review.

      Tip

      If you need help writing a test, open an issue on GitHub, or ask the Developer Chatroom.

      diff --git a/dev/moi/submodules/Test/reference/index.html b/dev/moi/submodules/Test/reference/index.html index b15456dbfd7..db96a88c4cb 100644 --- a/dev/moi/submodules/Test/reference/index.html +++ b/dev/moi/submodules/Test/reference/index.html @@ -63,4 +63,4 @@ \text{subject to}\ & x_1 * x_2 * x_3 * x_4 \ge 25 \\ & x_1^2 + x_2^2 + x_3^2 + x_4^2 = 40 \\ & 1 \le x_1, x_2, x_3, x_4 \le 5 -\end{aligned}\]

      The optimal solution is [1.000, 4.743, 3.821, 1.379].

      source +\end{aligned}\]

      The optimal solution is [1.000, 4.743, 3.821, 1.379].

      source diff --git a/dev/moi/submodules/Utilities/overview/index.html b/dev/moi/submodules/Utilities/overview/index.html index b82a63fb7c1..7d1452e17cd 100644 --- a/dev/moi/submodules/Utilities/overview/index.html +++ b/dev/moi/submodules/Utilities/overview/index.html @@ -378,4 +378,4 @@ index_map = MOI.copy_to(dest, src) for (F, S) in MOI.get(src, MOI.ListOfConstraintTypesPresent()) function_barrier(dest, src, index_map[F, S]) -end +end diff --git a/dev/moi/submodules/Utilities/reference/index.html b/dev/moi/submodules/Utilities/reference/index.html index 774ed6f03ca..a48b4dcf2a5 100644 --- a/dev/moi/submodules/Utilities/reference/index.html +++ b/dev/moi/submodules/Utilities/reference/index.html @@ -91,7 +91,7 @@ typeof(CleverDicts.key_to_index), typeof(CleverDicts.index_to_key), } -end

      A struct storing F-in-S constraints as a mapping between the constraint indices to the corresponding tuple of function and set.

      source
      MathOptInterface.Utilities.@struct_of_constraints_by_function_typesMacro
      Utilities.@struct_of_constraints_by_function_types(name, func_types...)

      Given a vector of n function types (F1, F2,..., Fn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of function type Fi.

      The expression Fi can also be a union in which case any constraint for which the function type is in the union is stored in the field with type Ci.

      source
      MathOptInterface.Utilities.@struct_of_constraints_by_set_typesMacro
      Utilities.@struct_of_constraints_by_set_types(name, func_types...)

      Given a vector of n set types (S1, S2,..., Sn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of set type Si. The expression Si can also be a union in which case any constraint for which the set type is in the union is stored in the field with type Ci. This can be useful if Ci is a MatrixOfConstraints in order to concatenate the coefficients of constraints of several different set types in the same matrix.

      source
      MathOptInterface.Utilities.struct_of_constraint_codeFunction
      struct_of_constraint_code(struct_name, types, field_types = nothing)

      Given a vector of n Union{SymbolFun,_UnionSymbolFS{SymbolFun}} or Union{SymbolSet,_UnionSymbolFS{SymbolSet}} in types, defines a subtype of StructOfConstraints of name name and which type parameters {T, F1, F2, ..., Fn} if field_types is nothing and a {T} otherwise. It contains n field where the ith field has type Ci if field_types is nothing and type field_types[i] otherwise. If types is vector of Union{SymbolFun,_UnionSymbolFS{SymbolFun}} (resp. Union{SymbolSet,_UnionSymbolFS{SymbolSet}}) then the constraints of that function (resp. set) type are stored in the corresponding field.

      This function is used by the macros @model, @struct_of_constraints_by_function_types and @struct_of_constraints_by_set_types.

      source

      Caching optimizer

      MathOptInterface.Utilities.CachingOptimizerType
      CachingOptimizer

      CachingOptimizer is an intermediate layer that stores a cache of the model and links it with an optimizer. It supports incremental model construction and modification even when the optimizer doesn't.

      Constructors

          CachingOptimizer(cache::MOI.ModelLike, optimizer::AbstractOptimizer)

      Creates a CachingOptimizer in AUTOMATIC mode, with the optimizer optimizer.

      The type of the optimizer returned is CachingOptimizer{typeof(optimizer), typeof(cache)} so it does not support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.

          CachingOptimizer(cache::MOI.ModelLike, mode::CachingOptimizerMode)

      Creates a CachingOptimizer in the NO_OPTIMIZER state and mode mode.

      The type of the optimizer returned is CachingOptimizer{MOI.AbstractOptimizer,typeof(cache)} so it does support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.

      About the type

      States

      A CachingOptimizer may be in one of three possible states (CachingOptimizerState):

      • NO_OPTIMIZER: The CachingOptimizer does not have any optimizer.
      • EMPTY_OPTIMIZER: The CachingOptimizer has an empty optimizer. The optimizer is not synchronized with the cached model.
      • ATTACHED_OPTIMIZER: The CachingOptimizer has an optimizer, and it is synchronized with the cached model.

      Modes

      A CachingOptimizer has two modes of operation (CachingOptimizerMode):

      • MANUAL: The only methods that change the state of the CachingOptimizer are Utilities.reset_optimizer, Utilities.drop_optimizer, and Utilities.attach_optimizer. Attempting to perform an operation in the incorrect state results in an error.
      • AUTOMATIC: The CachingOptimizer changes its state when necessary. For example, optimize! will automatically call attach_optimizer (an optimizer must have been previously set). Attempting to add a constraint or perform a modification not supported by the optimizer results in a drop to EMPTY_OPTIMIZER mode.
      source
      MathOptInterface.Utilities.attach_optimizerFunction
      attach_optimizer(model::CachingOptimizer)

      Attaches the optimizer to model, copying all model data into it. Can be called only from the EMPTY_OPTIMIZER state. If the copy succeeds, the CachingOptimizer will be in state ATTACHED_OPTIMIZER after the call, otherwise an error is thrown; see MOI.copy_to for more details on which errors can be thrown.

      source
      MOIU.attach_optimizer(model::GenericModel)

      Call MOIU.attach_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MathOptInterface.Utilities.reset_optimizerFunction
      reset_optimizer(m::CachingOptimizer, optimizer::MOI.AbstractOptimizer)

      Sets or resets m to have the given empty optimizer optimizer.

      Can be called from any state. An assertion error will be thrown if optimizer is not empty.

      The CachingOptimizer m will be in state EMPTY_OPTIMIZER after the call.

      source
      reset_optimizer(m::CachingOptimizer)

      Detaches and empties the current optimizer. Can be called from ATTACHED_OPTIMIZER or EMPTY_OPTIMIZER state. The CachingOptimizer will be in state EMPTY_OPTIMIZER after the call.

      source
      MOIU.reset_optimizer(model::GenericModel, optimizer::MOI.AbstractOptimizer)

      Call MOIU.reset_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MOIU.reset_optimizer(model::GenericModel)

      Call MOIU.reset_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MathOptInterface.Utilities.drop_optimizerFunction
      drop_optimizer(m::CachingOptimizer)

      Drops the optimizer, if one is present. Can be called from any state. The CachingOptimizer will be in state NO_OPTIMIZER after the call.

      source
      MOIU.drop_optimizer(model::GenericModel)

      Call MOIU.drop_optimizer on the backend of model.

      Cannot be called in direct mode.

      source

      Mock optimizer

      Printing

      MathOptInterface.Utilities.latex_formulationFunction
      latex_formulation(model::MOI.ModelLike; kwargs...)

      Wrap model in a type so that it can be pretty-printed as text/latex in a notebook like IJulia, or in Documenter.

      To render the model, end the cell with latex_formulation(model), or call display(latex_formulation(model)) in to force the display of the model from inside a function.

      Possible keyword arguments are:

      • simplify_coefficients : Simplify coefficients if possible by omitting them or removing trailing zeros.
      • default_name : The name given to variables with an empty name.
      • print_types : Print the MOI type of each function and set for clarity.
      source

      Copy utilities

      MathOptInterface.Utilities.ModelFilterType
      ModelFilter(filter::Function, model::MOI.ModelLike)

      A layer to filter out various components of model.

      The filter function takes a single argument, which is each element from the list returned by the attributes below. It returns true if the element should be visible in the filtered model and false otherwise.

      The components that are filtered are:

      • Entire constraint types via:
        • MOI.ListOfConstraintTypesPresent
      • Individual constraints via:
        • MOI.ListOfConstraintIndices{F,S}
      • Specific attributes via:
        • MOI.ListOfModelAttributesSet
        • MOI.ListOfConstraintAttributesSet
        • MOI.ListOfVariableAttributesSet
      Warning

      The list of attributes filtered may change in a future release. You should write functions that are generic and not limited to the five types listed above. Thus, you should probably define a fallback filter(::Any) = true.

      See below for examples of how this works.

      Note

      This layer has a limited scope. It is intended by be used in conjunction with MOI.copy_to.

      Example: copy model excluding integer constraints

      Use the do syntax to provide a single function.

      filtered_src = MOI.Utilities.ModelFilter(src) do item
      +end

      A struct storing F-in-S constraints as a mapping between the constraint indices to the corresponding tuple of function and set.

      source
      MathOptInterface.Utilities.@struct_of_constraints_by_function_typesMacro
      Utilities.@struct_of_constraints_by_function_types(name, func_types...)

      Given a vector of n function types (F1, F2,..., Fn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of function type Fi.

      The expression Fi can also be a union in which case any constraint for which the function type is in the union is stored in the field with type Ci.

      source
      MathOptInterface.Utilities.@struct_of_constraints_by_set_typesMacro
      Utilities.@struct_of_constraints_by_set_types(name, func_types...)

      Given a vector of n set types (S1, S2,..., Sn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of set type Si. The expression Si can also be a union in which case any constraint for which the set type is in the union is stored in the field with type Ci. This can be useful if Ci is a MatrixOfConstraints in order to concatenate the coefficients of constraints of several different set types in the same matrix.

      source
      MathOptInterface.Utilities.struct_of_constraint_codeFunction
      struct_of_constraint_code(struct_name, types, field_types = nothing)

      Given a vector of n Union{SymbolFun,_UnionSymbolFS{SymbolFun}} or Union{SymbolSet,_UnionSymbolFS{SymbolSet}} in types, defines a subtype of StructOfConstraints of name name and which type parameters {T, F1, F2, ..., Fn} if field_types is nothing and a {T} otherwise. It contains n field where the ith field has type Ci if field_types is nothing and type field_types[i] otherwise. If types is vector of Union{SymbolFun,_UnionSymbolFS{SymbolFun}} (resp. Union{SymbolSet,_UnionSymbolFS{SymbolSet}}) then the constraints of that function (resp. set) type are stored in the corresponding field.

      This function is used by the macros @model, @struct_of_constraints_by_function_types and @struct_of_constraints_by_set_types.

      source

      Caching optimizer

      MathOptInterface.Utilities.CachingOptimizerType
      CachingOptimizer

      CachingOptimizer is an intermediate layer that stores a cache of the model and links it with an optimizer. It supports incremental model construction and modification even when the optimizer doesn't.

      Constructors

          CachingOptimizer(cache::MOI.ModelLike, optimizer::AbstractOptimizer)

      Creates a CachingOptimizer in AUTOMATIC mode, with the optimizer optimizer.

      The type of the optimizer returned is CachingOptimizer{typeof(optimizer), typeof(cache)} so it does not support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.

          CachingOptimizer(cache::MOI.ModelLike, mode::CachingOptimizerMode)

      Creates a CachingOptimizer in the NO_OPTIMIZER state and mode mode.

      The type of the optimizer returned is CachingOptimizer{MOI.AbstractOptimizer,typeof(cache)} so it does support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.

      About the type

      States

      A CachingOptimizer may be in one of three possible states (CachingOptimizerState):

      • NO_OPTIMIZER: The CachingOptimizer does not have any optimizer.
      • EMPTY_OPTIMIZER: The CachingOptimizer has an empty optimizer. The optimizer is not synchronized with the cached model.
      • ATTACHED_OPTIMIZER: The CachingOptimizer has an optimizer, and it is synchronized with the cached model.

      Modes

      A CachingOptimizer has two modes of operation (CachingOptimizerMode):

      • MANUAL: The only methods that change the state of the CachingOptimizer are Utilities.reset_optimizer, Utilities.drop_optimizer, and Utilities.attach_optimizer. Attempting to perform an operation in the incorrect state results in an error.
      • AUTOMATIC: The CachingOptimizer changes its state when necessary. For example, optimize! will automatically call attach_optimizer (an optimizer must have been previously set). Attempting to add a constraint or perform a modification not supported by the optimizer results in a drop to EMPTY_OPTIMIZER mode.
      source
      MathOptInterface.Utilities.attach_optimizerFunction
      attach_optimizer(model::CachingOptimizer)

      Attaches the optimizer to model, copying all model data into it. Can be called only from the EMPTY_OPTIMIZER state. If the copy succeeds, the CachingOptimizer will be in state ATTACHED_OPTIMIZER after the call, otherwise an error is thrown; see MOI.copy_to for more details on which errors can be thrown.

      source
      MOIU.attach_optimizer(model::GenericModel)

      Call MOIU.attach_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MathOptInterface.Utilities.reset_optimizerFunction
      reset_optimizer(m::CachingOptimizer, optimizer::MOI.AbstractOptimizer)

      Sets or resets m to have the given empty optimizer optimizer.

      Can be called from any state. An assertion error will be thrown if optimizer is not empty.

      The CachingOptimizer m will be in state EMPTY_OPTIMIZER after the call.

      source
      reset_optimizer(m::CachingOptimizer)

      Detaches and empties the current optimizer. Can be called from ATTACHED_OPTIMIZER or EMPTY_OPTIMIZER state. The CachingOptimizer will be in state EMPTY_OPTIMIZER after the call.

      source
      MOIU.reset_optimizer(model::GenericModel, optimizer::MOI.AbstractOptimizer)

      Call MOIU.reset_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MOIU.reset_optimizer(model::GenericModel)

      Call MOIU.reset_optimizer on the backend of model.

      Cannot be called in direct mode.

      source
      MathOptInterface.Utilities.drop_optimizerFunction
      drop_optimizer(m::CachingOptimizer)

      Drops the optimizer, if one is present. Can be called from any state. The CachingOptimizer will be in state NO_OPTIMIZER after the call.

      source
      MOIU.drop_optimizer(model::GenericModel)

      Call MOIU.drop_optimizer on the backend of model.

      Cannot be called in direct mode.

      source

      Mock optimizer

      Printing

      MathOptInterface.Utilities.latex_formulationFunction
      latex_formulation(model::MOI.ModelLike; kwargs...)

      Wrap model in a type so that it can be pretty-printed as text/latex in a notebook like IJulia, or in Documenter.

      To render the model, end the cell with latex_formulation(model), or call display(latex_formulation(model)) in to force the display of the model from inside a function.

      Possible keyword arguments are:

      • simplify_coefficients : Simplify coefficients if possible by omitting them or removing trailing zeros.
      • default_name : The name given to variables with an empty name.
      • print_types : Print the MOI type of each function and set for clarity.
      source

      Copy utilities

      MathOptInterface.Utilities.ModelFilterType
      ModelFilter(filter::Function, model::MOI.ModelLike)

      A layer to filter out various components of model.

      The filter function takes a single argument, which is each element from the list returned by the attributes below. It returns true if the element should be visible in the filtered model and false otherwise.

      The components that are filtered are:

      • Entire constraint types via:
        • MOI.ListOfConstraintTypesPresent
      • Individual constraints via:
        • MOI.ListOfConstraintIndices{F,S}
      • Specific attributes via:
        • MOI.ListOfModelAttributesSet
        • MOI.ListOfConstraintAttributesSet
        • MOI.ListOfVariableAttributesSet
      Warning

      The list of attributes filtered may change in a future release. You should write functions that are generic and not limited to the five types listed above. Thus, you should probably define a fallback filter(::Any) = true.

      See below for examples of how this works.

      Note

      This layer has a limited scope. It is intended by be used in conjunction with MOI.copy_to.

      Example: copy model excluding integer constraints

      Use the do syntax to provide a single function.

      filtered_src = MOI.Utilities.ModelFilter(src) do item
           return item != (MOI.VariableIndex, MOI.Integer)
       end
       MOI.copy_to(dest, filtered_src)

      Example: copy model excluding names

      Use type dispatch to simplify the implementation:

      my_filter(::Any) = true  # Note the generic fallback
      @@ -343,4 +343,4 @@
       For performance, it is recommended that the inner loop lies in a separate
       function to guarantee type-stability.
       
      -If you want an iterator of all current outer keys, use [`outer_keys`](@ref).
      source
      +If you want an iterator of all current outer keys, use [`outer_keys`](@ref).source diff --git a/dev/moi/tutorials/bridging_constraint/index.html b/dev/moi/tutorials/bridging_constraint/index.html index 98cfc9ff0d1..2e47a50b087 100644 --- a/dev/moi/tutorials/bridging_constraint/index.html +++ b/dev/moi/tutorials/bridging_constraint/index.html @@ -103,4 +103,4 @@ end

      Bridge deletion

      When a bridge is deleted, the constraints it added must be deleted too.

      function delete(model::ModelLike, bridge::SignBridge)
           delete(model, bridge.constraint)
           return
      -end
      +end diff --git a/dev/moi/tutorials/example/index.html b/dev/moi/tutorials/example/index.html index 3473bb6469c..82d3024ec55 100644 --- a/dev/moi/tutorials/example/index.html +++ b/dev/moi/tutorials/example/index.html @@ -46,4 +46,4 @@ 3-element Vector{Float64}: 1.0 1.0 - 1.0 + 1.0 diff --git a/dev/moi/tutorials/implementing/index.html b/dev/moi/tutorials/implementing/index.html index 961f6add1ba..28a14cb7f6e 100644 --- a/dev/moi/tutorials/implementing/index.html +++ b/dev/moi/tutorials/implementing/index.html @@ -115,4 +115,4 @@ n = # Code to get NumberOfObjectives return n end

      Then, the user can write:

      model = Gurobi.Optimizer()
      -MOI.set(model, Gurobi.NumberofObjectives(), 3)
      +MOI.set(model, Gurobi.NumberofObjectives(), 3) diff --git a/dev/moi/tutorials/latency/index.html b/dev/moi/tutorials/latency/index.html index da18ab46368..628e19264e6 100644 --- a/dev/moi/tutorials/latency/index.html +++ b/dev/moi/tutorials/latency/index.html @@ -130,4 +130,4 @@ end

      You can create a flame-graph via

      using SnoopCompile
       tinf = @snoopi_deep example_diet(GLPK.Optimizer, true)
       using ProfileView
      -ProfileView.view(flamegraph(tinf))

      Here's how things looked in mid-August 2021: flamegraph

      There are a few opportunities for improvement (non-red flames, particularly on the right). But the main problem is a large red (non-precompilable due to method ownership) flame.

      +ProfileView.view(flamegraph(tinf))

      Here's how things looked in mid-August 2021: flamegraph

      There are a few opportunities for improvement (non-red flames, particularly on the right). But the main problem is a large red (non-precompilable due to method ownership) flame.

      diff --git a/dev/moi/tutorials/manipulating_expressions/index.html b/dev/moi/tutorials/manipulating_expressions/index.html index 879c2fc8736..7ddfb2d25d1 100644 --- a/dev/moi/tutorials/manipulating_expressions/index.html +++ b/dev/moi/tutorials/manipulating_expressions/index.html @@ -23,4 +23,4 @@ 2-element Vector{MathOptInterface.ScalarAffineFunction{Int64}}: (2) + (1) MOI.VariableIndex(1) (4) + (2) MOI.VariableIndex(1)
      Note

      Utilities.eachscalar returns an iterator on the dimensions, which serves the same purpose as Utilities.scalarize.

      output_dimension returns the number of dimensions of the output of a function:

      julia> MOI.output_dimension(g)
      -2
      +2 diff --git a/dev/moi/tutorials/mathprogbase/index.html b/dev/moi/tutorials/mathprogbase/index.html index ed787ca9868..8c7d91e57f6 100644 --- a/dev/moi/tutorials/mathprogbase/index.html +++ b/dev/moi/tutorials/mathprogbase/index.html @@ -55,4 +55,4 @@ objval = objective_value(model), sol = value.(x) ) -end +end diff --git a/dev/objects.inv b/dev/objects.inv index 2b4490976bcecef1fcd89b6343ea7381a3962958..a42d757310eb303bd59c0ba5e6a263745caac7f3 100644 GIT binary patch delta 35208 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
      Uw+{UXE`(H=*UbU?iaG)e#j!_`sBzt;)SYy;O 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 +} diff --git a/dev/packages/AmplNLWriter/index.html b/dev/packages/AmplNLWriter/index.html index 2b5ea7bbb0d..6047b567897 100644 --- a/dev/packages/AmplNLWriter/index.html +++ b/dev/packages/AmplNLWriter/index.html @@ -12,4 +12,4 @@ import Bonmin_jll model = Model(() -> AmplNLWriter.Optimizer(Bonmin_jll.amplexe)) set_attribute(model, "bonmin.nlp_log_level", 0)

      opt files

      Some options need to be specified via an .opt file.

      This file must be located in the current working directory whenever the model is solved.

      The .opt file must be named after the name of the solver, for example, bonmin.opt, and each line must contain an option name and the desired value, separated by a space.

      For example, to set the absolute and relative tolerances in Couenne to 1 and 0.05 respectively, the couenne.opt file should contain:

      allowable_gap 1
      -allowable_fraction_gap 0.05
      +allowable_fraction_gap 0.05 diff --git a/dev/packages/BARON/index.html b/dev/packages/BARON/index.html index 79602fff1c6..c98f9f9528c 100644 --- a/dev/packages/BARON/index.html +++ b/dev/packages/BARON/index.html @@ -6,4 +6,4 @@

      BARON.jl

      Build Status codecov

      BARON.jl is a wrapper for BARON by The Optimization Firm.

      Affiliation

      This wrapper is maintained by the JuMP community and is not officially supported by The Optimization Firm.

      Getting help

      If you need help, please ask a question on the JuMP community forum.

      If you have a reproducible example of a bug, please open a GitHub issue.

      License

      BARON.jl is licensed under the MIT License.

      The underlying solver is a closed-source commercial product for which you must obtain a license from The Optimization Firm, although a small trial version is available for free.

      Installation

      First, download a copy of the BARON solver and unpack the executable in a location of your choosing.

      Once installed, set the BARON_EXEC environment variable pointing to the BARON executable (full path, including file name as it differs across platforms), and run Pkg.add("BARON"). For example:

      ENV["BARON_EXEC"] = "/path/to/baron.exe"
       using Pkg
       Pkg.add("BARON")

      The baronlice.txt license file should be placed in the same directory as the BARON executable, or in your current working directory.

      Use with JuMP

      using JuMP, BARON
      -model = Model(BARON.Optimizer)

      MathOptInterface API

      The BARON optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      +model = Model(BARON.Optimizer)

      MathOptInterface API

      The BARON optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      diff --git a/dev/packages/BilevelJuMP/index.html b/dev/packages/BilevelJuMP/index.html index a709666268d..60eaa48adb9 100644 --- a/dev/packages/BilevelJuMP/index.html +++ b/dev/packages/BilevelJuMP/index.html @@ -34,4 +34,4 @@ objective_value(model) # = 3 * (3.5 * 8/15) + 8/15 # = 6.13... value(x) # = 3.5 * 8/15 # = 1.86... -value(y) # = 8/15 # = 0.53... +value(y) # = 8/15 # = 0.53... diff --git a/dev/packages/CDCS/index.html b/dev/packages/CDCS/index.html index 18c20e6a021..0a57bf68165 100644 --- a/dev/packages/CDCS/index.html +++ b/dev/packages/CDCS/index.html @@ -27,4 +27,4 @@ mat"cdcsInstall" end -julia> mat"savepath" +julia> mat"savepath" diff --git a/dev/packages/CDDLib/index.html b/dev/packages/CDDLib/index.html index 6f9c2185016..3644913b4ed 100644 --- a/dev/packages/CDDLib/index.html +++ b/dev/packages/CDDLib/index.html @@ -6,4 +6,4 @@

      CDDLib

      CDDLib.jl is a wrapper for cddlib.

      CDDLib.jl can be used with C API of cddlib, the higher level interface of Polyhedra.jl, or as a linear programming solver with JuMP or MathOptInterface.

      Problem description

      As written in the README of cddlib:

      The C-library cddlib is a C implementation of the Double Description Method of Motzkin et al. for generating all vertices (that is, extreme points) and extreme rays of a general convex polyhedron in R^d given by a system of linear inequalities:

      P = { x=(x1, ..., xd)^T :  b - A  x  >= 0 }

      where A is a given m x d real matrix, b is a given m-vector and 0 is the m-vector of all zeros.

      The program can be used for the reverse operation (that is, convex hull computation). This means that one can move back and forth between an inequality representation and a generator (that is, vertex and ray) representation of a polyhedron with cdd. Also, cdd can solve a linear programming problem, that is, a problem of maximizing and minimizing a linear function over P.

      License

      CDDLib.jl is licensed under the GPL v2 license.

      The underlying solver, cddlib/cddlib is also licensed under the GPL v2 license.

      Installation

      Install CDDLib.jl using the Julia package manager:

      import Pkg
       Pkg.add("CDDLib")

      Building the package will download binaries of cddlib that are provided by cddlib_jll.jl.

      Use with JuMP

      Use CDDLib.Optimizer{Float64} to use CDDLib.jl with JuMP:

      using JuMP, CDDLib
       model = Model(CDDLib.Optimizer{Float64})

      When using CDDLib.jl with MathOptInterface, you can pass a different number type:

      using MathOptInterface, CDDLib
      -model = CDDLib.Optimizer{Rational{BigInt}}()

      Debugging

      CDDLib.jl uses two global Boolean variables to enable debugging outputs: debug and log.

      You can query the value of debug and log with get_debug and get_log, and set their values with set_debug and set_log.

      +model = CDDLib.Optimizer{Rational{BigInt}}()

      Debugging

      CDDLib.jl uses two global Boolean variables to enable debugging outputs: debug and log.

      You can query the value of debug and log with get_debug and get_log, and set their values with set_debug and set_log.

      diff --git a/dev/packages/COPT/index.html b/dev/packages/COPT/index.html index 7d423d8c190..9d9cf257641 100644 --- a/dev/packages/COPT/index.html +++ b/dev/packages/COPT/index.html @@ -39,4 +39,4 @@ @show value.(X) @show value.(z) @show shadow_price(c1) -@show shadow_price(c2) +@show shadow_price(c2) diff --git a/dev/packages/COSMO/index.html b/dev/packages/COSMO/index.html index bd09a35d911..fd9848c26a1 100644 --- a/dev/packages/COSMO/index.html +++ b/dev/packages/COSMO/index.html @@ -34,4 +34,4 @@ publisher = {Springer}, doi = {10.1007/s10957-021-01896-x}, url = {https://doi.org/10.1007/s10957-021-01896-x} -}

      The article is available under Open Access here.

      Contributing

      • Contributions are always welcome. Our style guide can be found here.
      • Current issues, tasks and future ideas are listed in Issues. Please report any issues or bugs that you encounter.
      • As an open source project we are also interested in any projects and applications that use COSMO. Please let us know by opening a GitHub issue.

      Python - Interface

      COSMO can also be called from Python. Take a look at: cosmo-python

      Licence 🔍

      This project is licensed under the Apache License - see the LICENSE.md file for details.

      +}

      The article is available under Open Access here.

      Contributing

      • Contributions are always welcome. Our style guide can be found here.
      • Current issues, tasks and future ideas are listed in Issues. Please report any issues or bugs that you encounter.
      • As an open source project we are also interested in any projects and applications that use COSMO. Please let us know by opening a GitHub issue.

      Python - Interface

      COSMO can also be called from Python. Take a look at: cosmo-python

      Licence 🔍

      This project is licensed under the Apache License - see the LICENSE.md file for details.

      diff --git a/dev/packages/CPLEX/index.html b/dev/packages/CPLEX/index.html index a234576e310..e9ad11378e9 100644 --- a/dev/packages/CPLEX/index.html +++ b/dev/packages/CPLEX/index.html @@ -163,4 +163,4 @@ x_optimal = value.(x) y_optimal = value.(y) println("x: $(x_optimal), y: $(y_optimal)") -end +end diff --git a/dev/packages/CSDP/index.html b/dev/packages/CSDP/index.html index 1a29f1f3cd3..3e18490e333 100644 --- a/dev/packages/CSDP/index.html +++ b/dev/packages/CSDP/index.html @@ -10,4 +10,4 @@ A(X) = a X ⪰ 0

      where A(X) = [⟨A_1, X⟩, ..., ⟨A_m, X⟩]. The corresponding dual is:

      min ⟨a, y⟩
            A'(y) - C = Z
      -             Z ⪰ 0

      where A'(y) = y_1A_1 + ... + y_mA_m

      Termination criteria

      CSDP will terminate successfully (or partially) in the following cases:

      • If CSDP finds X, Z ⪰ 0 such that the following 3 tolerances are satisfied:
        • primal feasibility tolerance: ||A(x) - a||_2 / (1 + ||a||_2) < axtol
        • dual feasibility tolerance: ||A'(y) - C - Z||_F / (1 + ||C||_F) < atytol
        • relative duality gap tolerance: gap / (1 + |⟨a, y⟩| + |⟨C, X⟩|) < objtol
          • objective duality gap: if usexygap is 0, gap = ⟨a, y⟩ - ⟨C, X⟩
          • XY duality gap: if usexygap is 1, gap = ⟨Z, X⟩
        then it returns 0.
      • If CSDP finds y and Z ⪰ 0 such that -⟨a, y⟩ / ||A'(y) - Z||_F > pinftol, it returns 1 with y such that ⟨a, y⟩ = -1.
      • If CSDP finds X ⪰ 0 such that ⟨C, X⟩ / ||A(X)||_2 > dinftol, it returns 2 with X such that ⟨C, X⟩ = 1.
      • If CSDP finds X, Z ⪰ 0 such that the following 3 tolerances are satisfied with 1000*axtol, 1000*atytol and 1000*objtol but at least one of them is not satisfied with axtol, atytol and objtol and cannot make progress, then it returns 3.

      In addition, if the printlevel option is at least 1, the following will be printed:

      • If the return code is 1, CSDP will print ⟨a, y⟩ and ||A'(y) - Z||_F
      • If the return code is 2, CSDP will print ⟨C, X⟩ and ||A(X)||_F
      • Otherwise, CSDP will print
        • the primal/dual objective value,
        • the relative primal/dual infeasibility,
        • the objective duality gap ⟨a, y⟩ - ⟨C, X⟩ and objective relative duality gap (⟨a, y⟩ - ⟨C, X⟩) / (1 + |⟨a, y⟩| + |⟨C, X⟩|),
        • the XY duality gap ⟨Z, X⟩ and XY relative duality gap ⟨Z, X⟩ / (1 + |⟨a, y⟩| + |⟨C, X⟩|)
        • and the DIMACS error measures.

      In theory, for feasible primal and dual solutions, ⟨a, y⟩ - ⟨C, X⟩ = ⟨Z, X⟩, so the objective and XY duality gap should be equivalent. However, in practice, there are sometimes solution which satisfy primal and dual feasibility tolerances but have objective duality gap which are not close to XY duality gap. In some cases, the objective duality gap may even become negative (hence the tweakgap option). This is the reason usexygap is 1 by default.

      CSDP considers that X ⪰ 0 (resp. Z ⪰ 0) is satisfied when the Cholesky factorizations can be computed. In practice, this is somewhat more conservative than simply requiring all eigenvalues to be nonnegative.

      Status

      The table below shows how the different CSDP statuses are converted to the MathOptInterface statuses.

      CSDP codeStateDescriptionMOI status
      0SuccessSDP solvedMOI.OPTIMAL
      1SuccessThe problem is primal infeasible, and we have a certificateMOI.INFEASIBLE
      2SuccessThe problem is dual infeasible, and we have a certificateMOI.DUAL_INFEASIBLE
      3Partial SuccessA solution has been found, but full accuracy was not achievedMOI.ALMOST_OPTIMAL
      4FailureMaximum iterations reachedMOI.ITERATION_LIMIT
      5FailureStuck at edge of primal feasibilityMOI.SLOW_PROGRESS
      6FailureStuck at edge of dual infeasibilityMOI.SLOW_PROGRESS
      7FailureLack of progressMOI.SLOW_PROGRESS
      8FailureX, Z, or O was singularMOI.NUMERICAL_ERROR
      9FailureDetected NaN or Inf valuesMOI.NUMERICAL_ERROR
      + Z ⪰ 0

      where A'(y) = y_1A_1 + ... + y_mA_m

      Termination criteria

      CSDP will terminate successfully (or partially) in the following cases:

      • If CSDP finds X, Z ⪰ 0 such that the following 3 tolerances are satisfied:
        • primal feasibility tolerance: ||A(x) - a||_2 / (1 + ||a||_2) < axtol
        • dual feasibility tolerance: ||A'(y) - C - Z||_F / (1 + ||C||_F) < atytol
        • relative duality gap tolerance: gap / (1 + |⟨a, y⟩| + |⟨C, X⟩|) < objtol
          • objective duality gap: if usexygap is 0, gap = ⟨a, y⟩ - ⟨C, X⟩
          • XY duality gap: if usexygap is 1, gap = ⟨Z, X⟩
        then it returns 0.
      • If CSDP finds y and Z ⪰ 0 such that -⟨a, y⟩ / ||A'(y) - Z||_F > pinftol, it returns 1 with y such that ⟨a, y⟩ = -1.
      • If CSDP finds X ⪰ 0 such that ⟨C, X⟩ / ||A(X)||_2 > dinftol, it returns 2 with X such that ⟨C, X⟩ = 1.
      • If CSDP finds X, Z ⪰ 0 such that the following 3 tolerances are satisfied with 1000*axtol, 1000*atytol and 1000*objtol but at least one of them is not satisfied with axtol, atytol and objtol and cannot make progress, then it returns 3.

      In addition, if the printlevel option is at least 1, the following will be printed:

      • If the return code is 1, CSDP will print ⟨a, y⟩ and ||A'(y) - Z||_F
      • If the return code is 2, CSDP will print ⟨C, X⟩ and ||A(X)||_F
      • Otherwise, CSDP will print
        • the primal/dual objective value,
        • the relative primal/dual infeasibility,
        • the objective duality gap ⟨a, y⟩ - ⟨C, X⟩ and objective relative duality gap (⟨a, y⟩ - ⟨C, X⟩) / (1 + |⟨a, y⟩| + |⟨C, X⟩|),
        • the XY duality gap ⟨Z, X⟩ and XY relative duality gap ⟨Z, X⟩ / (1 + |⟨a, y⟩| + |⟨C, X⟩|)
        • and the DIMACS error measures.

      In theory, for feasible primal and dual solutions, ⟨a, y⟩ - ⟨C, X⟩ = ⟨Z, X⟩, so the objective and XY duality gap should be equivalent. However, in practice, there are sometimes solution which satisfy primal and dual feasibility tolerances but have objective duality gap which are not close to XY duality gap. In some cases, the objective duality gap may even become negative (hence the tweakgap option). This is the reason usexygap is 1 by default.

      CSDP considers that X ⪰ 0 (resp. Z ⪰ 0) is satisfied when the Cholesky factorizations can be computed. In practice, this is somewhat more conservative than simply requiring all eigenvalues to be nonnegative.

      Status

      The table below shows how the different CSDP statuses are converted to the MathOptInterface statuses.

      CSDP codeStateDescriptionMOI status
      0SuccessSDP solvedMOI.OPTIMAL
      1SuccessThe problem is primal infeasible, and we have a certificateMOI.INFEASIBLE
      2SuccessThe problem is dual infeasible, and we have a certificateMOI.DUAL_INFEASIBLE
      3Partial SuccessA solution has been found, but full accuracy was not achievedMOI.ALMOST_OPTIMAL
      4FailureMaximum iterations reachedMOI.ITERATION_LIMIT
      5FailureStuck at edge of primal feasibilityMOI.SLOW_PROGRESS
      6FailureStuck at edge of dual infeasibilityMOI.SLOW_PROGRESS
      7FailureLack of progressMOI.SLOW_PROGRESS
      8FailureX, Z, or O was singularMOI.NUMERICAL_ERROR
      9FailureDetected NaN or Inf valuesMOI.NUMERICAL_ERROR
      diff --git a/dev/packages/Cbc/index.html b/dev/packages/Cbc/index.html index 61909f8b0a0..4866e9a0509 100644 --- a/dev/packages/Cbc/index.html +++ b/dev/packages/Cbc/index.html @@ -9,4 +9,4 @@ set_attribute(model, "logLevel", 1)

      MathOptInterface API

      The COIN Branch-and-Cut (Cbc) optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      List of supported optimizer attributes:

      List of supported variable attributes:

      List of supported constraint attributes:

      Options

      Options are, unfortunately, not well documented.

      The following options are likely to be the most useful:

      ParameterExampleExplanation
      seconds60.0Solution timeout limit
      logLevel2Set to 0 to disable solution output
      maxSolutions1Terminate after this many feasible solutions have been found
      maxNodes1Terminate after this many branch-and-bound nodes have been evaluated
      allowableGap0.05Terminate after optimality gap is less than this value (on an absolute scale)
      ratioGap0.05Terminate after optimality gap is smaller than this relative fraction
      threads1Set the number of threads to use for parallel branch & bound

      The complete list of parameters can be found by running the cbc executable and typing ? at the prompt.

      Start the cbc executable from Julia as follows:

      using Cbc_jll
       Cbc_jll.cbc() do exe
           run(`$(exe)`)
      -end
      +end diff --git a/dev/packages/Clarabel/index.html b/dev/packages/Clarabel/index.html index 4f4a87b1583..f68e2923151 100644 --- a/dev/packages/Clarabel/index.html +++ b/dev/packages/Clarabel/index.html @@ -33,4 +33,4 @@

      eprint={2405.12762}, archivePrefix={arXiv}, primaryClass={math.OC} -}

      License 🔍

      This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

      +}

      License 🔍

      This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

      diff --git a/dev/packages/Clp/index.html b/dev/packages/Clp/index.html index 878c14c48f1..da14c15a0f0 100644 --- a/dev/packages/Clp/index.html +++ b/dev/packages/Clp/index.html @@ -7,4 +7,4 @@ Pkg.add("Clp")

      In addition to installing the Clp.jl package, this will also download and install the Clp binaries. You do not need to install Clp separately.

      To use a custom binary, read the Custom solver binaries section of the JuMP documentation.

      Use with JuMP

      To use Clp with JuMP, use Clp.Optimizer:

      using JuMP, Clp
       model = Model(Clp.Optimizer)
       set_attribute(model, "LogLevel", 1)
      -set_attribute(model, "Algorithm", 4)

      MathOptInterface API

      The Clp optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      Options are, unfortunately, not well documented.

      The following options are likely to be the most useful:

      ParameterExampleExplanation
      PrimalTolerance1e-7Primal feasibility tolerance
      DualTolerance1e-7Dual feasibility tolerance
      DualObjectiveLimit1e308When using dual simplex (where the objective is monotonically changing), terminate when the objective exceeds this limit
      MaximumIterations2147483647Terminate after performing this number of simplex iterations
      MaximumSeconds-1.0Terminate after this many seconds have passed. A negative value means no time limit
      LogLevel1Set to 1, 2, 3, or 4 for increasing output. Set to 0 to disable output
      PresolveType0Set to 1 to disable presolve
      SolveType5Solution method: dual simplex (0), primal simplex (1), sprint (2), barrier with crossover (3), barrier without crossover (4), automatic (5)
      InfeasibleReturn0Set to 1 to return as soon as the problem is found to be infeasible (by default, an infeasibility proof is computed as well)
      Scaling30 -off, 1 equilibrium, 2 geometric, 3 auto, 4 dynamic(later)
      Perturbation100switch on perturbation (50), automatic (100), don't try perturbing (102)

      C API

      The C API can be accessed via Clp.Clp_XXX functions, where the names and arguments are identical to the C API.

      +set_attribute(model, "Algorithm", 4)

      MathOptInterface API

      The Clp optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      Options are, unfortunately, not well documented.

      The following options are likely to be the most useful:

      ParameterExampleExplanation
      PrimalTolerance1e-7Primal feasibility tolerance
      DualTolerance1e-7Dual feasibility tolerance
      DualObjectiveLimit1e308When using dual simplex (where the objective is monotonically changing), terminate when the objective exceeds this limit
      MaximumIterations2147483647Terminate after performing this number of simplex iterations
      MaximumSeconds-1.0Terminate after this many seconds have passed. A negative value means no time limit
      LogLevel1Set to 1, 2, 3, or 4 for increasing output. Set to 0 to disable output
      PresolveType0Set to 1 to disable presolve
      SolveType5Solution method: dual simplex (0), primal simplex (1), sprint (2), barrier with crossover (3), barrier without crossover (4), automatic (5)
      InfeasibleReturn0Set to 1 to return as soon as the problem is found to be infeasible (by default, an infeasibility proof is computed as well)
      Scaling30 -off, 1 equilibrium, 2 geometric, 3 auto, 4 dynamic(later)
      Perturbation100switch on perturbation (50), automatic (100), don't try perturbing (102)

      C API

      The C API can be accessed via Clp.Clp_XXX functions, where the names and arguments are identical to the C API.

      diff --git a/dev/packages/DAQP/index.html b/dev/packages/DAQP/index.html index c1be5f9ea72..60e72803552 100644 --- a/dev/packages/DAQP/index.html +++ b/dev/packages/DAQP/index.html @@ -5,4 +5,4 @@ gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash});

      DAQP.jl

      DAQP.jl is a Julia wrapper for the Quadratic Programming solver DAQP.

      License

      DAQP.jl is licensed under the MIT license.

      The underlying solver, darnstrom/daqp is licensed under the MIT license.

      Installation

      Install DAQP.jl using the Julia package manager:

      import Pkg
       Pkg.add("DAQP")

      Use with JuMP

      To use DAQP with JuMP, do:

      using JuMP, DAQP
      -model = Model(DAQP.Optimizer)

      Documentation

      General information about the solver is available at https://darnstrom.github.io/daqp/, and specifics for the Julia interface are available at https://darnstrom.github.io/daqp/start/julia.

      +model = Model(DAQP.Optimizer)

      Documentation

      General information about the solver is available at https://darnstrom.github.io/daqp/, and specifics for the Julia interface are available at https://darnstrom.github.io/daqp/start/julia.

      diff --git a/dev/packages/DSDP/index.html b/dev/packages/DSDP/index.html index 109a588ff81..5c23367eb89 100644 --- a/dev/packages/DSDP/index.html +++ b/dev/packages/DSDP/index.html @@ -8,4 +8,4 @@ model = Model(DSDP.Optimizer)

      MathOptInterface API

      The DSDP optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Compile your own binaries

      In order to compile your own libdsdp.so to be used of DSDP.jl, use the following

      OB_DIR=$(julia --project=. -e 'import OpenBLAS32_jll; println(OpenBLAS32_jll.OpenBLAS32_jll.artifact_dir)')
       OB="-L${LIBOB_DIR}/lib -lopenblas"
       make DSDPCFLAGS="-g -Wall -fPIC -DPIC" LAPACKBLAS="$OB" dsdplibrary
      -make DSDPCFLAGS="-g -Wall -fPIC -DPIC" LAPACKBLAS="$OB" SH_LD="${CC} ${CFLAGS} -Wall -fPIC -DPIC -shared $OB" oshared
      +make DSDPCFLAGS="-g -Wall -fPIC -DPIC" LAPACKBLAS="$OB" SH_LD="${CC} ${CFLAGS} -Wall -fPIC -DPIC -shared $OB" oshared diff --git a/dev/packages/DiffOpt/index.html b/dev/packages/DiffOpt/index.html index 34e8407a410..dd93e0089ff 100644 --- a/dev/packages/DiffOpt/index.html +++ b/dev/packages/DiffOpt/index.html @@ -20,4 +20,4 @@ # fetch the gradients grad_exp = MOI.get(model, DiffOpt.ReverseConstraintFunction(), cons) # -3 x - 1 constant(grad_exp) # -1 -coefficient(grad_exp, x) # -3

      GSOC2020

      DiffOpt began as a NumFOCUS sponsored Google Summer of Code (2020) project

      +coefficient(grad_exp, x) # -3

      GSOC2020

      DiffOpt began as a NumFOCUS sponsored Google Summer of Code (2020) project

      diff --git a/dev/packages/DisjunctiveProgramming/index.html b/dev/packages/DisjunctiveProgramming/index.html index b0e419d5902..6ef15e176f0 100644 --- a/dev/packages/DisjunctiveProgramming/index.html +++ b/dev/packages/DisjunctiveProgramming/index.html @@ -8,4 +8,4 @@ author={Perez, Hector D and Joshi, Shivank and Grossmann, Ignacio E}, journal={arXiv preprint arXiv:2304.10492}, year={2023} -} +} diff --git a/dev/packages/Dualization/index.html b/dev/packages/Dualization/index.html index e7918c43df0..85d9b3d00ec 100644 --- a/dev/packages/Dualization/index.html +++ b/dev/packages/Dualization/index.html @@ -10,4 +10,4 @@ dual_model = dualize(model)

      To solve the dual formulation of a JuMP model, create a dual_optimizer:

      using JuMP, Dualization, SCS
       model = Model(dual_optimizer(SCS.Optimizer))
       # ... build model ...
      -optimize!(model)  # Solves the dual instead of the primal

      Documentation

      The documentation for Dualization.jl includes a detailed description of the dual reformulation, along with examples and an API reference.

      +optimize!(model) # Solves the dual instead of the primal

      Documentation

      The documentation for Dualization.jl includes a detailed description of the dual reformulation, along with examples and an API reference.

      diff --git a/dev/packages/EAGO/index.html b/dev/packages/EAGO/index.html index adfdec720f1..0b738b4e08a 100644 --- a/dev/packages/EAGO/index.html +++ b/dev/packages/EAGO/index.html @@ -71,4 +71,4 @@ doi = {10.1080/10556788.2020.1786566}, URL = {https://doi.org/10.1080/10556788.2020.1786566}, eprint = {https://doi.org/10.1080/10556788.2020.1786566} -}

      References

      1. Mitsos, A., Chachuat, B., and Barton, P.I. McCormick-based relaxations of algorithms. SIAM Journal on Optimization. 20(2): 573—601 (2009).
      2. Khan, K.A., Watson, H.A.J., and Barton, P.I. Differentiable McCormick relaxations. Journal of Global Optimization. 67(4): 687—729 (2017).
      3. Stuber, M.D., Scott, J.K., and Barton, P.I.: Convex and concave relaxations of implicit functions. Optimization Methods and Software 30(3): 424—460 (2015).
      4. Wechsung, A., Scott, J.K., Watson, H.A.J., and Barton, P.I. Reverse propagation of McCormick relaxations. Journal of Global Optimization 63(1): 1—36 (2015).
      5. Bracken, J., and McCormick, G.P. Selected Applications of Nonlinear Programming. John Wiley and Sons, New York (1968).
      +}

      References

      1. Mitsos, A., Chachuat, B., and Barton, P.I. McCormick-based relaxations of algorithms. SIAM Journal on Optimization. 20(2): 573—601 (2009).
      2. Khan, K.A., Watson, H.A.J., and Barton, P.I. Differentiable McCormick relaxations. Journal of Global Optimization. 67(4): 687—729 (2017).
      3. Stuber, M.D., Scott, J.K., and Barton, P.I.: Convex and concave relaxations of implicit functions. Optimization Methods and Software 30(3): 424—460 (2015).
      4. Wechsung, A., Scott, J.K., Watson, H.A.J., and Barton, P.I. Reverse propagation of McCormick relaxations. Journal of Global Optimization 63(1): 1—36 (2015).
      5. Bracken, J., and McCormick, G.P. Selected Applications of Nonlinear Programming. John Wiley and Sons, New York (1968).
      diff --git a/dev/packages/ECOS/index.html b/dev/packages/ECOS/index.html index f77882a302a..67dc78633db 100644 --- a/dev/packages/ECOS/index.html +++ b/dev/packages/ECOS/index.html @@ -6,4 +6,4 @@

      ECOS.jl

      Build Status codecov

      ECOS.jl is a wrapper for the ECOS solver.

      The wrapper has two components:

      Affiliation

      This wrapper is maintained by the JuMP community and is not a product of Embotech AG.

      License

      ECOS.jl is licensed under the MIT License.

      The underlying solver, embotech/ecos, is licensed under the GPL v3 license.

      Installation

      Install ECOS.jl using Pkg.add:

      import Pkg
       Pkg.add("ECOS")

      In addition to installing the ECOS.jl package, this will also download and install the ECOS binaries. You do not need to install ECOS separately.

      To use a custom binary, read the Custom solver binaries section of the JuMP documentation.

      Use with JuMP

      To use ECOS with JuMP, use ECOS.Optimizer:

      using JuMP, ECOS
       model = Model(ECOS.Optimizer)
      -set_attribute(model, "maxit", 100)

      MathOptInterface API

      The ECOS optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      The following options are supported:

      ParameterExplanation
      gammascaling the final step length
      deltaregularization parameter
      epsregularization threshold
      feastolprimal/dual infeasibility tolerance
      abstolabsolute tolerance on duality gap
      reltolrelative tolerance on duality gap
      feastol_inaccprimal/dual infeasibility relaxed tolerance
      abstol_inaccabsolute relaxed tolerance on duality gap
      reltol_inaccrelative relaxed tolerance on duality gap
      nitrefnumber of iterative refinement steps
      maxitmaximum number of iterations
      verboseverbosity bool for PRINTLEVEL < 3
      +set_attribute(model, "maxit", 100)

      MathOptInterface API

      The ECOS optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      The following options are supported:

      ParameterExplanation
      gammascaling the final step length
      deltaregularization parameter
      epsregularization threshold
      feastolprimal/dual infeasibility tolerance
      abstolabsolute tolerance on duality gap
      reltolrelative tolerance on duality gap
      feastol_inaccprimal/dual infeasibility relaxed tolerance
      abstol_inaccabsolute relaxed tolerance on duality gap
      reltol_inaccrelative relaxed tolerance on duality gap
      nitrefnumber of iterative refinement steps
      maxitmaximum number of iterations
      verboseverbosity bool for PRINTLEVEL < 3
      diff --git a/dev/packages/GAMS/index.html b/dev/packages/GAMS/index.html index 76fd9651a95..416f6f53595 100644 --- a/dev/packages/GAMS/index.html +++ b/dev/packages/GAMS/index.html @@ -22,4 +22,4 @@ MOI.get(model, GAMS.GeneratedConstraintName(), c[2]) # returns eq2 MOI.get(model, GAMS.OriginalConstraintName("eq1")) # returns c[1] -MOI.get(model, GAMS.OriginalConstraintName("eq10")) # returns nothing

      Note that JuMP direct-mode is used.

      +MOI.get(model, GAMS.OriginalConstraintName("eq10")) # returns nothing

      Note that JuMP direct-mode is used.

      diff --git a/dev/packages/GLPK/index.html b/dev/packages/GLPK/index.html index 85c740f75da..703c42c9bd3 100644 --- a/dev/packages/GLPK/index.html +++ b/dev/packages/GLPK/index.html @@ -36,4 +36,4 @@ @test primal_status(model) == MOI.FEASIBLE_POINT @test value(x) == 1 @test value(y) == 2 -@show reasons

      C API

      The C API can be accessed via GLPK.glp_XXX functions, where the names and arguments are identical to the C API. See the /tests folder for inspiration.

      Thread safety

      GLPK is not thread-safe and should not be used with multithreading.

      +@show reasons

      C API

      The C API can be accessed via GLPK.glp_XXX functions, where the names and arguments are identical to the C API. See the /tests folder for inspiration.

      Thread safety

      GLPK is not thread-safe and should not be used with multithreading.

      diff --git a/dev/packages/Gurobi/index.html b/dev/packages/Gurobi/index.html index a0641ee12ba..76a67c879b7 100644 --- a/dev/packages/Gurobi/index.html +++ b/dev/packages/Gurobi/index.html @@ -169,4 +169,4 @@ println(lower_bound(x[i])) end

      Common errors

      Using Gurobi v9.0 and you got an error like Q not PSD?

      You need to set the NonConvex parameter:

      model = Model(Gurobi.Optimizer)
       set_optimizer_attribute(model, "NonConvex", 2)

      Gurobi Error 1009: Version number is XX.X, license is for version XX.X

      Make sure that your license is correct for your Gurobi version. See the Gurobi documentation for details.

      Once you are sure that the license and Gurobi versions match, re-install Gurobi.jl by running:

      import Pkg
      -Pkg.build("Gurobi")
      +Pkg.build("Gurobi") diff --git a/dev/packages/HiGHS/index.html b/dev/packages/HiGHS/index.html index b517df8d948..1b8f791200f 100644 --- a/dev/packages/HiGHS/index.html +++ b/dev/packages/HiGHS/index.html @@ -11,4 +11,4 @@ set_attribute(model, "time_limit", 60.0)

      MathOptInterface API

      The HiGHS optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      See the HiGHS documentation for a full list of the available options.

      C API

      The C API can be accessed via HiGHS.Highs_xxx functions, where the names and arguments are identical to the C API.

      Threads

      HiGHS uses a global scheduler that is shared between threads.

      Before changing the number of threads using MOI.Threads(), you must call Highs_resetGlobalScheduler(1):

      using JuMP, HiGHS
       model = Model(HiGHS.Optimizer)
       Highs_resetGlobalScheduler(1)
      -set_attribute(model, MOI.NumberOfThreads(), 1)

      If modifying the number of HiGHS threads across different Julia threads, be sure to read the docstring of Highs_resetGlobalScheduler. In particular, resetting the scheduler is not thread-safe.

      +set_attribute(model, MOI.NumberOfThreads(), 1)

      If modifying the number of HiGHS threads across different Julia threads, be sure to read the docstring of Highs_resetGlobalScheduler. In particular, resetting the scheduler is not thread-safe.

      diff --git a/dev/packages/Hypatia/index.html b/dev/packages/Hypatia/index.html index 04171508735..ada91e7beab 100644 --- a/dev/packages/Hypatia/index.html +++ b/dev/packages/Hypatia/index.html @@ -42,4 +42,4 @@ volume={15}, pages={53--101}, doi={https://doi.org/10.1007/s12532-022-00226-0} -} +} diff --git a/dev/packages/InfiniteOpt/index.html b/dev/packages/InfiniteOpt/index.html index 1150abc8569..fa1e5e3b167 100644 --- a/dev/packages/InfiniteOpt/index.html +++ b/dev/packages/InfiniteOpt/index.html @@ -12,4 +12,4 @@ doi = {https://doi.org/10.1016/j.compchemeng.2021.107567}, url = {https://www.sciencedirect.com/science/article/pii/S0098135421003458}, author = {Joshua L. Pulsipher and Weiqi Zhang and Tyler J. Hongisto and Victor M. Zavala}, -}

      A pre-print version is freely available though arXiv.

      +}

      A pre-print version is freely available though arXiv.

      diff --git a/dev/packages/Ipopt/index.html b/dev/packages/Ipopt/index.html index 03dfd58afaf..d07cfdaa32f 100644 --- a/dev/packages/Ipopt/index.html +++ b/dev/packages/Ipopt/index.html @@ -124,4 +124,4 @@ LinearAlgebra.BLAS.lbt_forward(liblapack32) using Ipopt

      AppleAccelerate

      If you are using macOS ≥ v13.4 and you have AppleAccelerate.jl installed, add using AppleAccelerate to your code:

      using AppleAccelerate
       using Ipopt

      Display backends

      Check what backends are loaded using:

      import LinearAlgebra
      -LinearAlgebra.BLAS.lbt_get_config()
      +LinearAlgebra.BLAS.lbt_get_config() diff --git a/dev/packages/Juniper/index.html b/dev/packages/Juniper/index.html index 8c6adfc8a85..31a653f50b9 100644 --- a/dev/packages/Juniper/index.html +++ b/dev/packages/Juniper/index.html @@ -33,4 +33,4 @@ year="2018", publisher="Springer International Publishing", isbn="978-3-319-93031-2" -} +} diff --git a/dev/packages/KNITRO/index.html b/dev/packages/KNITRO/index.html index f7b981fdecc..97a431ee994 100644 --- a/dev/packages/KNITRO/index.html +++ b/dev/packages/KNITRO/index.html @@ -10,4 +10,4 @@ set_attribute(model, "algorithm", 4)

      Use with AMPL

      To use KNITRO with AmplNLWriter.jl, use KNITRO.amplexe:

      using JuMP
       import AmplNLWriter
       import KNITRO
      -model = Model(() -> AmplNLWriter.Optimizer(KNITRO.amplexe, ["outlev=3"]))

      Use with other packages

      A variety of packages extend KNITRO.jl to support other optimization modeling systems. These include:

      MathOptInterface API

      The Knitro optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      A list of available options is provided in the KNITRO reference manual.

      Low-level wrapper

      The complete C API can be accessed via KNITRO.KN_xx functions, where the names and arguments are identical to the C API.

      See the KNITRO documentation for details.

      As general rules when converting from Julia to C:

      • When KNITRO requires a Ptr{T} that holds one element, like double *, use a Ref{T}().
      • When KNITRO requires a Ptr{T} that holds multiple elements, use a Vector{T}.
      • When KNITRO requires a double, use Cdouble
      • When KNITRO requires an int, use Cint
      • When KNITRO requires a NULL, use C_NULL

      Extensive examples using the C wrapper can be found in examples/.

      Breaking changes

      KNITRO.jl v0.14.0 introduced a number of breaking changes to the low-level C API. The main changes were:

      1. removing Julia-specific functions like KN_set_param. Use the C API functions like KN_set_int_param and KN_set_double_param_by_name.
      2. removing intermediate methods that tried to make the C API more Julia-like. For example, we have removed the KN_add_var method that returned the index of the variable. There is now only the method from the C API.

      If you have trouble updating, please open a GitHub issue.

      Multi-threading

      Due to limitations in the interaction between Julia and C, KNITRO.jl disables multi-threading if the problem is nonlinear. This will override any options such as par_numthreads that you may have set.

      If you are using the low-level API, opt-in to enable multi-threading by calling KN_solve(model.env) instead of KN_solve(model), where model is the value returned by model = KN_new(). Note that calling KN_solve(model.env) is an advanced operation because it requires all callbacks you provide to be threadsafe.

      Read GitHub issue #93 for more details.

      +model = Model(() -> AmplNLWriter.Optimizer(KNITRO.amplexe, ["outlev=3"]))

      Use with other packages

      A variety of packages extend KNITRO.jl to support other optimization modeling systems. These include:

      MathOptInterface API

      The Knitro optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      A list of available options is provided in the KNITRO reference manual.

      Low-level wrapper

      The complete C API can be accessed via KNITRO.KN_xx functions, where the names and arguments are identical to the C API.

      See the KNITRO documentation for details.

      As general rules when converting from Julia to C:

      • When KNITRO requires a Ptr{T} that holds one element, like double *, use a Ref{T}().
      • When KNITRO requires a Ptr{T} that holds multiple elements, use a Vector{T}.
      • When KNITRO requires a double, use Cdouble
      • When KNITRO requires an int, use Cint
      • When KNITRO requires a NULL, use C_NULL

      Extensive examples using the C wrapper can be found in examples/.

      Breaking changes

      KNITRO.jl v0.14.0 introduced a number of breaking changes to the low-level C API. The main changes were:

      1. removing Julia-specific functions like KN_set_param. Use the C API functions like KN_set_int_param and KN_set_double_param_by_name.
      2. removing intermediate methods that tried to make the C API more Julia-like. For example, we have removed the KN_add_var method that returned the index of the variable. There is now only the method from the C API.

      If you have trouble updating, please open a GitHub issue.

      Multi-threading

      Due to limitations in the interaction between Julia and C, KNITRO.jl disables multi-threading if the problem is nonlinear. This will override any options such as par_numthreads that you may have set.

      If you are using the low-level API, opt-in to enable multi-threading by calling KN_solve(model.env) instead of KN_solve(model), where model is the value returned by model = KN_new(). Note that calling KN_solve(model.env) is an advanced operation because it requires all callbacks you provide to be threadsafe.

      Read GitHub issue #93 for more details.

      diff --git a/dev/packages/Loraine/index.html b/dev/packages/Loraine/index.html index ac4388a2ed8..48de983837c 100644 --- a/dev/packages/Loraine/index.html +++ b/dev/packages/Loraine/index.html @@ -37,4 +37,4 @@ www={https://hal.science/hal-04076509/} note={Preprint hal-04076509} year={2023} -}
      • 1https://www.youtube.com/watch?v=0D2wNf1lVrI
      +}
      • 1https://www.youtube.com/watch?v=0D2wNf1lVrI
      diff --git a/dev/packages/MAiNGO/index.html b/dev/packages/MAiNGO/index.html index ec13b77d1a2..4856525cfc7 100644 --- a/dev/packages/MAiNGO/index.html +++ b/dev/packages/MAiNGO/index.html @@ -94,4 +94,4 @@ findMAiNGO(preferred=MAiNGO.C_API) # switch back to MAiNGO_jll findMAiNGO(preferred=MAiNGO.MAINGO_JLL)

      The findMAiNGO() function takes several optional arguments, which can be passed as keyword-arguments:

      • verbose: boolean, whether or not progress on finding MAiNGO is reported. (Default value: false)
      • preferred: either MAiNGO.MAINGOJLL or MAiNGO.CAPI, determines whether jll binaries or custom installation of MAiNGO is preferred. Note that the C-API is always preferred to the standalone version. If a custom standalone version should be used, set this value to C-API and pass an empty string as the capi argument (see next). (Default value: MAINGOJLL)
      • capi: string, path to C-API file. If set, this overrides the environment variable MAINGOLIB.
      • standalone: string, path to standalone executable file. If set, this overrides the environment variable MAINGO_EXEC.

      For example, to use the C-API at a new location, one could call:

      using MAiNGO
      -findMAiNGO(preferred=MAiNGO.C_API, c_api="path\\to\\c\\api\\shared_parser.dll")

      Currently working:

      • Integer and binary variables.
      • Affine, Quadratic and nonlinear constraints and objectives.
      • Operations: min,max,*,/,+,-,-(unary), exp,log,abs,sqrt,^
        • Other operations are easy to add if supported by MathOptInterface,ALE and MAiNGO.
      • Writing problem defined in JuMP syntax to an ALE problem.txt and calling MAiNGO.exe on a specified path.
      • Alternatively using a C-API to call MAiNGO.

      Restrictions compared to using the Python or C++ interface

      It is assumed that all variables are bounded. This interface assumes that integer variables are bounded between -1e6 and 1e6. For real variables these bounds are -1e8 and 1e8.

      Other functionality such as special support for growing datasets or MPI parallelization is not currently supported via this wrapper. Additionally, constraint formulations are simply passed from their representation in JuMP/MathOptInterface to MAiNGO. As such, there is no way to make use of advanced techniques such as defining constraints that are only used for the relaxations, using special relaxations for functions used in thermodynamics and process engineering or formulating reduced space formulations.

      Tests

      A subset of test cases for MathOptInterface solvers can be run by running the script ./test/runtests.jl. The current release was tested in the following combinations:

      • Julia 1.8.5 and MathOptInterface v1.18.0
      • Julia 1.9.4 and MathOptInterface v1.23.0.
      +findMAiNGO(preferred=MAiNGO.C_API, c_api="path\\to\\c\\api\\shared_parser.dll")

      Currently working:

      • Integer and binary variables.
      • Affine, Quadratic and nonlinear constraints and objectives.
      • Operations: min,max,*,/,+,-,-(unary), exp,log,abs,sqrt,^
        • Other operations are easy to add if supported by MathOptInterface,ALE and MAiNGO.
      • Writing problem defined in JuMP syntax to an ALE problem.txt and calling MAiNGO.exe on a specified path.
      • Alternatively using a C-API to call MAiNGO.

      Restrictions compared to using the Python or C++ interface

      It is assumed that all variables are bounded. This interface assumes that integer variables are bounded between -1e6 and 1e6. For real variables these bounds are -1e8 and 1e8.

      Other functionality such as special support for growing datasets or MPI parallelization is not currently supported via this wrapper. Additionally, constraint formulations are simply passed from their representation in JuMP/MathOptInterface to MAiNGO. As such, there is no way to make use of advanced techniques such as defining constraints that are only used for the relaxations, using special relaxations for functions used in thermodynamics and process engineering or formulating reduced space formulations.

      Tests

      A subset of test cases for MathOptInterface solvers can be run by running the script ./test/runtests.jl. The current release was tested in the following combinations:

      • Julia 1.8.5 and MathOptInterface v1.18.0
      • Julia 1.9.4 and MathOptInterface v1.23.0.
      diff --git a/dev/packages/MadNLP/index.html b/dev/packages/MadNLP/index.html index 75bad61e6c3..09edaaae238 100644 --- a/dev/packages/MadNLP/index.html +++ b/dev/packages/MadNLP/index.html @@ -43,4 +43,4 @@ author={Shin, Sungho and Coffrin, Carleton and Sundar, Kaarthik and Zavala, Victor M}, journal={arXiv preprint arXiv:2010.02404}, year={2020} -}

      Supporting MadNLP.jl

      +}

      Supporting MadNLP.jl

      diff --git a/dev/packages/Manopt/index.html b/dev/packages/Manopt/index.html index 914702f18ae..98fc5231079 100644 --- a/dev/packages/Manopt/index.html +++ b/dev/packages/Manopt/index.html @@ -30,4 +30,4 @@ TITLE = {Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds}, VOLUME = {49}, YEAR = {2023} -}

      as well. Note that all citations are in BibLaTeX format.

      Manopt.jl belongs to the Manopt family:

      Did you use Manopt.jl somewhere? Let us know! We'd love to collect those here as well.

      +}

      as well. Note that all citations are in BibLaTeX format.

      Manopt.jl belongs to the Manopt family:

      Did you use Manopt.jl somewhere? Let us know! We'd love to collect those here as well.

      diff --git a/dev/packages/MathOptAI/index.html b/dev/packages/MathOptAI/index.html index 68295971c6c..e7d7b46d08e 100644 --- a/dev/packages/MathOptAI/index.html +++ b/dev/packages/MathOptAI/index.html @@ -31,4 +31,4 @@ moai_SoftMax[7] moai_SoftMax[8] moai_SoftMax[9] - moai_SoftMax[10]

      Documentation

      Documentation is available at https://lanl-ansi.github.io/MathOptAI.jl.

      Getting help

      For help, questions, comments, and suggestions, please open a GitHub issue.

      Inspiration

      This project is mainly inspired by two existing projects:

      Other works, from which we took less inspiration, include:

      The 2024 paper of López-Flores et al. is an excellent summary of the state of the field at the time that we started development of MathOptAI.

      López-Flores, F.J., Ramírez-Márquez, C., Ponce-Ortega J.M. (2024). Process Systems Engineering Tools for Optimization of Trained Machine Learning Models: Comparative and Perspective. Industrial & Engineering Chemistry Research, 63(32), 13966-13979. DOI: 10.1021/acs.iecr.4c00632

      + moai_SoftMax[10]

      Documentation

      Documentation is available at https://lanl-ansi.github.io/MathOptAI.jl.

      Getting help

      For help, questions, comments, and suggestions, please open a GitHub issue.

      Inspiration

      This project is mainly inspired by two existing projects:

      Other works, from which we took less inspiration, include:

      The 2024 paper of López-Flores et al. is an excellent summary of the state of the field at the time that we started development of MathOptAI.

      López-Flores, F.J., Ramírez-Márquez, C., Ponce-Ortega J.M. (2024). Process Systems Engineering Tools for Optimization of Trained Machine Learning Models: Comparative and Perspective. Industrial & Engineering Chemistry Research, 63(32), 13966-13979. DOI: 10.1021/acs.iecr.4c00632

      diff --git a/dev/packages/MathOptSymbolicAD/index.html b/dev/packages/MathOptSymbolicAD/index.html index cb0d50fc23f..abe7b7d5266 100644 --- a/dev/packages/MathOptSymbolicAD/index.html +++ b/dev/packages/MathOptSymbolicAD/index.html @@ -18,4 +18,4 @@ optimize!(model)

      Background

      MathOptSymbolicAD is inspired by Hassan Hijazi's work on coin-or/gravity, a high-performance algebraic modeling language in C++.

      Hassan made the following observations:

      • For large scale models, symbolic differentiation is slower than other automatic differentiation techniques.
      • However, most large-scale nonlinear programs have a lot of structure.
      • Gravity asks the user to provide structure in the form of template constraints, where the user gives the symbolic form of the constraint as well as a set of data to convert from a symbolic form to the numerical form.
      • Instead of differentiating each constraint in its numerical form, we can compute one symbolic derivative of the constraint in symbolic form, and then plug in the data in to get the numerical derivative of each function.
      • As a final step, if users don't provide the structure, we can still infer it –perhaps with less accuracy–by comparing the expression tree of each constraint.

      The symbolic differentiation approach of Gravity works well when the problem is large with few unique constraints. For example, a model like:

      model = Model()
       @variable(model, 0 <= x[1:10_000] <= 1)
       @constraint(model, [i=1:10_000], sin(x[i]) <= 1)
      -@objective(model, Max, sum(x))

      is ideal, because although the Jacobian matrix has 10,000 rows, we can compute the derivative of sin(x[i]) as cos(x[i]), and then fill in the Jacobian by evaluating the derivative function instead of having to differentiation 10,000 expressions.

      The symbolic differentiation approach of Gravity works poorly if there are a large number of unique constraints in the model (which would require a lot of expressions to be symbolically differentiated), or if the nonlinear functions contain a large number of nonlinear terms (which would make the symbolic derivative expensive to compute).

      For more details, see Oscar's JuMP-dev 2022 talk, although note that the syntax has changed since the original recording.

      +@objective(model, Max, sum(x))

      is ideal, because although the Jacobian matrix has 10,000 rows, we can compute the derivative of sin(x[i]) as cos(x[i]), and then fill in the Jacobian by evaluating the derivative function instead of having to differentiation 10,000 expressions.

      The symbolic differentiation approach of Gravity works poorly if there are a large number of unique constraints in the model (which would require a lot of expressions to be symbolically differentiated), or if the nonlinear functions contain a large number of nonlinear terms (which would make the symbolic derivative expensive to compute).

      For more details, see Oscar's JuMP-dev 2022 talk, although note that the syntax has changed since the original recording.

      diff --git a/dev/packages/MiniZinc/index.html b/dev/packages/MiniZinc/index.html index 8ab75b7a4ae..ac1e395bae0 100644 --- a/dev/packages/MiniZinc/index.html +++ b/dev/packages/MiniZinc/index.html @@ -53,4 +53,4 @@ @constraint(model, x in MOI.AllDifferent(3)) @objective(model, Max, sum(i * x[i] for i in 1:3)) optimize!(model) -@show value.(x)

      MathOptInterface API

      The MiniZinc Optimizer{T} supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      Set options using MOI.RawOptimizerAttribute in MOI or set_attribute in JuMP.

      MiniZinc.jl supports the following options:

      • model_filename::String = "": the location at which to write out the .mzn file during optimization. This option can be helpful during debugging. If left empty, a temporary file will be used instead.

      • MOI.SolutionLimit: set this option to a positive integer to return up to the limit number of solutions.

      +@show value.(x)

      MathOptInterface API

      The MiniZinc Optimizer{T} supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Options

      Set options using MOI.RawOptimizerAttribute in MOI or set_attribute in JuMP.

      MiniZinc.jl supports the following options:

      • model_filename::String = "": the location at which to write out the .mzn file during optimization. This option can be helpful during debugging. If left empty, a temporary file will be used instead.

      • MOI.SolutionLimit: set this option to a positive integer to return up to the limit number of solutions.

      diff --git a/dev/packages/MosekTools/index.html b/dev/packages/MosekTools/index.html index 63397a6d3df..f5ebf2ed269 100644 --- a/dev/packages/MosekTools/index.html +++ b/dev/packages/MosekTools/index.html @@ -7,4 +7,4 @@ using MosekTools model = Model(Mosek.Optimizer) set_attribute(model, "QUIET", true) -set_attribute(model, "INTPNT_CO_TOL_DFEAS", 1e-7)

      Options

      The parameter QUIET is a special parameter that when set to true disables all Mosek printing output.

      All other parameters can be found in the Mosek documentation.

      Note that the prefix MSK_IPAR_ (for integer parameters), MSK_DPAR_ (for floating point parameters) or MSK_SPAR_ (for string parameters) are optional. If they are not given, they are inferred from the type of the value. For example, in the example above, as 1e-7 is a floating point number, the parameters name used is MSK_DPAR_INTPNT_CO_TOL_DFEAS.

      +set_attribute(model, "INTPNT_CO_TOL_DFEAS", 1e-7)

      Options

      The parameter QUIET is a special parameter that when set to true disables all Mosek printing output.

      All other parameters can be found in the Mosek documentation.

      Note that the prefix MSK_IPAR_ (for integer parameters), MSK_DPAR_ (for floating point parameters) or MSK_SPAR_ (for string parameters) are optional. If they are not given, they are inferred from the type of the value. For example, in the example above, as 1e-7 is a floating point number, the parameters name used is MSK_DPAR_INTPNT_CO_TOL_DFEAS.

      diff --git a/dev/packages/MultiObjectiveAlgorithms/index.html b/dev/packages/MultiObjectiveAlgorithms/index.html index 7146fd0caa1..d725cebeaa2 100644 --- a/dev/packages/MultiObjectiveAlgorithms/index.html +++ b/dev/packages/MultiObjectiveAlgorithms/index.html @@ -9,4 +9,4 @@ import MultiObjectiveAlgorithms as MOA model = JuMP.Model(() -> MOA.Optimizer(HiGHS.Optimizer)) set_attribute(model, MOA.Algorithm(), MOA.Dichotomy()) -set_attribute(model, MOA.SolutionLimit(), 4)

      Replace HiGHS.Optimizer with an optimizer capable of solving a single-objective instance of your optimization problem.

      You may set additional optimizer attributes, the supported attributes depend on the choice of solution algorithm.

      Algorithm

      Set the algorithm using the MOA.Algorithm() attribute.

      The value must be one of the algorithms supported by MOA:

      • MOA.Chalmet()
      • MOA.Dichotomy()
      • MOA.DominguezRios()
      • MOA.EpsilonConstraint()
      • MOA.Hierarchical()
      • MOA.KirlikSayin()
      • MOA.Lexicographic() [default]
      • MOA.TambyVanderpooten()

      Consult their docstrings for details.

      Other optimizer attributes

      There are a number of optimizer attributes supported by the algorithms in MOA.

      Each algorithm supports only a subset of the attributes. Consult the algorithm's docstring for details on which attributes it supports, and how it uses them in the solution process.

      • MOA.EpsilonConstraintStep()
      • MOA.LexicographicAllPermutations()
      • MOA.ObjectiveAbsoluteTolerance(index::Int)
      • MOA.ObjectivePriority(index::Int)
      • MOA.ObjectiveRelativeTolerance(index::Int)
      • MOA.ObjectiveWeight(index::Int)
      • MOA.SolutionLimit()
      • MOI.TimeLimitSec()
      +set_attribute(model, MOA.SolutionLimit(), 4)

      Replace HiGHS.Optimizer with an optimizer capable of solving a single-objective instance of your optimization problem.

      You may set additional optimizer attributes, the supported attributes depend on the choice of solution algorithm.

      Algorithm

      Set the algorithm using the MOA.Algorithm() attribute.

      The value must be one of the algorithms supported by MOA:

      • MOA.Chalmet()
      • MOA.Dichotomy()
      • MOA.DominguezRios()
      • MOA.EpsilonConstraint()
      • MOA.Hierarchical()
      • MOA.KirlikSayin()
      • MOA.Lexicographic() [default]
      • MOA.TambyVanderpooten()

      Consult their docstrings for details.

      Other optimizer attributes

      There are a number of optimizer attributes supported by the algorithms in MOA.

      Each algorithm supports only a subset of the attributes. Consult the algorithm's docstring for details on which attributes it supports, and how it uses them in the solution process.

      • MOA.EpsilonConstraintStep()
      • MOA.LexicographicAllPermutations()
      • MOA.ObjectiveAbsoluteTolerance(index::Int)
      • MOA.ObjectivePriority(index::Int)
      • MOA.ObjectiveRelativeTolerance(index::Int)
      • MOA.ObjectiveWeight(index::Int)
      • MOA.SolutionLimit()
      • MOI.TimeLimitSec()
      diff --git a/dev/packages/NEOSServer/index.html b/dev/packages/NEOSServer/index.html index 5073c368f84..9ab0f333737 100644 --- a/dev/packages/NEOSServer/index.html +++ b/dev/packages/NEOSServer/index.html @@ -27,4 +27,4 @@ results = neos_getFinalResults(server, job)

      Use with JuMP

      Use NEOSServer.jl with JuMP as follows:

      using JuMP, NEOSServer
       model = Model() do
           return NEOSServer.Optimizer(; email = "me@mydomain.com", solver = "Ipopt")
      -end

      Note: NEOSServer.Optimizer is limited to the following solvers:

      • "CPLEX"
      • "FICO-Xpress"
      • "Ipopt"
      • "Knitro"
      • "MOSEK"
      • "OCTERACT"
      • "SNOPT"

      NEOS Limits

      NEOS currently limits jobs to an 8 hour time limit, 3 GB of memory, and a 16 MB submission file. If your model exceeds these limits, NEOSServer.jl may be unable to return useful information to the user.

      +end

      Note: NEOSServer.Optimizer is limited to the following solvers:

      • "CPLEX"
      • "FICO-Xpress"
      • "Ipopt"
      • "Knitro"
      • "MOSEK"
      • "OCTERACT"
      • "SNOPT"

      NEOS Limits

      NEOS currently limits jobs to an 8 hour time limit, 3 GB of memory, and a 16 MB submission file. If your model exceeds these limits, NEOSServer.jl may be unable to return useful information to the user.

      diff --git a/dev/packages/NLopt/index.html b/dev/packages/NLopt/index.html index 5d335633041..540cc8c72e1 100644 --- a/dev/packages/NLopt/index.html +++ b/dev/packages/NLopt/index.html @@ -120,4 +120,4 @@ opt = Opt(:LD_MMA, 2) # Define problem solutions[i] = optimize(opt, rand(2)) -end

      Author

      This module was initially written by Steven G. Johnson, with subsequent contributions by several other authors (see the git history).

      +end

      Author

      This module was initially written by Steven G. Johnson, with subsequent contributions by several other authors (see the git history).

      diff --git a/dev/packages/OSQP/index.html b/dev/packages/OSQP/index.html index da4d028e9cc..113cb884bce 100644 --- a/dev/packages/OSQP/index.html +++ b/dev/packages/OSQP/index.html @@ -6,4 +6,4 @@

      OSQP.jl

      Build Status codecov.io

      OSQP.jl is a Julia wrapper for OSQP: the Operator Splitting QP Solver.

      License

      OSQP.jl is licensed under the Apache-2.0 license.

      The upstream solver, osqp/osqp is also licensed under the Apache-2.0 license.

      Installation

      Install OSQP.jl using the Julia package manager

      import Pkg
       Pkg.add("OSQP")

      Problem class

      The OSQP (Operator Splitting Quadratic Program) solver is a numerical optimization package for solving problems in the form

      minimize        0.5 x' P x + q' x
       
      -subject to      l <= A x <= u

      where x in R^n is the optimization variable. The objective function is defined by a positive semidefinite matrix P in S^n_+ and vector q in R^n. The linear constraints are defined by matrix A in R^{m x n} and vectors l in R^m U {-inf}^m, u in R^m U {+inf}^m.

      Documentation

      Detailed documentation is available at https://osqp.org/.

      +subject to l <= A x <= u

      where x in R^n is the optimization variable. The objective function is defined by a positive semidefinite matrix P in S^n_+ and vector q in R^n. The linear constraints are defined by matrix A in R^{m x n} and vectors l in R^m U {-inf}^m, u in R^m U {+inf}^m.

      Documentation

      Detailed documentation is available at https://osqp.org/.

      diff --git a/dev/packages/Optim/index.html b/dev/packages/Optim/index.html index a41b93fb2a1..db7e5736c6f 100644 --- a/dev/packages/Optim/index.html +++ b/dev/packages/Optim/index.html @@ -105,4 +105,4 @@ number = {24}, pages = {615}, doi = {10.21105/joss.00615} -} +} diff --git a/dev/packages/PATHSolver/index.html b/dev/packages/PATHSolver/index.html index 7e5307a4c61..5b906db7e46 100644 --- a/dev/packages/PATHSolver/index.html +++ b/dev/packages/PATHSolver/index.html @@ -165,4 +165,4 @@ 0.8 1.2

      Thread safety

      PATH is not thread-safe and there are no known work-arounds. Do not run it in parallel using Threads.@threads. See issue #62 for more details.

      Factorization methods

      By default, PATHSolver.jl will download the LUSOL shared library. To use LUSOL, set the following options:

      model = Model(PATHSolver.Optimizer)
       set_optimizer_attribute(model, "factorization_method", "blu_lusol")
      -set_optimizer_attribute(model, "factorization_library_name", PATHSolver.LUSOL_LIBRARY_PATH)

      To use factorization_method umfpack you will need the umfpack shared library that is available directly from the developers of that code for academic use.

      Manual installation

      By default PATHSolver.jl will download a copy of the libpath library. If you already have one installed and want to use that, set the PATH_JL_LOCATION environment variable to point to the libpath50.xx library.

      +set_optimizer_attribute(model, "factorization_library_name", PATHSolver.LUSOL_LIBRARY_PATH)

      To use factorization_method umfpack you will need the umfpack shared library that is available directly from the developers of that code for academic use.

      Manual installation

      By default PATHSolver.jl will download a copy of the libpath library. If you already have one installed and want to use that, set the PATH_JL_LOCATION environment variable to point to the libpath50.xx library.

      diff --git a/dev/packages/Pajarito/index.html b/dev/packages/Pajarito/index.html index d0f4eedb9dc..25a6a1ac946 100644 --- a/dev/packages/Pajarito/index.html +++ b/dev/packages/Pajarito/index.html @@ -27,4 +27,4 @@ pages={249--293}, year={2020}, publisher={Springer} -}

      Note this paper describes a legacy MathProgBase version of Pajarito, which is available on the mathprogbase branch of this repository. Starting with version v0.8.0, Pajarito supports MathOptInterface instead of MathProgBase.

      +}

      Note this paper describes a legacy MathProgBase version of Pajarito, which is available on the mathprogbase branch of this repository. Starting with version v0.8.0, Pajarito supports MathOptInterface instead of MathProgBase.

      diff --git a/dev/packages/ParametricOptInterface/index.html b/dev/packages/ParametricOptInterface/index.html index 8c470f82e3b..a04f69c0218 100644 --- a/dev/packages/ParametricOptInterface/index.html +++ b/dev/packages/ParametricOptInterface/index.html @@ -13,4 +13,4 @@ @objective(model, Min, 2x) optimize!(model) MOI.set(model, POI.ParameterValue(), p, 2.0) -optimize!(model)

      GSOC2020

      ParametricOptInterface began as a NumFOCUS sponsored Google Summer of Code (2020) project.

      +optimize!(model)

      GSOC2020

      ParametricOptInterface began as a NumFOCUS sponsored Google Summer of Code (2020) project.

      diff --git a/dev/packages/Pavito/index.html b/dev/packages/Pavito/index.html index dfdc2b4c4e4..1a69ffdc4c8 100644 --- a/dev/packages/Pavito/index.html +++ b/dev/packages/Pavito/index.html @@ -13,4 +13,4 @@ "cont_solver" => optimizer_with_attributes(Ipopt.Optimizer, "print_level" => 0), ), -)

      The algorithm implemented by Pavito itself is relatively simple; most of the hard work is performed by the MILP solver passed as mip_solver and the NLP solver passed as cont_solver.

      The performance of Pavito depends on these two types of solvers.

      For better performance, you should use a commercial MILP solver such as CPLEX or Gurobi.

      Options

      The following optimizer attributes can set to a Pavito.Optimizer to modify its behavior:

      • log_level::Int Verbosity flag: 0 for quiet, higher for basic solve info
      • timeout::Float64 Time limit for algorithm (in seconds)
      • rel_gap::Float64 Relative optimality gap termination condition
      • mip_solver_drives::Bool Let MILP solver manage convergence ("branch and cut")
      • mip_solver::MOI.OptimizerWithAttributes MILP solver
      • cont_solver::MOI.OptimizerWithAttributes Continuous NLP solver

      Pavito is not yet numerically robust and may require tuning of parameters to improve convergence.

      If the default parameters don't work for you, please let us know by opening an issue.

      For improved Pavito performance, MILP solver integrality tolerance and feasibility tolerances should typically be tightened, for example to 1e-8.

      Bug reports and support

      Please report any issues via the GitHub issue tracker. All types of issues are welcome and encouraged; this includes bug reports, documentation typos, feature requests, etc. The Optimization (Mathematical) category on Discourse is appropriate for general discussion.

      +)

      The algorithm implemented by Pavito itself is relatively simple; most of the hard work is performed by the MILP solver passed as mip_solver and the NLP solver passed as cont_solver.

      The performance of Pavito depends on these two types of solvers.

      For better performance, you should use a commercial MILP solver such as CPLEX or Gurobi.

      Options

      The following optimizer attributes can set to a Pavito.Optimizer to modify its behavior:

      • log_level::Int Verbosity flag: 0 for quiet, higher for basic solve info
      • timeout::Float64 Time limit for algorithm (in seconds)
      • rel_gap::Float64 Relative optimality gap termination condition
      • mip_solver_drives::Bool Let MILP solver manage convergence ("branch and cut")
      • mip_solver::MOI.OptimizerWithAttributes MILP solver
      • cont_solver::MOI.OptimizerWithAttributes Continuous NLP solver

      Pavito is not yet numerically robust and may require tuning of parameters to improve convergence.

      If the default parameters don't work for you, please let us know by opening an issue.

      For improved Pavito performance, MILP solver integrality tolerance and feasibility tolerances should typically be tightened, for example to 1e-8.

      Bug reports and support

      Please report any issues via the GitHub issue tracker. All types of issues are welcome and encouraged; this includes bug reports, documentation typos, feature requests, etc. The Optimization (Mathematical) category on Discourse is appropriate for general discussion.

      diff --git a/dev/packages/Percival/index.html b/dev/packages/Percival/index.html index 2f00a4ed2f2..d3bdf896b03 100644 --- a/dev/packages/Percival/index.html +++ b/dev/packages/Percival/index.html @@ -22,4 +22,4 @@ [1.0], [1.0], ) -output = percival(nlp, verbose = 1)

      Bug reports and discussions

      If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

      If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers, so questions about any of our packages are welcome.

      +output = percival(nlp, verbose = 1)

      Bug reports and discussions

      If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

      If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers, so questions about any of our packages are welcome.

      diff --git a/dev/packages/PiecewiseLinearOpt/index.html b/dev/packages/PiecewiseLinearOpt/index.html index ce3729b5cef..f33c44a1e4a 100644 --- a/dev/packages/PiecewiseLinearOpt/index.html +++ b/dev/packages/PiecewiseLinearOpt/index.html @@ -41,4 +41,4 @@ (u, v) -> exp(u + v); method = :DisaggLogarithmic, ) -@objective(model, Min, z)

      Methods

      Supported univariate formulations:

      • Convex combination (:CC)
      • Multiple choice (:MC)
      • Native SOS2 branching (:SOS2)
      • Incremental (:Incremental)
      • Logarithmic (:Logarithmic; default)
      • Disaggregated Logarithmic (:DisaggLogarithmic)
      • Binary zig-zag (:ZigZag)
      • General integer zig-zag (:ZigZagInteger)

      Supported bivariate formulations for entire constraint:

      • Convex combination (:CC)
      • Multiple choice (:MC)
      • Disaggregated Logarithmic (:DisaggLogarithmic)

      Also, you can use any univariate formulation for bivariate functions as well. They will be used to impose two axis-aligned SOS2 constraints, along with the "6-stencil" formulation for the triangle selection portion of the constraint. See the associated paper for more details. In particular, the following are also acceptable bivariate formulation choices:

      • Native SOS2 branching (:SOS2)
      • Incremental (:Incremental)
      • Logarithmic (:Logarithmic)
      • Binary zig-zag (:ZigZag)
      • General integer zig-zag (:ZigZagInteger)
      +@objective(model, Min, z)

      Methods

      Supported univariate formulations:

      • Convex combination (:CC)
      • Multiple choice (:MC)
      • Native SOS2 branching (:SOS2)
      • Incremental (:Incremental)
      • Logarithmic (:Logarithmic; default)
      • Disaggregated Logarithmic (:DisaggLogarithmic)
      • Binary zig-zag (:ZigZag)
      • General integer zig-zag (:ZigZagInteger)

      Supported bivariate formulations for entire constraint:

      • Convex combination (:CC)
      • Multiple choice (:MC)
      • Disaggregated Logarithmic (:DisaggLogarithmic)

      Also, you can use any univariate formulation for bivariate functions as well. They will be used to impose two axis-aligned SOS2 constraints, along with the "6-stencil" formulation for the triangle selection portion of the constraint. See the associated paper for more details. In particular, the following are also acceptable bivariate formulation choices:

      • Native SOS2 branching (:SOS2)
      • Incremental (:Incremental)
      • Logarithmic (:Logarithmic)
      • Binary zig-zag (:ZigZag)
      • General integer zig-zag (:ZigZagInteger)
      diff --git a/dev/packages/Plasmo/index.html b/dev/packages/Plasmo/index.html index 00b2fef3c09..1f4fe18da0f 100644 --- a/dev/packages/Plasmo/index.html +++ b/dev/packages/Plasmo/index.html @@ -50,4 +50,4 @@ volume = {125}, year = {2019}, doi = {10.1016/j.compchemeng.2019.03.009} -}

      A pre-print of this paper can be found here

      +}

      A pre-print of this paper can be found here

      diff --git a/dev/packages/PolyJuMP/index.html b/dev/packages/PolyJuMP/index.html index 6d8f96a21b5..529823501e0 100644 --- a/dev/packages/PolyJuMP/index.html +++ b/dev/packages/PolyJuMP/index.html @@ -17,4 +17,4 @@ model = Model(optimizer_with_attributes( PolyJuMP.KKT.Optimizer, "solver" => HomotopyContinuation.SemialgebraicSetsHCSolver(), -))

      Documentation

      Documentation for PolyJuMP.jl is included in the documentation for SumOfSquares.jl.

      +))

      Documentation

      Documentation for PolyJuMP.jl is included in the documentation for SumOfSquares.jl.

      diff --git a/dev/packages/ProxSDP/index.html b/dev/packages/ProxSDP/index.html index 90a2361f7b6..a017197b637 100644 --- a/dev/packages/ProxSDP/index.html +++ b/dev/packages/ProxSDP/index.html @@ -56,4 +56,4 @@ publisher = {Taylor & Francis}, doi = {10.1080/02331934.2020.1823387}, URL = {https://doi.org/10.1080/02331934.2020.1823387} -}

      The preprint version of the paper can be found here.

      Disclaimer

      • ProxSDP is a research software, therefore it should not be used in production.
      • Please open an issue if you find any problems, developers will try to fix and find alternatives.
      • There is no continuous development for 32-bit systems, the package should work, but might reach some issues.
      • ProxSDP assumes primal and dual feasibility.

      ROAD MAP

      • Support for exponential and power cones
      • Warm start
      +}

      The preprint version of the paper can be found here.

      Disclaimer

      • ProxSDP is a research software, therefore it should not be used in production.
      • Please open an issue if you find any problems, developers will try to fix and find alternatives.
      • There is no continuous development for 32-bit systems, the package should work, but might reach some issues.
      • ProxSDP assumes primal and dual feasibility.

      ROAD MAP

      • Support for exponential and power cones
      • Warm start
      diff --git a/dev/packages/SCIP/index.html b/dev/packages/SCIP/index.html index f2891208641..b7c7d6b6871 100644 --- a/dev/packages/SCIP/index.html +++ b/dev/packages/SCIP/index.html @@ -14,4 +14,4 @@ julia> Pkg.build("SCIP")

      Use with JuMP

      Use SCIP with JuMP as follows:

      using JuMP, SCIP
       model = Model(SCIP.Optimizer)
       set_attribute(model, "display/verblevel", 0)
      -set_attribute(model, "limits/gap", 0.05)

      Options

      See the SCIP documentation for a list of supported options.

      MathOptInterface API

      The SCIP optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Design considerations

      Wrapping the public API

      All of the public API methods are wrapped and available within the SCIP package. This includes the scip_*.h and pub_*.h headers that are collected in scip.h, as well as all default constraint handlers (cons_*.h.)

      The wrapped functions do not transform any data structures and work on the raw pointers (for example, SCIP* in C, Ptr{SCIP_} in Julia). Convenience wrapper functions based on Julia types are added as needed.

      Memory management

      Programming with SCIP requires dealing with variable and constraint objects that use reference counting for memory management.

      The SCIP.Optimizer wrapper type collects lists of SCIP_VAR* and SCIP_CONS* under the hood, and it releases all references when it is garbage collected itself (via finalize).

      When adding a variable (add_variable) or a constraint (add_linear_constraint), an integer index is returned. This index can be used to retrieve the SCIP_VAR* or SCIP_CONS* pointer via get_var and get_cons respectively.

      Supported nonlinear operators

      Supported operators in nonlinear expressions are as follows:

      • +
      • -
      • *
      • /
      • ^
      • sqrt
      • exp
      • log
      • abs
      • cos
      • sin
      +set_attribute(model, "limits/gap", 0.05)

      Options

      See the SCIP documentation for a list of supported options.

      MathOptInterface API

      The SCIP optimizer supports the following constraints and attributes.

      List of supported objective functions:

      List of supported variable types:

      List of supported constraint types:

      List of supported model attributes:

      Design considerations

      Wrapping the public API

      All of the public API methods are wrapped and available within the SCIP package. This includes the scip_*.h and pub_*.h headers that are collected in scip.h, as well as all default constraint handlers (cons_*.h.)

      The wrapped functions do not transform any data structures and work on the raw pointers (for example, SCIP* in C, Ptr{SCIP_} in Julia). Convenience wrapper functions based on Julia types are added as needed.

      Memory management

      Programming with SCIP requires dealing with variable and constraint objects that use reference counting for memory management.

      The SCIP.Optimizer wrapper type collects lists of SCIP_VAR* and SCIP_CONS* under the hood, and it releases all references when it is garbage collected itself (via finalize).

      When adding a variable (add_variable) or a constraint (add_linear_constraint), an integer index is returned. This index can be used to retrieve the SCIP_VAR* or SCIP_CONS* pointer via get_var and get_cons respectively.

      Supported nonlinear operators

      Supported operators in nonlinear expressions are as follows:

      • +
      • -
      • *
      • /
      • ^
      • sqrt
      • exp
      • log
      • abs
      • cos
      • sin
      diff --git a/dev/packages/SCS/index.html b/dev/packages/SCS/index.html index 16ba5ebb184..c5d5a59b552 100644 --- a/dev/packages/SCS/index.html +++ b/dev/packages/SCS/index.html @@ -53,4 +53,4 @@ julia> SCS.is_available(SCS.GpuIndirectSolver) true

      The GpuIndirectSolver is available on Linux x86_64 platform only.

      Low-level wrapper

      SCS.jl provides a low-level interface to solve a problem directly, without interfacing through MathOptInterface.

      This is an advanced interface with a risk of incorrect usage. For new users, we recommend that you use the JuMP or Convex interfaces instead.

      SCS solves a problem of the form:

      minimize        1/2 * x' * P * x + c' * x
       subject to      A * x + s = b
      -                s in K

      where K is a product cone of:

      • zero cone
      • positive orthant { x | x ≥ 0 }
      • box cone { (t,x) | t*l ≤ x ≤ t*u}
      • second-order cone (SOC) { (t,x) | ||x||_2 ≤ t }
      • semi-definite cone (SDC) { X | X is psd }
      • exponential cone { (x,y,z) | y e^(x/y) ≤ z, y>0 }
      • power cone { (x,y,z) | x^a * y^(1-a) ≥ |z|, x ≥ 0, y ≥ 0 }
      • dual power cone { (u,v,w) | (u/a)^a * (v/(1-a))^(1-a) ≥ |w|, u ≥ 0, v ≥ 0 }.

      To solve this problem with SCS, call SCS.scs_solve; see the docstring for details.

      + s in K

      where K is a product cone of:

      • zero cone
      • positive orthant { x | x ≥ 0 }
      • box cone { (t,x) | t*l ≤ x ≤ t*u}
      • second-order cone (SOC) { (t,x) | ||x||_2 ≤ t }
      • semi-definite cone (SDC) { X | X is psd }
      • exponential cone { (x,y,z) | y e^(x/y) ≤ z, y>0 }
      • power cone { (x,y,z) | x^a * y^(1-a) ≥ |z|, x ≥ 0, y ≥ 0 }
      • dual power cone { (u,v,w) | (u/a)^a * (v/(1-a))^(1-a) ≥ |w|, u ≥ 0, v ≥ 0 }.

      To solve this problem with SCS, call SCS.scs_solve; see the docstring for details.

      diff --git a/dev/packages/SDDP/index.html b/dev/packages/SDDP/index.html index 808ff23d5a2..81d65982d3b 100644 --- a/dev/packages/SDDP/index.html +++ b/dev/packages/SDDP/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -
      +
      diff --git a/dev/packages/SDPA/index.html b/dev/packages/SDPA/index.html index 17ba8a5b22b..95ee92ebee4 100644 --- a/dev/packages/SDPA/index.html +++ b/dev/packages/SDPA/index.html @@ -13,4 +13,4 @@ set_attribute(model, "Mode", SDPA.PARAMETER_STABLE_BUT_SLOW)

      Note that the parameters are set in the order they are given, so you can set a mode and then modify parameters from this mode.

      using JuMP, SDPA
       model = Model(SDPA.Optimizer)
       set_attribute(model, "Mode", SDPA.PARAMETER_STABLE_BUT_SLOW)
      -set_attribute(model, "MaxIteration", 100)

      The choice of parameter mode has a large impact on the performance and stability of SDPA, and not necessarily in the way implied by the names of the modes; for example, PARAMETER_UNSTABLE_BUT_FAST can be more stable than the other modes for some problems. You should try each mode to see how it performs on your specific problem. See SDPA.jl#17 for more details.

      +set_attribute(model, "MaxIteration", 100)

      The choice of parameter mode has a large impact on the performance and stability of SDPA, and not necessarily in the way implied by the names of the modes; for example, PARAMETER_UNSTABLE_BUT_FAST can be more stable than the other modes for some problems. You should try each mode to see how it performs on your specific problem. See SDPA.jl#17 for more details.

      diff --git a/dev/packages/SDPLR/index.html b/dev/packages/SDPLR/index.html index fd0bcc63b06..c95782456cc 100644 --- a/dev/packages/SDPLR/index.html +++ b/dev/packages/SDPLR/index.html @@ -50,4 +50,4 @@ sigma *= 2 end lambdaupdate = 0 -end +end diff --git a/dev/packages/SDPNAL/index.html b/dev/packages/SDPNAL/index.html index b415f813c04..440bc7d7b27 100644 --- a/dev/packages/SDPNAL/index.html +++ b/dev/packages/SDPNAL/index.html @@ -18,4 +18,4 @@ '/path/to/SDPNALv1.0/solver:', ... '/path/to/SDPNALv1.0/solver_main_default:', ... '/path/to/SDPNALv1.0/util:', ... -% (...)

      If you have SDPT3 in addition to SDPNAL in the MATLAB path (that is, the toolbox/local/pathdef.m file) then you might have issues because both solvers define a validate function, and this might make SDPNAL call SDPT3's validate function instead of SDPT3's validate function.

      +% (...)

      If you have SDPT3 in addition to SDPNAL in the MATLAB path (that is, the toolbox/local/pathdef.m file) then you might have issues because both solvers define a validate function, and this might make SDPNAL call SDPT3's validate function instead of SDPT3's validate function.

      diff --git a/dev/packages/SDPT3/index.html b/dev/packages/SDPT3/index.html index a89d73408ea..4b8401d15e8 100644 --- a/dev/packages/SDPT3/index.html +++ b/dev/packages/SDPT3/index.html @@ -29,4 +29,4 @@ julia> MATLAB.restoredefaultpath() -julia> MATLAB.mat"savepath" +julia> MATLAB.mat"savepath" diff --git a/dev/packages/SeDuMi/index.html b/dev/packages/SeDuMi/index.html index a79df412be5..aa9edf1c104 100644 --- a/dev/packages/SeDuMi/index.html +++ b/dev/packages/SeDuMi/index.html @@ -17,4 +17,4 @@ MATLAB.mat"install_sedumi" end -julia> MATLAB.mat"savepath" +julia> MATLAB.mat"savepath" diff --git a/dev/packages/SumOfSquares/index.html b/dev/packages/SumOfSquares/index.html index a0d31710216..4206daf765c 100644 --- a/dev/packages/SumOfSquares/index.html +++ b/dev/packages/SumOfSquares/index.html @@ -4,4 +4,4 @@ gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash});

      SumOfSquares.jl

      Build Status codecov

      SumOfSquares.jl is a JuMP extension that, when used in conjunction with MultivariatePolynomial and PolyJuMP, implements a sum of squares reformulation for polynomial optimization.

      License

      SumOfSquares.jl is licensed under the MIT license.

      Installation

      Install SumOfSquares using Pkg.add:

      import Pkg
      -Pkg.add("SumOfSquares")

      Documentation

      See https://jump.dev/SumOfSquares.jl/stable for the most recently tagged version of the documentation.

      See https://jump.dev/SumOfSquares.jl/dev for the in-development version of the documentation.

      Presentations

      Some presentations on, or using, SumOfSquares (see blegat/SumOfSquaresSlides for the source code of the presentations):

      Citing

      See CITATION.bib.

      +Pkg.add("SumOfSquares")

      Documentation

      See https://jump.dev/SumOfSquares.jl/stable for the most recently tagged version of the documentation.

      See https://jump.dev/SumOfSquares.jl/dev for the in-development version of the documentation.

      Presentations

      Some presentations on, or using, SumOfSquares (see blegat/SumOfSquaresSlides for the source code of the presentations):

      Citing

      See CITATION.bib.

      diff --git a/dev/packages/Tulip/index.html b/dev/packages/Tulip/index.html index 304b9ee6d3d..804de36a45c 100644 --- a/dev/packages/Tulip/index.html +++ b/dev/packages/Tulip/index.html @@ -28,4 +28,4 @@ language = {en}, url = {https://doi.org/10.1007/s12532-020-00200-8}, urldate = {2021-03-07}, -} +} diff --git a/dev/packages/Xpress/index.html b/dev/packages/Xpress/index.html index ea95b964f9a..01621e5cc98 100644 --- a/dev/packages/Xpress/index.html +++ b/dev/packages/Xpress/index.html @@ -58,4 +58,4 @@ @test termination_status(model) == MOI.OPTIMAL @test primal_status(model) == MOI.FEASIBLE_POINT @test value(x) == 1 -@test value(y) == 2

      Environment variables

      • XPRESS_JL_SKIP_LIB_CHECK: Used to skip build lib check as previously described.
      • XPRESS_JL_NO_INFO: Disable license info log.
      • XPRESS_JL_NO_DEPS_ERROR: Disable error when do deps.jl file is found.
      • XPRESS_JL_NO_AUTO_INIT: Disable automatic run of Xpress.initialize(). Specially useful for explicitly loading the dynamic library.
      • XPRESS_JL_LIBRARY: Provide a custom path to libxprs
      • XPAUTH_PATH: Provide a custom path to the license file

      C API

      The C API can be accessed via Xpress.Lib.XPRSxx functions, where the names and arguments are identical to the C API.

      See the Xpress documentation for details.

      Documentation

      For more information, consult the FICO optimizer manual.

      +@test value(y) == 2

      Environment variables

      • XPRESS_JL_SKIP_LIB_CHECK: Used to skip build lib check as previously described.
      • XPRESS_JL_NO_INFO: Disable license info log.
      • XPRESS_JL_NO_DEPS_ERROR: Disable error when do deps.jl file is found.
      • XPRESS_JL_NO_AUTO_INIT: Disable automatic run of Xpress.initialize(). Specially useful for explicitly loading the dynamic library.
      • XPRESS_JL_LIBRARY: Provide a custom path to libxprs
      • XPAUTH_PATH: Provide a custom path to the license file

      C API

      The C API can be accessed via Xpress.Lib.XPRSxx functions, where the names and arguments are identical to the C API.

      See the Xpress documentation for details.

      Documentation

      For more information, consult the FICO optimizer manual.

      diff --git a/dev/packages/solvers/index.html b/dev/packages/solvers/index.html index dfc88595044..d11a1146e04 100644 --- a/dev/packages/solvers/index.html +++ b/dev/packages/solvers/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0RZ8X3D3D0', {'page_path': location.pathname + location.search + location.hash}); -

      Introduction

      This section of the documentation contains brief documentation for some of the solvers that JuMP supports. The list of solvers is not exhaustive, but instead is intended to help you discover commonly used solvers.

      Affiliation

      Packages beginning with jump-dev/ are developed and maintained by the JuMP developers. In many cases, these packages wrap external solvers that are not developed by the JuMP developers and, while the Julia packages are all open-source, in some cases the solvers themselves are closed source commercial products.

      Packages that do not begin with jump-dev/ are developed independently. The developers of these packages requested or consented to the inclusion of their README contents in the JuMP documentation for the benefit of users.

      Adding new solvers

      Written a solver? Add it to this section of the JuMP documentation by making a pull request to the docs/packages.toml file.

      +

      Introduction

      This section of the documentation contains brief documentation for some of the solvers that JuMP supports. The list of solvers is not exhaustive, but instead is intended to help you discover commonly used solvers.

      Affiliation

      Packages beginning with jump-dev/ are developed and maintained by the JuMP developers. In many cases, these packages wrap external solvers that are not developed by the JuMP developers and, while the Julia packages are all open-source, in some cases the solvers themselves are closed source commercial products.

      Packages that do not begin with jump-dev/ are developed independently. The developers of these packages requested or consented to the inclusion of their README contents in the JuMP documentation for the benefit of users.

      Adding new solvers

      Written a solver? Add it to this section of the JuMP documentation by making a pull request to the docs/packages.toml file.

      diff --git a/dev/release_notes/index.html b/dev/release_notes/index.html index 895ae1de52f..81ef6ba26f9 100644 --- a/dev/release_notes/index.html +++ b/dev/release_notes/index.html @@ -12,4 +12,4 @@ new_b = backend(model)
    16. All usages of @SDconstraint are deprecated. The new syntax is @constraint(model, X >= Y, PSDCone()).
    17. Creating a DenseAxisArray with a Number as an axis will now display a warning. This catches a common error in which users write @variable(model, x[length(S)]) instead of @variable(model, x[1:length(S)]).
    18. The caching_mode argument to Model, for example, Model(caching_mode = MOIU.MANUAL) mode has been removed. For more control over the optimizer, use direct_model instead.
    19. The previously deprecated lp_objective_perturbation_range and lp_rhs_perturbation_range functions have been removed. Use lp_sensitivity_report instead.
    20. The .m fields of NonlinearExpression and NonlinearParameter have been renamed to .model.
    21. Infinite variable bounds are now ignored. Thus, @variable(model, x <= Inf) will show has_upper_bound(x) == false. Previously, these bounds were passed through to the solvers which caused numerical issues for solvers expecting finite bounds.
    22. The variable_type and constraint_type functions were removed. This should only affect users who previously wrote JuMP extensions. The functions can be deleted without consequence.
    23. The internal functions moi_mode, moi_bridge_constraints, moi_add_constraint, and moi_add_to_function_constant are no longer exported.
    24. The un-used method Containers.generate_container has been deleted.
    25. The Containers API has been refactored, and _build_ref_sets is now public as Containers.build_ref_sets.
    26. The parse_constraint_ methods for extending @constraint at parse time have been refactored in a breaking way. Consult the Extensions documentation for more details and examples.
    27. Added

      • The TerminationStatusCode and ResultStatusCode enums are now exported by JuMP. Prefer termination_status(model) == OPTIMAL instead of == MOI.OPTIMAL, although the MOI. prefix way still works.
      • Copy a x::DenseAxisArray to an Array by calling Array(x).
      • NonlinearExpression is now a subtype of AbstractJuMPScalar
      • Constraints such as @constraint(model, x + 1 in MOI.Integer()) are now supported.
      • primal_feasibility_report now accepts a function as the first argument.
      • Scalar variables @variable(model, x[1:2] in MOI.Integer()) creates two variables, both of which are constrained to be in the set MOI.Integer.
      • Conic constraints can now be specified as inequalities under a different partial ordering. So @constraint(model, x - y in MOI.Nonnegatives()) can now be written as @constraint(model, x >= y, MOI.Nonnegatives()).
      • Names are now set for vectorized constraints.

      Fixed

      • Fixed a performance issue when show was called on a SparseAxisArray with a large number of elements.
      • Fixed a bug displaying barrier and simplex iterations in solution_summary.
      • Fixed a bug by implementing hash for DenseAxisArray and SparseAxisArray.
      • Names are now only set if the solver supports them. Previously, this prevented solvers such as Ipopt from being used with direct_model.
      • MutableArithmetics.Zero is converted into a 0.0 before being returned to the user. Previously, some calls to @expression would return the undocumented MutableArithmetics.Zero() object. One example is summing over an empty set @expression(model, sum(x[i] for i in 1:0)). You will now get 0.0 instead.
      • AffExpr and QuadExpr can now be used with == 0 instead of iszero. This fixes a number of issues relating to Julia standard libraries such as LinearAlgebra and SparseArrays.
      • Fixed a bug when registering a user-defined function with splatting.

      Other

      • The documentation is now available as a PDF.
      • The documentation now includes a full copy of the MathOptInterface documentation to make it easy to link concepts between the docs. (The MathOptInterface documentation has also been significantly improved.)
      • The documentation contains a large number of improvements and clarifications on a range of topics. Thanks to @sshin23, @DilumAluthge, and @jlwether.
      • The documentation is now built with Julia 1.6 instead of 1.0.
      • Various error messages have been improved to be more readable.

      Version 0.21.10 (September 4, 2021)

      Added

      • Added add_NL_expression
      • add_NL_xxx functions now support AffExpr and QuadExpr as terms

      Fixed

      • Fixed a bug in solution_summary
      • Fixed a bug in relax_integrality

      Other

      • Improved error message in lp_sensitivity_report

      Version 0.21.9 (August 1, 2021)

      Added

      • Containers now support arbitrary container types by passing the type to the container keyword and overloading Containers.container.
      • is_valid now supports nonlinear constraints
      • Added unsafe_backend for querying the inner-most optimizer of a JuMP model.
      • Nonlinear parameters now support the plural @NLparameters macro.
      • Containers (for example, DenseAxisArray) can now be used in vector-valued constraints.

      Other

      • Various improvements to the documentation.

      Version 0.21.8 (May 8, 2021)

      Added

      • The @constraint macro is now extendable in the same way as @variable.
      • AffExpr and QuadExpr can now be used in nonlinear macros.

      Fixed

      • Fixed a bug in lp_sensitivity_report.
      • Fixed an inference issue when creating empty SparseAxisArrays.

      Version 0.21.7 (April 12, 2021)

      Added

      • Added primal_feasibility_report, which can be used to check whether a primal point satisfies primal feasibility.
      • Added coefficient, which returns the coefficient associated with a variable in affine and quadratic expressions.
      • Added copy_conflict, which returns the IIS of an infeasible model.
      • Added solution_summary, which returns (and prints) a struct containing a summary of the solution.
      • Allow AbstractVector in vector constraints instead of just Vector.
      • Added latex_formulation(model) which returns an object representing the latex formulation of a model. Use print(latex_formulation(model)) to print the formulation as a string.
      • User-defined functions in nonlinear expressions are now automatically registered to aid quick model prototyping. However, a warning is printed to encourage the manual registration.
      • DenseAxisArray's now support broadcasting over multiple arrays.
      • Container indices can now be iterators of Base.SizeUnknown.

      Fixed

      • Fixed bug in rad2deg and deg2rad in nonlinear expressions.
      • Fixed a MethodError bug in Containers when forcing container type.
      • Allow partial slicing of a DenseAxisArray, resolving an issue from 2014.
      • Fixed a bug printing variable names in IJulia.
      • Ending an IJulia cell with model now prints a summary of the model (like in the REPL) not the latex formulation. Use print(model) to print the latex formulation.
      • Fixed a bug when copying models containing nested arrays.

      Other

      • Tutorials are now part of the documentation, and more refactoring has taken place.
      • Added JuliaFormatter added as a code formatter.
      • Added some precompilation statements to reduce initial latency.
      • Various improvements to error messages to make them more helpful.
      • Improved performance of value(::NonlinearExpression).
      • Improved performance of fix(::VariableRef).

      Version 0.21.6 (January 29, 2021)

      Added

      • Added support for skew symmetric variables via @variable(model, X[1:2, 1:2] in SkewSymmetricMatrixSpace()).
      • lp_sensitivity_report has been added which significantly improves the performance of querying the sensitivity summary of an LP. lp_objective_perturbation_range and lp_rhs_perturbation_range are deprecated.
      • Dual warm-starts are now supported with set_dual_start_value and dual_start_value.
      • (\in<tab>) can now be used in macros instead of = or in.
      • Use haskey(model::Model, key::Symbol) to check if a name key is registered in a model.
      • Added unregister(model::Model, key::Symbol) to unregister a name key from model.
      • Added callback_node_status for use in callbacks.
      • Added print_bridge_graph to visualize the bridging graph generated by MathOptInterface.
      • Improved error message for containers with duplicate indices.

      Fixed

      • Various fixes to pass tests on Julia 1.6.
      • Fixed a bug in the printing of nonlinear expressions in IJulia.
      • Fixed a bug when nonlinear expressions are passed to user-defined functions.
      • Some internal functions that were previously exported are now no longer exported.
      • Fixed a bug when relaxing a fixed binary variable.
      • Fixed a StackOverflowError that occurred when SparseAxisArrays had a large number of elements.
      • Removed an unnecessary type assertion in list_of_constraint_types.
      • Fixed a bug when copying models with registered expressions.

      Other

      • The documentation has been significantly overhauled. It now has distinct sections for the manual, API reference, and examples. The existing examples in /examples have now been moved to /docs/src/examples and rewritten using Literate.jl, and they are now included in the documentation.
      • JuliaFormatter has been applied to most of the codebase. This will continue to roll out over time, as we fix upstream issues in the formatter, and will eventually become compulsory.
      • The root cause of a large number of method invalidations has been resolved.
      • We switched continuous integration from Travis and Appveyor to GitHub Actions.

      Version 0.21.5 (September 18, 2020)

      Fixed

      • Fixed deprecation warnings
      • Throw DimensionMismatch for incompatibly sized functions and sets
      • Unify treatment of keys(x) on JuMP containers

      Version 0.21.4 (September 14, 2020)

      Added

      • Add debug info when adding unsupported constraints
      • Add relax_integrality for solving continuous relaxation
      • Allow querying constraint conflicts

      Fixed

      • Dispatch on Real for MOI.submit
      • Implement copy for CustomSet in tests
      • Don't export private macros
      • Fix invalid assertion in nonlinear
      • Error if constraint has NaN right-hand side
      • Improve speed of tests
      • Lots of work modularizing files in /test
      • Improve line numbers in macro error messages
      • Print nonlinear subexpressions
      • Various documentation updates
      • Dependency updates:
        • Datastructures 0.18
        • MathOptFormat v0.5
        • Prep for MathOptInterface 0.9.15

      Version 0.21.3 (June 18, 2020)

      • Added Special Order Sets (SOS1 and SOS2) to JuMP with default weights to ease the creation of such constraints (#2212).
      • Added functions simplex_iterations, barrier_iterations and node_count (#2201).
      • Added function reduced_cost (#2205).
      • Implemented callback_value for affine and quadratic expressions (#2231).
      • Support MutableArithmetics.Zero in objective and constraints (#2219).
      • Documentation improvements:
        • Mention tutorials in the docs (#2223).
        • Update COIN-OR links (#2242).
        • Explicit link to the documentation of MOI.FileFormats (#2253).
        • Typo fixes (#2261).
      • Containers improvements:
        • Fix Base.map for DenseAxisArray (#2235).
        • Throw BoundsError if number of indices is incorrect for DenseAxisArray and SparseAxisArray (#2240).
      • Extensibility improvements:
        • Implement a set_objective method fallback that redirects to set_objective_sense and set_objective_function (#2247).
        • Add parse_constraint method with arbitrary number of arguments (#2051).
        • Add parse_constraint_expr and parse_constraint_head (#2228).

      Version 0.21.2 (April 2, 2020)

      • Added relative_gap() to access MOI.RelativeGap() attribute (#2199).
      • Documentation fixes:
        • Added link to source for docstrings in the documentation (#2207).
        • Added docstring for @variables macro (#2216).
        • Typo fixes (#2177, #2184, #2182).
      • Implementation of methods for Base functions:
        • Implemented Base.empty! for JuMP.Model (#2198).
        • Implemented Base.conj for JuMP scalar types (#2209).

      Fixed

      • Fixed sum of expression with scalar product in macro (#2178).
      • Fixed writing of nonlinear models to MathOptFormat (#2181).
      • Fixed construction of empty SparseAxisArray (#2179).
      • Fixed constraint with zero function (#2188).

      Version 0.21.1 (Feb 18, 2020)

      • Improved the clarity of the with_optimizer deprecation warning.

      Version 0.21.0 (Feb 16, 2020)

      Breaking

      • Deprecated with_optimizer (#2090, #2084, #2141). You can replace with_optimizer by either nothing, optimizer_with_attributes or a closure:

        • replace with_optimizer(Ipopt.Optimizer) by Ipopt.Optimizer.
        • replace with_optimizer(Ipopt.Optimizer, max_cpu_time=60.0) by optimizer_with_attributes(Ipopt.Optimizer, "max_cpu_time" => 60.0).
        • replace with_optimizer(Gurobi.Optimizer, env) by () -> Gurobi.Optimizer(env).
        • replace with_optimizer(Gurobi.Optimizer, env, Presolve=0) by optimizer_with_attributes(() -> Gurobi.Optimizer(env), "Presolve" => 0).

        alternatively to optimizer_with_attributes, you can also set the attributes separately with set_optimizer_attribute.

      • Renamed set_parameter and set_parameters to set_optimizer_attribute and set_optimizer_attributes (#2150).

      • Broadcast should now be explicit inside macros. @SDconstraint(model, x >= 1) and @constraint(model, x + 1 in SecondOrderCone()) now throw an error instead of broadcasting 1 along the dimension of x (#2107).

      • @SDconstraint(model, x >= 0) is now equivalent to @constraint(model, x in PSDCone()) instead of @constraint(model, (x .- 0) in PSDCone()) (#2107).

      • The macros now create the containers with map instead of for loops, as a consequence, containers created by @expression can now have any element type and containers of constraint references now have concrete element types when possible. This fixes a long-standing issue where @expression could only be used to generate a collection of linear expressions. Now it works for quadratic expressions as well (#2070).

      • Calling deepcopy(::AbstractModel) now throws an error.

      • The constraint name is now printed in the model string (#2108).

      Added

      • Added support for solver-independent and solver-specific callbacks (#2101).
      • Added write_to_file and read_from_file, supported formats are CBF, LP, MathOptFormat, MPS and SDPA (#2114).
      • Added support for complementarity constraints (#2132).
      • Added support for indicator constraints (#2092).
      • Added support for querying multiple solutions with the result keyword (#2100).
      • Added support for constraining variables on creation (#2128).
      • Added method delete that deletes a vector of variables at once if it is supported by the underlying solver (#2135).
      • The arithmetic between JuMP expression has be refactored into the MutableArithmetics package (#2107).
      • Improved error on complex values in NLP (#1978).
      • Added an example of column generation (#2010).

      Fixed

      • Incorrect coefficients generated when using Symmetric variables (#2102)

      Version 0.20.1 (Oct 18, 2019)

      • Add sections on @variables and @constraints in the documentation (#2062).
      • Fixed product of sparse matrices for Julia v1.3 (#2063).
      • Added set_objective_coefficient to modify the coefficient of a linear term of the objective function (#2008).
      • Added set_time_limit_sec, unset_time_limit_sec and time_limit_sec to set and query the time limit for the solver in seconds (#2053).

      Version 0.20.0 (Aug 24, 2019)

      • Documentation updates.
      • Numerous bug fixes.
      • Better error messages (#1977, #1978, #1997, #2017).
      • Performance improvements (#1947, #2032).
      • Added LP sensitivity summary functions lp_objective_perturbation_range and lp_rhs_perturbation_range (#1917).
      • Added functions dual_objective_value, raw_status and set_parameter.
      • Added function set_objective_coefficient to modify the coefficient of a linear term of the objective (#2008).
      • Added functions set_normalized_rhs, normalized_rhs, and add_to_function_constant to modify and get the constant part of a constraint (#1935, #1960).
      • Added functions set_normalized_coefficient and normalized_coefficient to modify and get the coefficient of a linear term of a constraint (#1935, #1960).
      • Numerous other improvements in MOI 0.9, see the NEWS.md file of MOI for more details.

      Version 0.19.2 (June 8, 2019)

      • Fix a bug in derivatives that could arise in models with nested nonlinear subexpressions.

      Version 0.19.1 (May 12, 2019)

      • Usability and performance improvements.
      • Bug fixes.

      Version 0.19.0 (February 15, 2019)

      JuMP 0.19 contains significant breaking changes.

      Breaking

      • JuMP's abstraction layer for communicating with solvers changed from MathProgBase (MPB) to MathOptInterface (MOI). MOI addresses many longstanding design issues. (See @mlubin's slides from JuMP-dev 2018.) JuMP 0.19 is compatible only with solvers that have been updated for MOI. See the installation guide for a list of solvers that have and have not yet been updated.

      • Most solvers have been renamed to PackageName.Optimizer. For example, GurobiSolver() is now Gurobi.Optimizer.

      • Solvers are no longer added to a model via Model(solver = XXX(kwargs...)). Instead use Model(with_optimizer(XXX, kwargs...)). For example, Model(with_optimizer(Gurobi.Optimizer, OutputFlag=0)).

      • JuMP containers (for example, the objects returned by @variable) have been redesigned. Containers.SparseAxisArray replaces JuMPDict, JuMPArray was rewritten (inspired by AxisArrays) and renamed Containers.DenseAxisArray, and you can now request a container type with the container= keyword to the macros. See the corresponding documentation for more details.

      • The statuses returned by solvers have changed. See the possible status values here. The MOI statuses are much richer than the MPB statuses and can be used to distinguish between previously indistinguishable cases (for example, did the solver have a feasible solution when it stopped because of the time limit?).

      • Starting values are separate from result values. Use value to query the value of a variable in a solution. Use start_value and set_start_value to get and set an initial starting point provided to the solver. The solutions from previous solves are no longer automatically set as the starting points for the next solve.

      • The data structures for affine and quadratic expressions AffExpr and QuadExpr have changed. Internally, terms are stored in dictionaries instead of lists. Duplicate coefficients can no longer exist. Accessors and iteration methods have changed.

      • JuMPNLPEvaluator no longer includes the linear and quadratic parts of the model in the evaluation calls. These are now handled separately to allow NLP solvers that support various types of constraints.

      • JuMP solver-independent callbacks have been replaced by solver-specific callbacks. See your favorite solver for more details. (See the note below: No solver-specific callbacks are implemented yet.)

      • The norm() syntax is no longer recognized inside macros. Use the SecondOrderCone() set instead.

      • JuMP no longer performs automatic transformation between special quadratic forms and second-order cone constraints. Support for these constraint classes depends on the solver.

      • The symbols :Min and :Max are no longer used as optimization senses. Instead, JuMP uses the OptimizationSense enum from MathOptInterface. @objective(model, Max, ...), @objective(model, Min, ...), @NLobjective(model, Max, ...), and @objective(model, Min, ...) remain valid, but @objective(m, :Max, ...) is no longer accepted.

      • The sign conventions for duals has changed in some cases for consistency with conic duality (see the documentation). The shadow_price helper method returns duals with signs that match conventional LP interpretations of dual values as sensitivities of the objective value to relaxations of constraints.

      • @constraintref is no longer defined. Instead, create the appropriate container to hold constraint references manually. For example,

        constraints = Dict() # Optionally, specify types for improved performance.
         for i in 1:N
           constraints[i] = @constraint(model, ...)
        -end
      • The lowerbound, upperbound, and basename keyword arguments to the @variable macro have been renamed to lower_bound, upper_bound, and base_name, for consistency with JuMP's new style recommendations.

      • We rely on broadcasting syntax to apply accessors to collections of variables, for example, value.(x) instead of getvalue(x) for collections. (Use value(x) when x is a scalar object.)

      Added

      • Splatting (like f(x...)) is recognized in restricted settings in nonlinear expressions.

      • Support for deleting constraints and variables.

      • The documentation has been completely rewritten using docstrings and Documenter.

      • Support for modeling mixed conic and quadratic models (for example, conic models with quadratic objectives and bi-linear matrix inequalities).

      • Significantly improved support for modeling new types of constraints and for extending JuMP's macros.

      • Support for providing dual warm starts.

      • Improved support for accessing solver-specific attributes (for example, the irreducible inconsistent subsystem).

      • Explicit control of whether symmetry-enforcing constraints are added to PSD constraints.

      • Support for modeling exponential cones.

      • Significant improvements in internal code quality and testing.

      • Style and naming guidelines.

      • Direct mode and manual mode provide explicit control over when copies of a model are stored or regenerated. See the corresponding documentation.

      Regressions

      There are known regressions from JuMP 0.18 that will be addressed in a future release (0.19.x or later):

      • Performance regressions in model generation (issue). Please file an issue anyway if you notice a significant performance regression. We have plans to address a number of performance issues, but we might not be aware of all of them.

      • Fast incremental NLP solves are not yet reimplemented (issue).

      • We do not yet have an implementation of solver-specific callbacks.

      • The column generation syntax in @variable has been removed (that is, the objective, coefficients, and inconstraints keyword arguments). Support for column generation will be re-introduced in a future release.

      • The ability to solve the continuous relaxation (that is, via solve(model; relaxation = true)) is not yet reimplemented (issue).

      Version 0.18.5 (December 1, 2018)

      • Support views in some derivative evaluation functions.
      • Improved compatibility with PackageCompiler.

      Version 0.18.4 (October 8, 2018)

      • Fix a bug in model printing on Julia 0.7 and 1.0.

      Version 0.18.3 (October 1, 2018)

      • Add support for Julia v1.0 (Thanks @ExpandingMan)
      • Fix matrix expressions with quadratic functions (#1508)

      Version 0.18.2 (June 10, 2018)

      • Fix a bug in second-order derivatives when expressions are present (#1319)
      • Fix a bug in @constraintref (#1330)

      Version 0.18.1 (April 9, 2018)

      • Fix for nested tuple destructuring (#1193)
      • Preserve internal model when relaxation=true (#1209)
      • Minor bug fixes and updates for example

      Version 0.18.0 (July 27, 2017)

      • Drop support for Julia 0.5.
      • Update for ForwardDiff 0.5.
      • Minor bug fixes.

      Version 0.17.1 (June 9, 2017)

      • Use of constructconstraint! in @SDconstraint.
      • Minor bug fixes.

      Version 0.17.0 (May 27, 2017)

      • Breaking change: Mixing quadratic and conic constraints is no longer supported.
      • Breaking change: The getvariable and getconstraint functions are replaced by indexing on the corresponding symbol. For instance, to access the variable with name x, one should now write m[:x] instead of getvariable(m, :x). As a consequence, creating a variable and constraint with the same name now triggers a warning, and accessing one of them afterwards throws an error. This change is breaking only in the latter case.
      • Addition of the getobjectivebound function that mirrors the functionality of the MathProgBase getobjbound function except that it takes into account transformations performed by JuMP.
      • Minor bug fixes.

      The following changes are primarily of interest to developers of JuMP extensions:

      • The new syntax @constraint(model, expr in Cone) creates the constraint ensuring that expr is inside Cone. The Cone argument is passed to constructconstraint! which enables the call to the dispatched to an extension.
      • The @variable macro now calls constructvariable! instead of directly calling the Variable constructor. Extra arguments and keyword arguments passed to @variable are passed to constructvariable! which enables the call to be dispatched to an extension.
      • Refactor the internal function conicdata (used build the MathProgBase conic model) into smaller sub-functions to make these parts reusable by extensions.

      Version 0.16.2 (March 28, 2017)

      • Minor bug fixes and printing tweaks
      • Address deprecation warnings for Julia 0.6

      Version 0.16.1 (March 7, 2017)

      • Better support for AbstractArray in JuMP (Thanks @tkoolen)
      • Minor bug fixes

      Version 0.16.0 (February 23, 2017)

      • Breaking change: JuMP no longer has a mechanism for selecting solvers by default (the previous mechanism was flawed and incompatible with Julia 0.6). Not specifying a solver before calling solve() will result in an error.
      • Breaking change: User-defined functions are no longer global. The first argument to JuMP.register is now a JuMP Model object within whose scope the function will be registered. Calling JuMP.register without a Model now produces an error.
      • Breaking change: Use the new JuMP.fix method to fix a variable to a value or to update the value to which a variable is fixed. Calling setvalue on a fixed variable now results in an error in order to avoid silent behavior changes. (Thanks @joaquimg)
      • Nonlinear expressions now print out similarly to linear/quadratic expressions (useful for debugging!)
      • New category keyword to @variable. Used for specifying categories of anonymous variables.
      • Compatibility with Julia 0.6-dev.
      • Minor fixes and improvements (Thanks @cossio, @ccoffrin, @blegat)

      Version 0.15.1 (January 31, 2017)

      • Bugfix for @LinearConstraints and friends

      Version 0.15.0 (December 22, 2016)

      • Julia 0.5.0 is the minimum required version for this release.
      • Document support for BARON solver
      • Enable info callbacks in more states than before, for example, for recording solutions. New when argument to addinfocallback (#814, thanks @yeesian)
      • Improved support for anonymous variables. This includes new warnings for potentially confusing use of the traditional non-anonymous syntax:
        • When multiple variables in a model are given the same name
        • When non-symbols are used as names, for example, @variable(m, x[1][1:N])
      • Improvements in iterating over JuMP containers (#836, thanks @IssamT)
      • Support for writing variable names in .lp file output (Thanks @leethargo)
      • Support for querying duals to SDP problems (Thanks @blegat)
      • The comprehension syntax with curly braces sum{}, prod{}, and norm2{} has been deprecated in favor of Julia's native comprehension syntax sum(), prod() and norm() as previously announced. (For early adopters of the new syntax, norm2() was renamed to norm() without deprecation.)
      • Unit tests rewritten to use Base.Test instead of FactCheck
      • Improved support for operations with matrices of JuMP types (Thanks @ExpandingMan)
      • The syntax to halt a solver from inside a callback has changed from throw(CallbackAbort()) to return JuMP.StopTheSolver
      • Minor bug fixes

      Version 0.14.2 (December 12, 2016)

      • Allow singleton anonymous variables (includes bugfix)

      Version 0.14.1 (September 12, 2016)

      • More consistent handling of states in informational callbacks, includes a new when parameter to addinfocallback for specifying in which state an informational callback should be called.

      Version 0.14.0 (August 7, 2016)

      • Compatibility with Julia 0.5 and ForwardDiff 0.2
      • Support for "anonymous" variables, constraints, expressions, and parameters, for example, x = @variable(m, [1:N]) instead of @variable(m, x[1:N])
      • Support for retrieving constraints from a model by name via getconstraint
      • @NLconstraint now returns constraint references (as expected).
      • Support for vectorized expressions within lazy constraints
      • On Julia 0.5, parse new comprehension syntax sum(x[i] for i in 1:N if isodd(i)) instead of sum{ x[i], i in 1:N; isodd(i) }. The old syntax with curly braces will be deprecated in JuMP 0.15.
      • Now possible to provide nonlinear expressions as "raw" Julia Expr objects instead of using JuMP's nonlinear macros. This input format is useful for programmatically generated expressions.
      • s/Mathematical Programming/Mathematical Optimization/
      • Support for local cuts (Thanks to @madanim, Mehdi Madani)
      • Document Xpress interface developed by @joaquimg, Joaquim Dias Garcia
      • Minor bug and deprecation fixes (Thanks @odow, @jrevels)

      Version 0.13.2 (May 16, 2016)

      • Compatibility update for MathProgBase

      Version 0.13.1 (May 3, 2016)

      • Fix broken deprecation for registerNLfunction.

      Version 0.13.0 (April 29, 2016)

      • Most exported methods and macros have been renamed to avoid camelCase. See the list of changes here. There is a 1-1 mapping from the old names to the new, and it is safe to simply replace the names to update existing models.
      • Specify variable lower/upper bounds in @variable using the lowerbound and upperbound keyword arguments.
      • Change name printed for variable using the basename keyword argument to @variable.
      • New @variables macro allows multi-line declaration of groups of variables.
      • A number of solver methods previously available only through MathProgBase are now exposed directly in JuMP. The fix was recorded live.
      • Compatibility fixes with Julia 0.5.
      • The "end" indexing syntax is no longer supported within JuMPArrays which do not use 1-based indexing until upstream issues are resolved, see here.

      Version 0.12.2 (March 9, 2016)

      • Small fixes for nonlinear optimization

      Version 0.12.1 (March 1, 2016)

      • Fix a regression in slicing for JuMPArrays (when not using 1-based indexing)

      Version 0.12.0 (February 27, 2016)

      • The automatic differentiation functionality has been completely rewritten with a number of user-facing changes:
        • @defExpr and @defNLExpr now take the model as the first argument. The previous one-argument version of @defExpr is deprecated; all expressions should be named. For example, replace @defExpr(2x+y) with @defExpr(jump_model, my_expr, 2x+y).
        • JuMP no longer uses Julia's variable binding rules for efficiently re-solving a sequence of nonlinear models. Instead, we have introduced nonlinear parameters. This is a breaking change, so we have added a warning message when we detect models that may depend on the old behavior.
        • Support for user-defined functions integrated within nonlinear JuMP expressions.
      • Replaced iteration over AffExpr with Number-like scalar iteration; previous iteration behavior is now available via linearterms(::AffExpr).
      • Stopping the solver via throw(CallbackAbort()) from a callback no longer triggers an exception. Instead, solve() returns UserLimit status.
      • getDual() now works for conic problems (Thanks @emreyamangil.)

      Version 0.11.3 (February 4, 2016)

      • Bug-fix for problems with quadratic objectives and semidefinite constraints

      Version 0.11.2 (January 14, 2016)

      • Compatibility update for Mosek

      Version 0.11.1 (December 1, 2015)

      • Remove usage of @compat in tests.
      • Fix updating quadratic objectives for nonlinear models.

      Version 0.11.0 (November 30, 2015)

      • Julia 0.4.0 is the minimum required version for this release.
      • Fix for scoping semantics of index variables in sum{}. Index variables no longer leak into the surrounding scope.
      • Addition of the solve(m::Model, relaxation=true) keyword argument to solve the standard continuous relaxation of model m
      • The getConstraintBounds() method allows access to the lower and upper bounds of all constraints in a (nonlinear) model.
      • Update for breaking changes in MathProgBase

      Version 0.10.3 (November 20, 2015)

      • Fix a rare error when parsing quadratic expressions
      • Fix Variable() constructor with default arguments
      • Detect unrecognized keywords in solve()

      Version 0.10.2 (September 28, 2015)

      • Fix for deprecation warnings

      Version 0.10.1 (September 3, 2015)

      • Fixes for ambiguity warnings.
      • Fix for breaking change in precompilation syntax in Julia 0.4-pre

      Version 0.10.0 (August 31, 2015)

      • Support (on Julia 0.4 and later) for conditions in indexing @defVar and @addConstraint constructs, for example, @defVar(m, x[i=1:5,j=1:5; i+j >= 3])
      • Support for vectorized operations on Variables and expressions. See the documentation for details.
      • New getVar() method to access variables in a model by name
      • Support for semidefinite programming.
      • Dual solutions are now available for general nonlinear problems. You may call getDual on a reference object for a nonlinear constraint, and getDual on a variable object for Lagrange multipliers from active bounds.
      • Introduce warnings for two common performance traps: too many calls to getValue() on a collection of variables and use of the + operator in a loop to sum expressions.
      • Second-order cone constraints can be written directly with the norm() and norm2{} syntax.
      • Implement MathProgBase interface for querying Hessian-vector products.
      • Iteration over JuMPContainers is deprecated; instead, use the keys and values functions, and zip(keys(d),values(d)) for the old behavior.
      • @defVar returns Array{Variable,N} when each of N index sets are of the form 1:nᵢ.
      • Module precompilation: on Julia 0.4 and later, using JuMP is now much faster.

      Version 0.9.3 (August 11, 2015)

      • Fixes for FactCheck testing on julia v0.4.

      Version 0.9.2 (June 27, 2015)

      • Fix bug in @addConstraints.

      Version 0.9.1 (April 25, 2015)

      • Fix for Julia 0.4-dev.
      • Small infrastructure improvements for extensions.

      Version 0.9.0 (April 18, 2015)

      • Comparison operators for constructing constraints (for example, 2x >= 1) have been deprecated. Instead, construct the constraints explicitly in the @addConstraint macro to add them to the model, or in the @LinearConstraint macro to create a stand-alone linear constraint instance.
      • getValue() method implemented to compute the value of a nonlinear subexpression
      • JuMP is now released under the Mozilla Public License version 2.0 (was previously LGPL). MPL is a copyleft license which is less restrictive than LGPL, especially for embedding JuMP within other applications.
      • A number of performance improvements in ReverseDiffSparse for computing derivatives.
      • MathProgBase.getsolvetime(m) now returns the solution time reported by the solver, if available. (Thanks @odow, Oscar Dowson)
      • Formatting fix for LP format output. (Thanks @sbebo, Leonardo Taccari).

      Version 0.8.0 (February 17, 2015)

      • Nonlinear subexpressions now supported with the @defNLExpr macro.
      • SCS supported for solving second-order conic problems.
      • setXXXCallback family deprecated in favor of addXXXCallback.
      • Multiple callbacks of the same type can be registered.
      • Added support for informational callbacks via addInfoCallback.
      • A CallbackAbort exception can be thrown from callback to safely exit optimization.

      Version 0.7.4 (February 4, 2015)

      • Reduced costs and linear constraint duals are now accessible when quadratic constraints are present.
      • Two-sided nonlinear constraints are supported.
      • Methods for accessing the number of variables and constraints in a model are renamed.
      • New default procedure for setting initial values in nonlinear optimization: project zero onto the variable bounds.
      • Small bug fixes.

      Version 0.7.3 (January 14, 2015)

      • Fix a method ambiguity conflict with Compose.jl (cosmetic fix)

      Version 0.7.2 (January 9, 2015)

      • Fix a bug in sum(::JuMPDict)
      • Added the setCategory function to change a variables category (for example, continuous or binary)

      after construction, and getCategory to retrieve the variable category.

      Version 0.7.1 (January 2, 2015)

      • Fix a bug in parsing linear expressions in macros. Affects only Julia 0.4 and later.

      Version 0.7.0 (December 29, 2014)

      Linear/quadratic/conic programming

      • Breaking change: The syntax for column-wise model generation has been changed to use keyword arguments in @defVar.
      • On Julia 0.4 and later, variables and coefficients may be multiplied in any order within macros. That is, variable*coefficient is now valid syntax.
      • ECOS supported for solving second-order conic problems.

      Nonlinear programming

      • Support for skipping model generation when solving a sequence of nonlinear models with changing data.
      • Fix a memory leak when solving a sequence of nonlinear models.
      • The @addNLConstraint macro now supports the three-argument version to define sets of nonlinear constraints.
      • KNITRO supported as a nonlinear solver.
      • Speed improvements for model generation.
      • The @addNLConstraints macro supports adding multiple (groups of) constraints at once. Syntax is similar to @addConstraints.
      • Discrete variables allowed in nonlinear problems for solvers which support them (currently only KNITRO).

      General

      • Starting values for variables may now be specified with @defVar(m, x, start=value).
      • The setSolver function allows users to change the solver subsequent to model creation.
      • Support for "fixed" variables via the @defVar(m, x == 1) syntax.
      • Unit tests rewritten to use FactCheck.jl, improved testing across solvers.

      Version 0.6.3 (October 19, 2014)

      • Fix a bug in multiplying two AffExpr objects.

      Version 0.6.2 (October 11, 2014)

      • Further improvements and bug fixes for printing.
      • Fixed a bug in @defExpr.
      • Support for accessing expression graphs through the MathProgBase NLP interface.

      Version 0.6.1 (September 19, 2014)

      • Improvements and bug fixes for printing.

      Version 0.6.0 (September 9, 2014)

      • Julia 0.3.0 is the minimum required version for this release.
      • buildInternalModel(m::Model) added to build solver-level model in memory without optimizing.
      • Deprecate load_model_only keyword argument to solve.
      • Add groups of constraints with @addConstraints macro.
      • Unicode operators now supported, including for sum, for prod, and /
      • Quadratic constraints supported in @addConstraint macro.
      • Quadratic objectives supported in @setObjective macro.
      • MathProgBase solver-independent interface replaces Ipopt-specific interface for nonlinear problems
        • Breaking change: IpoptOptions no longer supported to specify solver options, use m = Model(solver=IpoptSolver(options...)) instead.
      • New solver interfaces: ECOS, NLopt, and nonlinear support for MOSEK
      • New option to control whether the lazy constraint callback is executed at each node in the B&B tree or just when feasible solutions are found
      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
      • Add support for index dependencies (for example, triangular indexing) in @defVar, @addConstraint, and @defExpr (for example, @defVar(m, x[i=1:10,j=i:10])).
        • This required some changes to the internal structure of JuMP containers, which may break code that explicitly stored JuMPDict objects.

      Version 0.5.8 (September 24, 2014)

      • Fix a bug with specifying solvers (affects Julia 0.2 only)

      Version 0.5.7 (September 5, 2014)

      • Fix a bug in printing models

      Version 0.5.6 (September 2, 2014)

      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
        • Breaking change: Syntax for Variable() constructor has changed (use of this interface remains discouraged)
      • Update for breaking changes in MathProgBase

      Version 0.5.5 (July 6, 2014)

      • Fix bug with problem modification: adding variables that did not appear in existing constraints or objective.

      Version 0.5.4 (June 19, 2014)

      • Update for breaking change in MathProgBase which reduces loading times for using JuMP
      • Fix error when MIPs not solved to optimality

      Version 0.5.3 (May 21, 2014)

      • Update for breaking change in ReverseDiffSparse

      Version 0.5.2 (May 9, 2014)

      • Fix compatibility with Julia 0.3 prerelease

      Version 0.5.1 (May 5, 2014)

      • Fix a bug in coefficient handling inside lazy constraints and user cuts

      Version 0.5.0 (May 2, 2014)

      • Support for nonlinear optimization with exact, sparse second-order derivatives automatically computed. Ipopt is currently the only solver supported.
      • getValue for AffExpr and QuadExpr
      • Breaking change: getSolverModel replaced by getInternalModel, which returns the internal MathProgBase-level model
      • Groups of constraints can be specified with @addConstraint (see documentation for details). This is not a breaking change.
      • dot(::JuMPDict{Variable},::JuMPDict{Variable}) now returns the corresponding quadratic expression.

      Version 0.4.1 (March 24, 2014)

      • Fix bug where change in objective sense was ignored when re-solving a model.
      • Fix issue with handling zero coefficients in AffExpr.

      Version 0.4.0 (March 10, 2014)

      • Support for SOS1 and SOS2 constraints.
      • Solver-independent callback for user heuristics.
      • dot and sum implemented for JuMPDict objects. Now you can say @addConstraint(m, dot(a,x) <= b).
      • Developers: support for extensions to JuMP. See definition of Model in src/JuMP.jl for more details.
      • Option to construct the low-level model before optimizing.

      Version 0.3.2 (February 17, 2014)

      • Improved model printing
        • Preliminary support for IJulia output

      Version 0.3.1 (January 30, 2014)

      • Documentation updates
      • Support for MOSEK
      • CPLEXLink renamed to CPLEX

      Version 0.3.0 (January 21, 2014)

      • Unbounded/infeasibility rays: getValue() will return the corresponding components of an unbounded ray when a model is unbounded, if supported by the selected solver. getDual() will return an infeasibility ray (Farkas proof) if a model is infeasible and the selected solver supports this feature.
      • Solver-independent callbacks for user generated cuts.
      • Use new interface for solver-independent QCQP.
      • setlazycallback renamed to setLazyCallback for consistency.

      Version 0.2.0 (December 15, 2013)

      Breaking

      • Objective sense is specified in setObjective instead of in the Model constructor.
      • lpsolver and mipsolver merged into single solver option.

      Added

      • Problem modification with efficient LP restarts and MIP warm-starts.
      • Relatedly, column-wise modeling now supported.
      • Solver-independent callbacks supported. Currently we support only a "lazy constraint" callback, which works with Gurobi, CPLEX, and GLPK. More callbacks coming soon.

      Version 0.1.2 (November 16, 2013)

      • Bug fixes for printing, improved error messages.
      • Allow AffExpr to be used in macros; for example, ex = y + z; @addConstraint(m, x + 2*ex <= 3)

      Version 0.1.1 (October 23, 2013)

      • Update for solver specification API changes in MathProgBase.

      Version 0.1.0 (October 3, 2013)

      • Initial public release.
      +end
    28. The lowerbound, upperbound, and basename keyword arguments to the @variable macro have been renamed to lower_bound, upper_bound, and base_name, for consistency with JuMP's new style recommendations.

    29. We rely on broadcasting syntax to apply accessors to collections of variables, for example, value.(x) instead of getvalue(x) for collections. (Use value(x) when x is a scalar object.)

    30. Added

      • Splatting (like f(x...)) is recognized in restricted settings in nonlinear expressions.

      • Support for deleting constraints and variables.

      • The documentation has been completely rewritten using docstrings and Documenter.

      • Support for modeling mixed conic and quadratic models (for example, conic models with quadratic objectives and bi-linear matrix inequalities).

      • Significantly improved support for modeling new types of constraints and for extending JuMP's macros.

      • Support for providing dual warm starts.

      • Improved support for accessing solver-specific attributes (for example, the irreducible inconsistent subsystem).

      • Explicit control of whether symmetry-enforcing constraints are added to PSD constraints.

      • Support for modeling exponential cones.

      • Significant improvements in internal code quality and testing.

      • Style and naming guidelines.

      • Direct mode and manual mode provide explicit control over when copies of a model are stored or regenerated. See the corresponding documentation.

      Regressions

      There are known regressions from JuMP 0.18 that will be addressed in a future release (0.19.x or later):

      • Performance regressions in model generation (issue). Please file an issue anyway if you notice a significant performance regression. We have plans to address a number of performance issues, but we might not be aware of all of them.

      • Fast incremental NLP solves are not yet reimplemented (issue).

      • We do not yet have an implementation of solver-specific callbacks.

      • The column generation syntax in @variable has been removed (that is, the objective, coefficients, and inconstraints keyword arguments). Support for column generation will be re-introduced in a future release.

      • The ability to solve the continuous relaxation (that is, via solve(model; relaxation = true)) is not yet reimplemented (issue).

      Version 0.18.5 (December 1, 2018)

      • Support views in some derivative evaluation functions.
      • Improved compatibility with PackageCompiler.

      Version 0.18.4 (October 8, 2018)

      • Fix a bug in model printing on Julia 0.7 and 1.0.

      Version 0.18.3 (October 1, 2018)

      • Add support for Julia v1.0 (Thanks @ExpandingMan)
      • Fix matrix expressions with quadratic functions (#1508)

      Version 0.18.2 (June 10, 2018)

      • Fix a bug in second-order derivatives when expressions are present (#1319)
      • Fix a bug in @constraintref (#1330)

      Version 0.18.1 (April 9, 2018)

      • Fix for nested tuple destructuring (#1193)
      • Preserve internal model when relaxation=true (#1209)
      • Minor bug fixes and updates for example

      Version 0.18.0 (July 27, 2017)

      • Drop support for Julia 0.5.
      • Update for ForwardDiff 0.5.
      • Minor bug fixes.

      Version 0.17.1 (June 9, 2017)

      • Use of constructconstraint! in @SDconstraint.
      • Minor bug fixes.

      Version 0.17.0 (May 27, 2017)

      • Breaking change: Mixing quadratic and conic constraints is no longer supported.
      • Breaking change: The getvariable and getconstraint functions are replaced by indexing on the corresponding symbol. For instance, to access the variable with name x, one should now write m[:x] instead of getvariable(m, :x). As a consequence, creating a variable and constraint with the same name now triggers a warning, and accessing one of them afterwards throws an error. This change is breaking only in the latter case.
      • Addition of the getobjectivebound function that mirrors the functionality of the MathProgBase getobjbound function except that it takes into account transformations performed by JuMP.
      • Minor bug fixes.

      The following changes are primarily of interest to developers of JuMP extensions:

      • The new syntax @constraint(model, expr in Cone) creates the constraint ensuring that expr is inside Cone. The Cone argument is passed to constructconstraint! which enables the call to the dispatched to an extension.
      • The @variable macro now calls constructvariable! instead of directly calling the Variable constructor. Extra arguments and keyword arguments passed to @variable are passed to constructvariable! which enables the call to be dispatched to an extension.
      • Refactor the internal function conicdata (used build the MathProgBase conic model) into smaller sub-functions to make these parts reusable by extensions.

      Version 0.16.2 (March 28, 2017)

      • Minor bug fixes and printing tweaks
      • Address deprecation warnings for Julia 0.6

      Version 0.16.1 (March 7, 2017)

      • Better support for AbstractArray in JuMP (Thanks @tkoolen)
      • Minor bug fixes

      Version 0.16.0 (February 23, 2017)

      • Breaking change: JuMP no longer has a mechanism for selecting solvers by default (the previous mechanism was flawed and incompatible with Julia 0.6). Not specifying a solver before calling solve() will result in an error.
      • Breaking change: User-defined functions are no longer global. The first argument to JuMP.register is now a JuMP Model object within whose scope the function will be registered. Calling JuMP.register without a Model now produces an error.
      • Breaking change: Use the new JuMP.fix method to fix a variable to a value or to update the value to which a variable is fixed. Calling setvalue on a fixed variable now results in an error in order to avoid silent behavior changes. (Thanks @joaquimg)
      • Nonlinear expressions now print out similarly to linear/quadratic expressions (useful for debugging!)
      • New category keyword to @variable. Used for specifying categories of anonymous variables.
      • Compatibility with Julia 0.6-dev.
      • Minor fixes and improvements (Thanks @cossio, @ccoffrin, @blegat)

      Version 0.15.1 (January 31, 2017)

      • Bugfix for @LinearConstraints and friends

      Version 0.15.0 (December 22, 2016)

      • Julia 0.5.0 is the minimum required version for this release.
      • Document support for BARON solver
      • Enable info callbacks in more states than before, for example, for recording solutions. New when argument to addinfocallback (#814, thanks @yeesian)
      • Improved support for anonymous variables. This includes new warnings for potentially confusing use of the traditional non-anonymous syntax:
        • When multiple variables in a model are given the same name
        • When non-symbols are used as names, for example, @variable(m, x[1][1:N])
      • Improvements in iterating over JuMP containers (#836, thanks @IssamT)
      • Support for writing variable names in .lp file output (Thanks @leethargo)
      • Support for querying duals to SDP problems (Thanks @blegat)
      • The comprehension syntax with curly braces sum{}, prod{}, and norm2{} has been deprecated in favor of Julia's native comprehension syntax sum(), prod() and norm() as previously announced. (For early adopters of the new syntax, norm2() was renamed to norm() without deprecation.)
      • Unit tests rewritten to use Base.Test instead of FactCheck
      • Improved support for operations with matrices of JuMP types (Thanks @ExpandingMan)
      • The syntax to halt a solver from inside a callback has changed from throw(CallbackAbort()) to return JuMP.StopTheSolver
      • Minor bug fixes

      Version 0.14.2 (December 12, 2016)

      • Allow singleton anonymous variables (includes bugfix)

      Version 0.14.1 (September 12, 2016)

      • More consistent handling of states in informational callbacks, includes a new when parameter to addinfocallback for specifying in which state an informational callback should be called.

      Version 0.14.0 (August 7, 2016)

      • Compatibility with Julia 0.5 and ForwardDiff 0.2
      • Support for "anonymous" variables, constraints, expressions, and parameters, for example, x = @variable(m, [1:N]) instead of @variable(m, x[1:N])
      • Support for retrieving constraints from a model by name via getconstraint
      • @NLconstraint now returns constraint references (as expected).
      • Support for vectorized expressions within lazy constraints
      • On Julia 0.5, parse new comprehension syntax sum(x[i] for i in 1:N if isodd(i)) instead of sum{ x[i], i in 1:N; isodd(i) }. The old syntax with curly braces will be deprecated in JuMP 0.15.
      • Now possible to provide nonlinear expressions as "raw" Julia Expr objects instead of using JuMP's nonlinear macros. This input format is useful for programmatically generated expressions.
      • s/Mathematical Programming/Mathematical Optimization/
      • Support for local cuts (Thanks to @madanim, Mehdi Madani)
      • Document Xpress interface developed by @joaquimg, Joaquim Dias Garcia
      • Minor bug and deprecation fixes (Thanks @odow, @jrevels)

      Version 0.13.2 (May 16, 2016)

      • Compatibility update for MathProgBase

      Version 0.13.1 (May 3, 2016)

      • Fix broken deprecation for registerNLfunction.

      Version 0.13.0 (April 29, 2016)

      • Most exported methods and macros have been renamed to avoid camelCase. See the list of changes here. There is a 1-1 mapping from the old names to the new, and it is safe to simply replace the names to update existing models.
      • Specify variable lower/upper bounds in @variable using the lowerbound and upperbound keyword arguments.
      • Change name printed for variable using the basename keyword argument to @variable.
      • New @variables macro allows multi-line declaration of groups of variables.
      • A number of solver methods previously available only through MathProgBase are now exposed directly in JuMP. The fix was recorded live.
      • Compatibility fixes with Julia 0.5.
      • The "end" indexing syntax is no longer supported within JuMPArrays which do not use 1-based indexing until upstream issues are resolved, see here.

      Version 0.12.2 (March 9, 2016)

      • Small fixes for nonlinear optimization

      Version 0.12.1 (March 1, 2016)

      • Fix a regression in slicing for JuMPArrays (when not using 1-based indexing)

      Version 0.12.0 (February 27, 2016)

      • The automatic differentiation functionality has been completely rewritten with a number of user-facing changes:
        • @defExpr and @defNLExpr now take the model as the first argument. The previous one-argument version of @defExpr is deprecated; all expressions should be named. For example, replace @defExpr(2x+y) with @defExpr(jump_model, my_expr, 2x+y).
        • JuMP no longer uses Julia's variable binding rules for efficiently re-solving a sequence of nonlinear models. Instead, we have introduced nonlinear parameters. This is a breaking change, so we have added a warning message when we detect models that may depend on the old behavior.
        • Support for user-defined functions integrated within nonlinear JuMP expressions.
      • Replaced iteration over AffExpr with Number-like scalar iteration; previous iteration behavior is now available via linearterms(::AffExpr).
      • Stopping the solver via throw(CallbackAbort()) from a callback no longer triggers an exception. Instead, solve() returns UserLimit status.
      • getDual() now works for conic problems (Thanks @emreyamangil.)

      Version 0.11.3 (February 4, 2016)

      • Bug-fix for problems with quadratic objectives and semidefinite constraints

      Version 0.11.2 (January 14, 2016)

      • Compatibility update for Mosek

      Version 0.11.1 (December 1, 2015)

      • Remove usage of @compat in tests.
      • Fix updating quadratic objectives for nonlinear models.

      Version 0.11.0 (November 30, 2015)

      • Julia 0.4.0 is the minimum required version for this release.
      • Fix for scoping semantics of index variables in sum{}. Index variables no longer leak into the surrounding scope.
      • Addition of the solve(m::Model, relaxation=true) keyword argument to solve the standard continuous relaxation of model m
      • The getConstraintBounds() method allows access to the lower and upper bounds of all constraints in a (nonlinear) model.
      • Update for breaking changes in MathProgBase

      Version 0.10.3 (November 20, 2015)

      • Fix a rare error when parsing quadratic expressions
      • Fix Variable() constructor with default arguments
      • Detect unrecognized keywords in solve()

      Version 0.10.2 (September 28, 2015)

      • Fix for deprecation warnings

      Version 0.10.1 (September 3, 2015)

      • Fixes for ambiguity warnings.
      • Fix for breaking change in precompilation syntax in Julia 0.4-pre

      Version 0.10.0 (August 31, 2015)

      • Support (on Julia 0.4 and later) for conditions in indexing @defVar and @addConstraint constructs, for example, @defVar(m, x[i=1:5,j=1:5; i+j >= 3])
      • Support for vectorized operations on Variables and expressions. See the documentation for details.
      • New getVar() method to access variables in a model by name
      • Support for semidefinite programming.
      • Dual solutions are now available for general nonlinear problems. You may call getDual on a reference object for a nonlinear constraint, and getDual on a variable object for Lagrange multipliers from active bounds.
      • Introduce warnings for two common performance traps: too many calls to getValue() on a collection of variables and use of the + operator in a loop to sum expressions.
      • Second-order cone constraints can be written directly with the norm() and norm2{} syntax.
      • Implement MathProgBase interface for querying Hessian-vector products.
      • Iteration over JuMPContainers is deprecated; instead, use the keys and values functions, and zip(keys(d),values(d)) for the old behavior.
      • @defVar returns Array{Variable,N} when each of N index sets are of the form 1:nᵢ.
      • Module precompilation: on Julia 0.4 and later, using JuMP is now much faster.

      Version 0.9.3 (August 11, 2015)

      • Fixes for FactCheck testing on julia v0.4.

      Version 0.9.2 (June 27, 2015)

      • Fix bug in @addConstraints.

      Version 0.9.1 (April 25, 2015)

      • Fix for Julia 0.4-dev.
      • Small infrastructure improvements for extensions.

      Version 0.9.0 (April 18, 2015)

      • Comparison operators for constructing constraints (for example, 2x >= 1) have been deprecated. Instead, construct the constraints explicitly in the @addConstraint macro to add them to the model, or in the @LinearConstraint macro to create a stand-alone linear constraint instance.
      • getValue() method implemented to compute the value of a nonlinear subexpression
      • JuMP is now released under the Mozilla Public License version 2.0 (was previously LGPL). MPL is a copyleft license which is less restrictive than LGPL, especially for embedding JuMP within other applications.
      • A number of performance improvements in ReverseDiffSparse for computing derivatives.
      • MathProgBase.getsolvetime(m) now returns the solution time reported by the solver, if available. (Thanks @odow, Oscar Dowson)
      • Formatting fix for LP format output. (Thanks @sbebo, Leonardo Taccari).

      Version 0.8.0 (February 17, 2015)

      • Nonlinear subexpressions now supported with the @defNLExpr macro.
      • SCS supported for solving second-order conic problems.
      • setXXXCallback family deprecated in favor of addXXXCallback.
      • Multiple callbacks of the same type can be registered.
      • Added support for informational callbacks via addInfoCallback.
      • A CallbackAbort exception can be thrown from callback to safely exit optimization.

      Version 0.7.4 (February 4, 2015)

      • Reduced costs and linear constraint duals are now accessible when quadratic constraints are present.
      • Two-sided nonlinear constraints are supported.
      • Methods for accessing the number of variables and constraints in a model are renamed.
      • New default procedure for setting initial values in nonlinear optimization: project zero onto the variable bounds.
      • Small bug fixes.

      Version 0.7.3 (January 14, 2015)

      • Fix a method ambiguity conflict with Compose.jl (cosmetic fix)

      Version 0.7.2 (January 9, 2015)

      • Fix a bug in sum(::JuMPDict)
      • Added the setCategory function to change a variables category (for example, continuous or binary)

      after construction, and getCategory to retrieve the variable category.

      Version 0.7.1 (January 2, 2015)

      • Fix a bug in parsing linear expressions in macros. Affects only Julia 0.4 and later.

      Version 0.7.0 (December 29, 2014)

      Linear/quadratic/conic programming

      • Breaking change: The syntax for column-wise model generation has been changed to use keyword arguments in @defVar.
      • On Julia 0.4 and later, variables and coefficients may be multiplied in any order within macros. That is, variable*coefficient is now valid syntax.
      • ECOS supported for solving second-order conic problems.

      Nonlinear programming

      • Support for skipping model generation when solving a sequence of nonlinear models with changing data.
      • Fix a memory leak when solving a sequence of nonlinear models.
      • The @addNLConstraint macro now supports the three-argument version to define sets of nonlinear constraints.
      • KNITRO supported as a nonlinear solver.
      • Speed improvements for model generation.
      • The @addNLConstraints macro supports adding multiple (groups of) constraints at once. Syntax is similar to @addConstraints.
      • Discrete variables allowed in nonlinear problems for solvers which support them (currently only KNITRO).

      General

      • Starting values for variables may now be specified with @defVar(m, x, start=value).
      • The setSolver function allows users to change the solver subsequent to model creation.
      • Support for "fixed" variables via the @defVar(m, x == 1) syntax.
      • Unit tests rewritten to use FactCheck.jl, improved testing across solvers.

      Version 0.6.3 (October 19, 2014)

      • Fix a bug in multiplying two AffExpr objects.

      Version 0.6.2 (October 11, 2014)

      • Further improvements and bug fixes for printing.
      • Fixed a bug in @defExpr.
      • Support for accessing expression graphs through the MathProgBase NLP interface.

      Version 0.6.1 (September 19, 2014)

      • Improvements and bug fixes for printing.

      Version 0.6.0 (September 9, 2014)

      • Julia 0.3.0 is the minimum required version for this release.
      • buildInternalModel(m::Model) added to build solver-level model in memory without optimizing.
      • Deprecate load_model_only keyword argument to solve.
      • Add groups of constraints with @addConstraints macro.
      • Unicode operators now supported, including for sum, for prod, and /
      • Quadratic constraints supported in @addConstraint macro.
      • Quadratic objectives supported in @setObjective macro.
      • MathProgBase solver-independent interface replaces Ipopt-specific interface for nonlinear problems
        • Breaking change: IpoptOptions no longer supported to specify solver options, use m = Model(solver=IpoptSolver(options...)) instead.
      • New solver interfaces: ECOS, NLopt, and nonlinear support for MOSEK
      • New option to control whether the lazy constraint callback is executed at each node in the B&B tree or just when feasible solutions are found
      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
      • Add support for index dependencies (for example, triangular indexing) in @defVar, @addConstraint, and @defExpr (for example, @defVar(m, x[i=1:10,j=i:10])).
        • This required some changes to the internal structure of JuMP containers, which may break code that explicitly stored JuMPDict objects.

      Version 0.5.8 (September 24, 2014)

      • Fix a bug with specifying solvers (affects Julia 0.2 only)

      Version 0.5.7 (September 5, 2014)

      • Fix a bug in printing models

      Version 0.5.6 (September 2, 2014)

      • Add support for semicontinuous and semi-integer variables for those solvers that support them.
        • Breaking change: Syntax for Variable() constructor has changed (use of this interface remains discouraged)
      • Update for breaking changes in MathProgBase

      Version 0.5.5 (July 6, 2014)

      • Fix bug with problem modification: adding variables that did not appear in existing constraints or objective.

      Version 0.5.4 (June 19, 2014)

      • Update for breaking change in MathProgBase which reduces loading times for using JuMP
      • Fix error when MIPs not solved to optimality

      Version 0.5.3 (May 21, 2014)

      • Update for breaking change in ReverseDiffSparse

      Version 0.5.2 (May 9, 2014)

      • Fix compatibility with Julia 0.3 prerelease

      Version 0.5.1 (May 5, 2014)

      • Fix a bug in coefficient handling inside lazy constraints and user cuts

      Version 0.5.0 (May 2, 2014)

      • Support for nonlinear optimization with exact, sparse second-order derivatives automatically computed. Ipopt is currently the only solver supported.
      • getValue for AffExpr and QuadExpr
      • Breaking change: getSolverModel replaced by getInternalModel, which returns the internal MathProgBase-level model
      • Groups of constraints can be specified with @addConstraint (see documentation for details). This is not a breaking change.
      • dot(::JuMPDict{Variable},::JuMPDict{Variable}) now returns the corresponding quadratic expression.

      Version 0.4.1 (March 24, 2014)

      • Fix bug where change in objective sense was ignored when re-solving a model.
      • Fix issue with handling zero coefficients in AffExpr.

      Version 0.4.0 (March 10, 2014)

      • Support for SOS1 and SOS2 constraints.
      • Solver-independent callback for user heuristics.
      • dot and sum implemented for JuMPDict objects. Now you can say @addConstraint(m, dot(a,x) <= b).
      • Developers: support for extensions to JuMP. See definition of Model in src/JuMP.jl for more details.
      • Option to construct the low-level model before optimizing.

      Version 0.3.2 (February 17, 2014)

      • Improved model printing
        • Preliminary support for IJulia output

      Version 0.3.1 (January 30, 2014)

      • Documentation updates
      • Support for MOSEK
      • CPLEXLink renamed to CPLEX

      Version 0.3.0 (January 21, 2014)

      • Unbounded/infeasibility rays: getValue() will return the corresponding components of an unbounded ray when a model is unbounded, if supported by the selected solver. getDual() will return an infeasibility ray (Farkas proof) if a model is infeasible and the selected solver supports this feature.
      • Solver-independent callbacks for user generated cuts.
      • Use new interface for solver-independent QCQP.
      • setlazycallback renamed to setLazyCallback for consistency.

      Version 0.2.0 (December 15, 2013)

      Breaking

      • Objective sense is specified in setObjective instead of in the Model constructor.
      • lpsolver and mipsolver merged into single solver option.

      Added

      • Problem modification with efficient LP restarts and MIP warm-starts.
      • Relatedly, column-wise modeling now supported.
      • Solver-independent callbacks supported. Currently we support only a "lazy constraint" callback, which works with Gurobi, CPLEX, and GLPK. More callbacks coming soon.

      Version 0.1.2 (November 16, 2013)

      • Bug fixes for printing, improved error messages.
      • Allow AffExpr to be used in macros; for example, ex = y + z; @addConstraint(m, x + 2*ex <= 3)

      Version 0.1.1 (October 23, 2013)

      • Update for solver specification API changes in MathProgBase.

      Version 0.1.0 (October 3, 2013)

      • Initial public release.
      diff --git a/dev/search_index.js b/dev/search_index.js index 998265bc099..84b60dfe244 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"moi/reference/nonlinear/","page":"Nonlinear programming","title":"Nonlinear programming","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/reference/nonlinear.md\"","category":"page"},{"location":"moi/reference/nonlinear/","page":"Nonlinear programming","title":"Nonlinear programming","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/reference/nonlinear/#Nonlinear-programming","page":"Nonlinear programming","title":"Nonlinear programming","text":"","category":"section"},{"location":"moi/reference/nonlinear/#Types","page":"Nonlinear programming","title":"Types","text":"","category":"section"},{"location":"moi/reference/nonlinear/","page":"Nonlinear programming","title":"Nonlinear programming","text":"AbstractNLPEvaluator\nNLPBoundsPair\nNLPBlockData","category":"page"},{"location":"moi/reference/nonlinear/#MathOptInterface.AbstractNLPEvaluator","page":"Nonlinear programming","title":"MathOptInterface.AbstractNLPEvaluator","text":"AbstractNLPEvaluator\n\nAbstract supertype for the callback object that is used to query function values, derivatives, and expression graphs.\n\nIt is used in NLPBlockData.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> supertype(typeof(evaluator))\nMathOptInterface.AbstractNLPEvaluator\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#MathOptInterface.NLPBoundsPair","page":"Nonlinear programming","title":"MathOptInterface.NLPBoundsPair","text":"NLPBoundsPair(lower::Float64, upper::Float64)\n\nA struct holding a pair of lower and upper bounds.\n\n-Inf and Inf can be used to indicate no lower or upper bound, respectively.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> bounds = MOI.NLPBoundsPair.([25.0, 40.0], [Inf, 40.0])\n2-element Vector{MathOptInterface.NLPBoundsPair}:\n MathOptInterface.NLPBoundsPair(25.0, Inf)\n MathOptInterface.NLPBoundsPair(40.0, 40.0)\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#MathOptInterface.NLPBlockData","page":"Nonlinear programming","title":"MathOptInterface.NLPBlockData","text":"struct NLPBlockData\n constraint_bounds::Vector{NLPBoundsPair}\n evaluator::AbstractNLPEvaluator\n has_objective::Bool\nend\n\nA struct encoding a set of nonlinear constraints of the form lb le g(x) le ub and, if has_objective == true, a nonlinear objective function f(x).\n\nNonlinear objectives override any objective set by using the ObjectiveFunction attribute.\n\nThe evaluator is a callback object that is used to query function values, derivatives, and expression graphs. If has_objective == false, then it is an error to query properties of the objective function, and in Hessian-of-the-Lagrangian queries, σ must be set to zero.\n\nnote: Note\nThroughout the evaluator, all variables are ordered according to ListOfVariableIndices. Hence, MOI copies of nonlinear problems must not re-order variables.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Utilities.UniversalFallback(MOI.Utilities.Model{Float64}());\n\njulia> block = MOI.NLPBlockData(\n MOI.NLPBoundsPair.([25.0, 40.0], [Inf, 40.0]),\n MOI.Test.HS071(true),\n true,\n );\n\njulia> MOI.set(model, MOI.NLPBlock(), block)\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#Attributes","page":"Nonlinear programming","title":"Attributes","text":"","category":"section"},{"location":"moi/reference/nonlinear/","page":"Nonlinear programming","title":"Nonlinear programming","text":"NLPBlock\nNLPBlockDual\nNLPBlockDualStart","category":"page"},{"location":"moi/reference/nonlinear/#MathOptInterface.NLPBlock","page":"Nonlinear programming","title":"MathOptInterface.NLPBlock","text":"NLPBlock()\n\nAn AbstractModelAttribute that stores an NLPBlockData, representing a set of nonlinear constraints, and optionally a nonlinear objective.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Utilities.UniversalFallback(MOI.Utilities.Model{Float64}());\n\njulia> block = MOI.NLPBlockData(\n MOI.NLPBoundsPair.([25.0, 40.0], [Inf, 40.0]),\n MOI.Test.HS071(true),\n true,\n );\n\njulia> MOI.set(model, MOI.NLPBlock(), block)\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#MathOptInterface.NLPBlockDual","page":"Nonlinear programming","title":"MathOptInterface.NLPBlockDual","text":"NLPBlockDual(result_index::Int = 1)\n\nAn AbstractModelAttribute for the Lagrange multipliers on the constraints from the NLPBlock in result result_index.\n\nIf result_index is omitted, it is 1 by default.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.NLPBlockDual()\nMathOptInterface.NLPBlockDual(1)\n\njulia> MOI.NLPBlockDual(2)\nMathOptInterface.NLPBlockDual(2)\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#MathOptInterface.NLPBlockDualStart","page":"Nonlinear programming","title":"MathOptInterface.NLPBlockDualStart","text":"NLPBlockDualStart()\n\nAn AbstractModelAttribute for the initial assignment of the Lagrange multipliers on the constraints from the NLPBlock that the solver may use to warm-start the solve.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Utilities.UniversalFallback(MOI.Utilities.Model{Float64}());\n\njulia> block = MOI.NLPBlockData(\n MOI.NLPBoundsPair.([25.0, 40.0], [Inf, 40.0]),\n MOI.Test.HS071(true),\n true,\n );\n\njulia> MOI.set(model, MOI.NLPBlock(), block)\n\njulia> MOI.set(model, MOI.NLPBlockDualStart(), [1.0, 2.0])\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/nonlinear/#Functions","page":"Nonlinear programming","title":"Functions","text":"","category":"section"},{"location":"moi/reference/nonlinear/","page":"Nonlinear programming","title":"Nonlinear programming","text":"initialize\nfeatures_available\neval_objective\neval_constraint\neval_objective_gradient\njacobian_structure\neval_constraint_gradient\nconstraint_gradient_structure\neval_constraint_jacobian\neval_constraint_jacobian_product\neval_constraint_jacobian_transpose_product\nhessian_lagrangian_structure\nhessian_objective_structure\nhessian_constraint_structure\neval_hessian_objective\neval_hessian_constraint\neval_hessian_lagrangian\neval_hessian_lagrangian_product\nobjective_expr\nconstraint_expr","category":"page"},{"location":"moi/reference/nonlinear/#MathOptInterface.initialize","page":"Nonlinear programming","title":"MathOptInterface.initialize","text":"initialize(\n d::AbstractNLPEvaluator,\n requested_features::Vector{Symbol},\n)::Nothing\n\nInitialize d with the set of features in requested_features. Check features_available before calling initialize to see what features are supported by d.\n\nwarning: Warning\nThis method must be called before any other methods.\n\nFeatures\n\nThe following features are defined:\n\n:Grad: enables eval_objective_gradient\n:Jac: enables eval_constraint_jacobian and eval_constraint_gradient\n:JacVec: enables eval_constraint_jacobian_product and eval_constraint_jacobian_transpose_product\n:Hess: enables eval_hessian_lagrangian\n:HessVec: enables eval_hessian_lagrangian_product\n:ExprGraph: enables objective_expr and constraint_expr.\n\nIn all cases, including when requested_features is empty, eval_objective and eval_constraint are supported.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, [:Grad, :Jac])\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.features_available","page":"Nonlinear programming","title":"MathOptInterface.features_available","text":"features_available(d::AbstractNLPEvaluator)::Vector{Symbol}\n\nReturns the subset of features available for this problem instance.\n\nSee initialize for the list of defined features.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true, true);\n\njulia> MOI.features_available(evaluator)\n6-element Vector{Symbol}:\n :Grad\n :Jac\n :JacVec\n :ExprGraph\n :Hess\n :HessVec\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_objective","page":"Nonlinear programming","title":"MathOptInterface.eval_objective","text":"eval_objective(d::AbstractNLPEvaluator, x::AbstractVector{T})::T where {T}\n\nEvaluate the objective f(x), returning a scalar value.\n\nInitialize\n\nBefore calling this function, you must call initialize, but you do not need to pass a value.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[])\n\njulia> MOI.eval_objective(evaluator, [1.0, 2.0, 3.0, 4.0])\n27.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_constraint","page":"Nonlinear programming","title":"MathOptInterface.eval_constraint","text":"eval_constraint(\n d::AbstractNLPEvaluator,\n g::AbstractVector{T},\n x::AbstractVector{T},\n)::Nothing where {T}\n\nGiven a set of vector-valued constraints l le g(x) le u, evaluate the constraint function g(x), storing the result in the vector g.\n\nInitialize\n\nBefore calling this function, you must call initialize, but you do not need to pass a value.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that g is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[])\n\njulia> g = fill(NaN, 2);\n\njulia> MOI.eval_constraint(evaluator, g, [1.0, 2.0, 3.0, 4.0])\n\njulia> g\n2-element Vector{Float64}:\n 24.0\n 30.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_objective_gradient","page":"Nonlinear programming","title":"MathOptInterface.eval_objective_gradient","text":"eval_objective_gradient(\n d::AbstractNLPEvaluator,\n grad::AbstractVector{T},\n x::AbstractVector{T},\n)::Nothing where {T}\n\nEvaluate the gradient of the objective function grad = nabla f(x) as a dense vector, storing the result in the vector grad.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Grad.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that grad is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Grad])\n\njulia> grad = fill(NaN, 4);\n\njulia> MOI.eval_objective_gradient(evaluator, grad, [1.0, 2.0, 3.0, 4.0])\n\njulia> grad\n4-element Vector{Float64}:\n 28.0\n 4.0\n 5.0\n 6.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.jacobian_structure","page":"Nonlinear programming","title":"MathOptInterface.jacobian_structure","text":"jacobian_structure(d::AbstractNLPEvaluator)::Vector{Tuple{Int64,Int64}}\n\nReturns a vector of tuples, (row, column), where each indicates the position of a structurally nonzero element in the Jacobian matrix: J_g(x) = left beginarrayc nabla g_1(x) nabla g_2(x) vdots nabla g_m(x) endarrayright where g_i is the itextth component of the nonlinear constraints g(x).\n\nThe indices are not required to be sorted and can contain duplicates, in which case the solver should combine the corresponding elements by adding them together.\n\nThe sparsity structure is assumed to be independent of the point x.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Jac.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac])\n\njulia> MOI.jacobian_structure(evaluator)\n8-element Vector{Tuple{Int64, Int64}}:\n (1, 1)\n (1, 2)\n (1, 3)\n (1, 4)\n (2, 1)\n (2, 2)\n (2, 3)\n (2, 4)\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_constraint_gradient","page":"Nonlinear programming","title":"MathOptInterface.eval_constraint_gradient","text":"eval_constraint_gradient(\n d::AbstractNLPEvaluator,\n ∇g::AbstractVector{T},\n x::AbstractVector{T},\n i::Int,\n)::Nothing where {T}\n\nEvaluate the gradient of constraint i, nabla g_i(x), and store the non-zero values in ∇g, corresponding to the structure returned by constraint_gradient_structure.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that ∇g is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Jac.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac])\n\njulia> indices = MOI.constraint_gradient_structure(evaluator, 1);\n\njulia> ∇g = zeros(length(indices));\n\njulia> MOI.eval_constraint_gradient(evaluator, ∇g, [1.0, 2.0, 3.0, 4.0], 1)\n\njulia> ∇g\n4-element Vector{Float64}:\n 24.0\n 12.0\n 8.0\n 6.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.constraint_gradient_structure","page":"Nonlinear programming","title":"MathOptInterface.constraint_gradient_structure","text":"constraint_gradient_structure(d::AbstractNLPEvaluator, i::Int)::Vector{Int64}\n\nReturns a vector of indices, where each element indicates the position of a structurally nonzero element in the gradient of constraint nabla g_i(x).\n\nThe indices are not required to be sorted and can contain duplicates, in which case the solver should combine the corresponding elements by adding them together.\n\nThe sparsity structure is assumed to be independent of the point x.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Jac.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac])\n\njulia> indices = MOI.constraint_gradient_structure(evaluator, 1)\n4-element Vector{Int64}:\n 1\n 2\n 3\n 4\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_constraint_jacobian","page":"Nonlinear programming","title":"MathOptInterface.eval_constraint_jacobian","text":"eval_constraint_jacobian(\n d::AbstractNLPEvaluator,\n J::AbstractVector{T},\n x::AbstractVector{T},\n)::Nothing where {T}\n\nEvaluates the sparse Jacobian matrix J_g(x) = left beginarrayc nabla g_1(x) nabla g_2(x) vdots nabla g_m(x) endarrayright.\n\nThe result is stored in the vector J in the same order as the indices returned by jacobian_structure.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that J is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac])\n\njulia> J_indices = MOI.jacobian_structure(evaluator);\n\njulia> J = zeros(length(J_indices));\n\njulia> MOI.eval_constraint_jacobian(evaluator, J, [1.0, 2.0, 3.0, 4.0])\n\njulia> J\n8-element Vector{Float64}:\n 24.0\n 12.0\n 8.0\n 6.0\n 2.0\n 4.0\n 6.0\n 8.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_constraint_jacobian_product","page":"Nonlinear programming","title":"MathOptInterface.eval_constraint_jacobian_product","text":"eval_constraint_jacobian_product(\n d::AbstractNLPEvaluator,\n y::AbstractVector{T},\n x::AbstractVector{T},\n w::AbstractVector{T},\n)::Nothing where {T}\n\nComputes the Jacobian-vector product y = J_g(x)w, storing the result in the vector y.\n\nThe vectors have dimensions such that length(w) == length(x), and length(y) is the number of nonlinear constraints.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that y is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :JacVec.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac, :JacVec])\n\njulia> y = zeros(2);\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> w = [1.5, 2.5, 3.5, 4.5];\n\njulia> MOI.eval_constraint_jacobian_product(evaluator, y, x, w)\n\njulia> y\n2-element Vector{Float64}:\n 121.0\n 70.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_constraint_jacobian_transpose_product","page":"Nonlinear programming","title":"MathOptInterface.eval_constraint_jacobian_transpose_product","text":"eval_constraint_jacobian_transpose_product(\n d::AbstractNLPEvaluator,\n y::AbstractVector{T},\n x::AbstractVector{T},\n w::AbstractVector{T},\n)::Nothing where {T}\n\nComputes the Jacobian-transpose-vector product y = J_g(x)^Tw, storing the result in the vector y.\n\nThe vectors have dimensions such that length(y) == length(x), and length(w) is the number of nonlinear constraints.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that y is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :JacVec.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Jac, :JacVec])\n\njulia> y = zeros(4);\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> w = [1.5, 2.5];\n\njulia> MOI.eval_constraint_jacobian_transpose_product(evaluator, y, x, w)\n\njulia> y\n4-element Vector{Float64}:\n 41.0\n 28.0\n 27.0\n 29.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.hessian_lagrangian_structure","page":"Nonlinear programming","title":"MathOptInterface.hessian_lagrangian_structure","text":"hessian_lagrangian_structure(\n d::AbstractNLPEvaluator,\n)::Vector{Tuple{Int64,Int64}}\n\nReturns a vector of tuples, (row, column), where each indicates the position of a structurally nonzero element in the Hessian-of-the-Lagrangian matrix: nabla^2 f(x) + sum_i=1^m nabla^2 g_i(x).\n\nThe indices are not required to be sorted and can contain duplicates, in which case the solver should combine the corresponding elements by adding them together.\n\nAny mix of lower and upper-triangular indices is valid. Elements (i, j) and (j, i), if both present, should be treated as duplicates.\n\nThe sparsity structure is assumed to be independent of the point x.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> MOI.hessian_lagrangian_structure(evaluator)\n10-element Vector{Tuple{Int64, Int64}}:\n (1, 1)\n (2, 1)\n (2, 2)\n (3, 1)\n (3, 2)\n (3, 3)\n (4, 1)\n (4, 2)\n (4, 3)\n (4, 4)\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.hessian_objective_structure","page":"Nonlinear programming","title":"MathOptInterface.hessian_objective_structure","text":"hessian_objective_structure(\n d::AbstractNLPEvaluator,\n)::Vector{Tuple{Int64,Int64}}\n\nReturns a vector of tuples, (row, column), where each indicates the position of a structurally nonzero element in the Hessian matrix: nabla^2 f(x).\n\nThe indices are not required to be sorted and can contain duplicates, in which case the solver should combine the corresponding elements by adding them together.\n\nAny mix of lower and upper-triangular indices is valid. Elements (i, j) and (j, i), if both present, should be treated as duplicates.\n\nThe sparsity structure is assumed to be independent of the point x.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> MOI.hessian_objective_structure(evaluator)\n6-element Vector{Tuple{Int64, Int64}}:\n (1, 1)\n (2, 1)\n (3, 1)\n (4, 1)\n (4, 2)\n (4, 3)\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.hessian_constraint_structure","page":"Nonlinear programming","title":"MathOptInterface.hessian_constraint_structure","text":"hessian_constraint_structure(\n d::AbstractNLPEvaluator,\n i::Int64,\n)::Vector{Tuple{Int64,Int64}}\n\nReturns a vector of tuples, (row, column), where each indicates the position of a structurally nonzero element in the Hessian matrix: nabla^2 g_i(x).\n\nThe indices are not required to be sorted and can contain duplicates, in which case the solver should combine the corresponding elements by adding them together.\n\nAny mix of lower and upper-triangular indices is valid. Elements (i, j) and (j, i), if both present, should be treated as duplicates.\n\nThe sparsity structure is assumed to be independent of the point x.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> MOI.hessian_constraint_structure(evaluator, 1)\n6-element Vector{Tuple{Int64, Int64}}:\n (2, 1)\n (3, 1)\n (3, 2)\n (4, 1)\n (4, 2)\n (4, 3)\n\njulia> MOI.hessian_constraint_structure(evaluator, 2)\n4-element Vector{Tuple{Int64, Int64}}:\n (1, 1)\n (2, 2)\n (3, 3)\n (4, 4)\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_hessian_objective","page":"Nonlinear programming","title":"MathOptInterface.eval_hessian_objective","text":"eval_hessian_objective(\n d::AbstractNLPEvaluator,\n H::AbstractVector{T},\n x::AbstractVector{T},\n)::Nothing where {T}\n\nThis function computes the sparse Hessian matrix: nabla^2 f(x), storing the result in the vector H in the same order as the indices returned by hessian_objective_structure.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that H is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true, true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> indices = MOI.hessian_objective_structure(evaluator);\n\njulia> H = zeros(length(indices));\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> MOI.eval_hessian_objective(evaluator, H, x)\n\njulia> H\n6-element Vector{Float64}:\n 8.0\n 4.0\n 4.0\n 7.0\n 1.0\n 1.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_hessian_constraint","page":"Nonlinear programming","title":"MathOptInterface.eval_hessian_constraint","text":"eval_hessian_constraint(\n d::AbstractNLPEvaluator,\n H::AbstractVector{T},\n x::AbstractVector{T},\n i::Int64,\n)::Nothing where {T}\n\nThis function computes the sparse Hessian matrix: nabla^2 g_i(x), storing the result in the vector H in the same order as the indices returned by hessian_constraint_structure.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that H is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true, true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> indices = MOI.hessian_constraint_structure(evaluator, 1);\n\njulia> H = zeros(length(indices));\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> MOI.eval_hessian_constraint(evaluator, H, x, 1)\n\njulia> H\n6-element Vector{Float64}:\n 12.0\n 8.0\n 4.0\n 6.0\n 3.0\n 2.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_hessian_lagrangian","page":"Nonlinear programming","title":"MathOptInterface.eval_hessian_lagrangian","text":"eval_hessian_lagrangian(\n d::AbstractNLPEvaluator,\n H::AbstractVector{T},\n x::AbstractVector{T},\n σ::T,\n μ::AbstractVector{T},\n)::Nothing where {T}\n\nGiven scalar weight σ and vector of constraint weights μ, this function computes the sparse Hessian-of-the-Lagrangian matrix: sigmanabla^2 f(x) + sum_i=1^m mu_i nabla^2 g_i(x), storing the result in the vector H in the same order as the indices returned by hessian_lagrangian_structure.\n\nImplementation notes\n\nWhen implementing this method, you must not assume that H is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :Hess.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, Symbol[:Hess])\n\njulia> indices = MOI.hessian_lagrangian_structure(evaluator);\n\njulia> H = zeros(length(indices));\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> σ = 1.0;\n\njulia> μ = [1.0, 1.0];\n\njulia> MOI.eval_hessian_lagrangian(evaluator, H, x, σ, μ)\n\njulia> H\n10-element Vector{Float64}:\n 10.0\n 16.0\n 2.0\n 12.0\n 4.0\n 2.0\n 13.0\n 4.0\n 3.0\n 2.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.eval_hessian_lagrangian_product","page":"Nonlinear programming","title":"MathOptInterface.eval_hessian_lagrangian_product","text":"eval_hessian_lagrangian_product(\n d::AbstractNLPEvaluator,\n h::AbstractVector{T},\n x::AbstractVector{T},\n v::AbstractVector{T},\n σ::T,\n μ::AbstractVector{T},\n)::Nothing where {T}\n\nGiven scalar weight σ and vector of constraint weights μ, computes the Hessian-of-the-Lagrangian-vector product h = left(sigmanabla^2 f(x) + sum_i=1^m mu_i nabla^2 g_i(x)right)v, storing the result in the vector h.\n\nThe vectors have dimensions such that length(h) == length(x) == length(v).\n\nImplementation notes\n\nWhen implementing this method, you must not assume that h is Vector{Float64}, but you may assume that it supports setindex! and length. For example, it may be the view of a vector.\n\nInitialize\n\nBefore calling this function, you must call initialize with :HessVec.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true, true);\n\njulia> MOI.initialize(evaluator, Symbol[:HessVec])\n\njulia> H = fill(NaN, 4);\n\njulia> x = [1.0, 2.0, 3.0, 4.0];\n\njulia> v = [1.5, 2.5, 3.5, 4.5];\n\njulia> σ = 1.0;\n\njulia> μ = [1.0, 1.0];\n\njulia> MOI.eval_hessian_lagrangian_product(evaluator, H, x, v, σ, μ)\n\njulia> H\n4-element Vector{Float64}:\n 155.5\n 61.0\n 48.5\n 49.0\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.objective_expr","page":"Nonlinear programming","title":"MathOptInterface.objective_expr","text":"objective_expr(d::AbstractNLPEvaluator)::Expr\n\nReturns a Julia Expr object representing the expression graph of the objective function.\n\nFormat\n\nThe expression has a number of limitations, compared with arbitrary Julia expressions:\n\nAll sums and products are flattened out as simple Expr(:+, ...) and Expr(:*, ...) objects.\nAll decision variables must be of the form Expr(:ref, :x, MOI.VariableIndex(i)), where i is the ith variable in ListOfVariableIndices.\nThere are currently no restrictions on recognized functions; typically these will be built-in Julia functions like ^, exp, log, cos, tan, sqrt, etc., but modeling interfaces may choose to extend these basic functions, or error if they encounter unsupported functions.\n\nInitialize\n\nBefore calling this function, you must call initialize with :ExprGraph.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, [:ExprGraph])\n\njulia> MOI.objective_expr(evaluator)\n:(x[MOI.VariableIndex(1)] * x[MOI.VariableIndex(4)] * (x[MOI.VariableIndex(1)] + x[MOI.VariableIndex(2)] + x[MOI.VariableIndex(3)]) + x[MOI.VariableIndex(3)])\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/nonlinear/#MathOptInterface.constraint_expr","page":"Nonlinear programming","title":"MathOptInterface.constraint_expr","text":"constraint_expr(d::AbstractNLPEvaluator, i::Integer)::Expr\n\nReturns a Julia Expr object representing the expression graph for the itextth nonlinear constraint.\n\nFormat\n\nThe format is the same as objective_expr, with an additional comparison operator indicating the sense of and bounds on the constraint.\n\nFor single-sided comparisons, the body of the constraint must be on the left-hand side, and the right-hand side must be a constant.\n\nFor double-sided comparisons (that is, l le g(x) le u), the body of the constraint must be in the middle, and the left- and right-hand sides must be constants.\n\nThe bounds on the constraints must match the NLPBoundsPairs passed to NLPBlockData.\n\nInitialize\n\nBefore calling this function, you must call initialize with :ExprGraph.\n\nExample\n\nThis example uses the Test.HS071 evaluator.\n\njulia> import MathOptInterface as MOI\n\njulia> evaluator = MOI.Test.HS071(true);\n\njulia> MOI.initialize(evaluator, [:ExprGraph])\n\njulia> MOI.constraint_expr(evaluator, 1)\n:(x[MOI.VariableIndex(1)] * x[MOI.VariableIndex(2)] * x[MOI.VariableIndex(3)] * x[MOI.VariableIndex(4)] >= 25.0)\n\njulia> MOI.constraint_expr(evaluator, 2)\n:(x[MOI.VariableIndex(1)] ^ 2 + x[MOI.VariableIndex(2)] ^ 2 + x[MOI.VariableIndex(3)] ^ 2 + x[MOI.VariableIndex(4)] ^ 2 == 40.0)\n\n\n\n\n\n","category":"function"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"EditURL = \"https://github.com/jump-dev/Cbc.jl/blob/v1.2.0/README.md\"","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"(Image: )","category":"page"},{"location":"packages/Cbc/#Cbc.jl","page":"jump-dev/Cbc.jl","title":"Cbc.jl","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"(Image: Build Status) (Image: codecov)","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Cbc.jl is a wrapper for the COIN-OR Branch and Cut (Cbc) solver.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"The wrapper has two components:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"a thin wrapper around the complete C API\nan interface to MathOptInterface","category":"page"},{"location":"packages/Cbc/#Affiliation","page":"jump-dev/Cbc.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"This wrapper is maintained by the JuMP community and is not a COIN-OR project.","category":"page"},{"location":"packages/Cbc/#License","page":"jump-dev/Cbc.jl","title":"License","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Cbc.jl is licensed under the MIT License.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"The underlying solver, coin-or/Cbc, is licensed under the Eclipse public license.","category":"page"},{"location":"packages/Cbc/#Installation","page":"jump-dev/Cbc.jl","title":"Installation","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Install Cbc using Pkg.add:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"import Pkg\nPkg.add(\"Cbc\")","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"In addition to installing the Cbc.jl package, this will also download and install the Cbc binaries. You do not need to install Cbc separately.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"To use a custom binary, read the Custom solver binaries section of the JuMP documentation.","category":"page"},{"location":"packages/Cbc/#Use-with-JuMP","page":"jump-dev/Cbc.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"To use Cbc with JuMP, use Cbc.Optimizer:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"using JuMP, Cbc\nmodel = Model(Cbc.Optimizer)\nset_attribute(model, \"logLevel\", 1)","category":"page"},{"location":"packages/Cbc/#MathOptInterface-API","page":"jump-dev/Cbc.jl","title":"MathOptInterface API","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"The COIN Branch-and-Cut (Cbc) optimizer supports the following constraints and attributes.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported objective functions:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported variable types:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"MOI.Reals","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported constraint types:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"MOI.ScalarAffineFunction{Float64} in MOI.EqualTo{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.GreaterThan{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.Interval{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.LessThan{Float64}\nMOI.VariableIndex in MOI.EqualTo{Float64}\nMOI.VariableIndex in MOI.GreaterThan{Float64}\nMOI.VariableIndex in MOI.Integer\nMOI.VariableIndex in MOI.Interval{Float64}\nMOI.VariableIndex in MOI.LessThan{Float64}\nMOI.VariableIndex in MOI.ZeroOne\nMOI.VectorOfVariables in MOI.SOS1{Float64}\nMOI.VectorOfVariables in MOI.SOS2{Float64}","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported model attributes:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Cbc.Status\nCbc.SecondaryStatus\nMOI.DualStatus\nMOI.NodeCount\nMOI.NumberOfVariables\nMOI.ObjectiveBound\nMOI.ObjectiveSense\nMOI.ObjectiveValue\nMOI.PrimalStatus\nMOI.RelativeGap\nMOI.ResultCount\nMOI.SolveTimeSec\nMOI.TerminationStatus","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported optimizer attributes:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Cbc.SetVariableNames\nMOI.AbsoluteGapTolerance\nMOI.NumberOfThreads\nMOI.RawOptimizerAttribute\nMOI.RelativeGapTolerance\nMOI.Silent\nMOI.SolverName\nMOI.SolverVersion\nMOI.TimeLimitSec","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported variable attributes:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"MOI.VariablePrimal\nMOI.VariablePrimalStart\nMOI.VariableName","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"List of supported constraint attributes:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"MOI.ConstraintPrimal","category":"page"},{"location":"packages/Cbc/#Options","page":"jump-dev/Cbc.jl","title":"Options","text":"","category":"section"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Options are, unfortunately, not well documented.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"The following options are likely to be the most useful:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Parameter Example Explanation\nseconds 60.0 Solution timeout limit\nlogLevel 2 Set to 0 to disable solution output\nmaxSolutions 1 Terminate after this many feasible solutions have been found\nmaxNodes 1 Terminate after this many branch-and-bound nodes have been evaluated\nallowableGap 0.05 Terminate after optimality gap is less than this value (on an absolute scale)\nratioGap 0.05 Terminate after optimality gap is smaller than this relative fraction\nthreads 1 Set the number of threads to use for parallel branch & bound","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"The complete list of parameters can be found by running the cbc executable and typing ? at the prompt.","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"Start the cbc executable from Julia as follows:","category":"page"},{"location":"packages/Cbc/","page":"jump-dev/Cbc.jl","title":"jump-dev/Cbc.jl","text":"using Cbc_jll\nCbc_jll.cbc() do exe\n run(`$(exe)`)\nend","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"EditURL = \"geographic_clustering.jl\"","category":"page"},{"location":"tutorials/linear/geographic_clustering/#Geographical-clustering","page":"Geographical clustering","title":"Geographical clustering","text":"","category":"section"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"This tutorial was originally contributed by Matthew Helm and Mathieu Tanneau.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"The goal of this exercise is to cluster n cities into k groups, minimizing the total pairwise distance between cities and ensuring that the variance in the total populations of each group is relatively small.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"using JuMP\nimport DataFrames\nimport HiGHS\nimport LinearAlgebra","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"For this example, we'll use the 20 most populous cities in the United States.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"cities = DataFrames.DataFrame(\n Union{String,Float64}[\n \"New York, NY\" 8.405 40.7127 -74.0059\n \"Los Angeles, CA\" 3.884 34.0522 -118.2436\n \"Chicago, IL\" 2.718 41.8781 -87.6297\n \"Houston, TX\" 2.195 29.7604 -95.3698\n \"Philadelphia, PA\" 1.553 39.9525 -75.1652\n \"Phoenix, AZ\" 1.513 33.4483 -112.0740\n \"San Antonio, TX\" 1.409 29.4241 -98.4936\n \"San Diego, CA\" 1.355 32.7157 -117.1610\n \"Dallas, TX\" 1.257 32.7766 -96.7969\n \"San Jose, CA\" 0.998 37.3382 -121.8863\n \"Austin, TX\" 0.885 30.2671 -97.7430\n \"Indianapolis, IN\" 0.843 39.7684 -86.1580\n \"Jacksonville, FL\" 0.842 30.3321 -81.6556\n \"San Francisco, CA\" 0.837 37.7749 -122.4194\n \"Columbus, OH\" 0.822 39.9611 -82.9987\n \"Charlotte, NC\" 0.792 35.2270 -80.8431\n \"Fort Worth, TX\" 0.792 32.7554 -97.3307\n \"Detroit, MI\" 0.688 42.3314 -83.0457\n \"El Paso, TX\" 0.674 31.7775 -106.4424\n \"Memphis, TN\" 0.653 35.1495 -90.0489\n ],\n [\"city\", \"population\", \"lat\", \"lon\"],\n)","category":"page"},{"location":"tutorials/linear/geographic_clustering/#Model-Specifics","page":"Geographical clustering","title":"Model Specifics","text":"","category":"section"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"We will cluster these 20 cities into 3 different groups and we will assume that the ideal or target population P for a group is simply the total population of the 20 cities divided by 3:","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"n = size(cities, 1)\nk = 3\nP = sum(cities.population) / k","category":"page"},{"location":"tutorials/linear/geographic_clustering/#Obtaining-the-distances-between-each-city","page":"Geographical clustering","title":"Obtaining the distances between each city","text":"","category":"section"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"Let's compute the pairwise Haversine distance between each of the cities in our data set and store the result in a variable we'll call dm:","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"\"\"\"\n haversine(lat1, long1, lat2, long2, r = 6372.8)\n\nCompute the haversine distance between two points on a sphere of radius `r`,\nwhere the points are given by the latitude/longitude pairs `lat1/long1` and\n`lat2/long2` (in degrees).\n\"\"\"\nfunction haversine(lat1, long1, lat2, long2, r = 6372.8)\n lat1, long1 = deg2rad(lat1), deg2rad(long1)\n lat2, long2 = deg2rad(lat2), deg2rad(long2)\n hav(a, b) = sin((b - a) / 2)^2\n inner_term = hav(lat1, lat2) + cos(lat1) * cos(lat2) * hav(long1, long2)\n d = 2 * r * asin(sqrt(inner_term))\n # Round distance to nearest kilometer.\n return round(Int, d)\nend","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"Our distance matrix is symmetric so we'll convert it to a LowerTriangular matrix so that we can better interpret the objective value of our model:","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"dm = LinearAlgebra.LowerTriangular([\n haversine(cities.lat[i], cities.lon[i], cities.lat[j], cities.lon[j])\n for i in 1:n, j in 1:n\n])","category":"page"},{"location":"tutorials/linear/geographic_clustering/#Build-the-model","page":"Geographical clustering","title":"Build the model","text":"","category":"section"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"Now that we have the basics taken care of, we can set up our model, create decision variables, add constraints, and then solve.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"First, we'll set up a model that leverages the Cbc solver. Next, we'll set up a binary variable x_ik that takes the value 1 if city i is in group k and 0 otherwise. Each city must be in a group, so we'll add the constraint sum_k x_ik = 1 for every i.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"model = Model(HiGHS.Optimizer)\nset_silent(model)\n@variable(model, x[1:n, 1:k], Bin)\n@constraint(model, [i = 1:n], sum(x[i, :]) == 1);\n# To reduce symmetry, we fix the first city to belong to the first group.\nfix(x[1, 1], 1; force = true)","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"The total population of a group k is Q_k = sum_ix_ikq_i where q_i is simply the i-th value from the population column in our cities DataFrame. Let's add constraints so that alpha leq (Q_k - P) leq beta. We'll set alpha equal to -3 million and beta equal to 3. By adjusting these thresholds you'll find that there is a tradeoff between having relatively even populations between groups and having geographically close cities within each group. In other words, the larger the absolute values of alpha and beta, the closer together the cities in a group will be but the variance between the group populations will be higher.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"@variable(model, -3 <= population_diff[1:k] <= 3)\n@constraint(model, population_diff .== x' * cities.population .- P)","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"Now we need to add one last binary variable z_ij to our model that we'll use to compute the total distance between the cities in our groups, defined as sum_ijd_ijz_ij. Variable z_ij will equal 1 if cities i and j are in the same group, and 0 if they are not in the same group.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"To ensure that z_ij = 1 if and only if cities i and j are in the same group, we add the constraints z_ij geq x_ik + x_jk - 1 for every pair ij and every k:","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"@variable(model, z[i = 1:n, j = 1:i], Bin)\nfor k in 1:k, i in 1:n, j in 1:i\n @constraint(model, z[i, j] >= x[i, k] + x[j, k] - 1)\nend","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"We can now add an objective to our model which will simply be to minimize the dot product of z and our distance matrix, dm.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"@objective(model, Min, sum(dm[i, j] * z[i, j] for i in 1:n, j in 1:i));\nnothing #hide","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"We can then call optimize! and review the results.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"optimize!(model)\n@assert is_solved_and_feasible(model)","category":"page"},{"location":"tutorials/linear/geographic_clustering/#Reviewing-the-Results","page":"Geographical clustering","title":"Reviewing the Results","text":"","category":"section"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"Now that we have results, we can add a column to our cities DataFrame for the group and then loop through our x variable to assign each city to its group. Once we have that, we can look at the total population for each group and also look at the cities in each group to verify that they are grouped by geographic proximity.","category":"page"},{"location":"tutorials/linear/geographic_clustering/","page":"Geographical clustering","title":"Geographical clustering","text":"cities.group = zeros(n)\n\nfor i in 1:n, j in 1:k\n if round(Int, value(x[i, j])) == 1\n cities.group[i] = j\n end\nend\n\nfor group in DataFrames.groupby(cities, :group)\n @show group\n println(\"\")\n @show sum(group.population)\n println(\"\")\nend","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"EditURL = \"https://github.com/hdavid16/DisjunctiveProgramming.jl/blob/6a4d0ac4a7484e52b1dbff9cee310a73d2d23e81/docs/jump/README.md\"","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"(Image: Logo)","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"DisjunctiveProgramming.jl is a JuMP extension for expressing and solving Generalized Disjunctive Programs. Generalized Disjunctive Programming (GDP) is a modeling paradigm for easily modeling logical conditions which can be reformulated into a variety of mixed-integer programs. ","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"Current Version Documentation Build Status Citation\n(Image: ) (Image: ) (Image: Build Status) (Image: codecov.io) (Image: arXiv)","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"DisjunctiveProgramming builds upon JuMP to add support GDP modeling objects which include:","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"Logical variables (Y in textFalse textTrue)\nDisjunctions\nLogical constraints (also known as propositions)\nCardinality constraints","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"It also supports automatic conversion of the GDP model into a regular mixed-integer JuMP model via a variety of reformulations which include:","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"Big-M\nHull\nIndicator constraints","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"Moreover, DisjunctiveProgramming provides an extension API to easily add new reformulation methods.","category":"page"},{"location":"packages/DisjunctiveProgramming/#License","page":"hdavid16/DisjunctiveProgramming.jl","title":"License","text":"","category":"section"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"InfiniteOpt is licensed under the MIT \"Expat\" license.","category":"page"},{"location":"packages/DisjunctiveProgramming/#Installation","page":"hdavid16/DisjunctiveProgramming.jl","title":"Installation","text":"","category":"section"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"DisjunctiveProgramming.jl is a registered Julia package and can be installed by entering the following in the REPL.","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"julia> import Pkg; Pkg.add(\"DisjunctiveProgramming\")","category":"page"},{"location":"packages/DisjunctiveProgramming/#Documentation","page":"hdavid16/DisjunctiveProgramming.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"Please visit our documentation pages to learn more.","category":"page"},{"location":"packages/DisjunctiveProgramming/#Citing","page":"hdavid16/DisjunctiveProgramming.jl","title":"Citing","text":"","category":"section"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"(Image: arXiv)","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"If you use DisjunctiveProgramming.jl in your research, we would greatly appreciate your citing it.","category":"page"},{"location":"packages/DisjunctiveProgramming/","page":"hdavid16/DisjunctiveProgramming.jl","title":"hdavid16/DisjunctiveProgramming.jl","text":"@article{perez2023disjunctiveprogramming,\n title={DisjunctiveProgramming. jl: Generalized Disjunctive Programming Models and Algorithms for JuMP},\n author={Perez, Hector D and Joshi, Shivank and Grossmann, Ignacio E},\n journal={arXiv preprint arXiv:2304.10492},\n year={2023}\n}","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"CurrentModule = JuMP\nDocTestSetup = quote\n using JuMP\nend\nDocTestFilters = [r\"≤|<=\", r\"≥|>=\", r\" == | = \", r\" ∈ | in \", r\"MathOptInterface|MOI\"]","category":"page"},{"location":"manual/objective/#Objectives","page":"Objectives","title":"Objectives","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"This page describes macros and functions related to linear and quadratic objective functions only, unless otherwise indicated. For nonlinear objective functions, see Nonlinear Modeling.","category":"page"},{"location":"manual/objective/#Set-a-linear-objective","page":"Objectives","title":"Set a linear objective","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use the @objective macro to set a linear objective function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use Min to create a minimization objective:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x + 1)\n2 x + 1","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use Max to create a maximization objective:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Max, 2x + 1)\n2 x + 1","category":"page"},{"location":"manual/objective/#Set-a-quadratic-objective","page":"Objectives","title":"Set a quadratic objective","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use the @objective macro to set a quadratic objective function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use ^2 to have a variable squared:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, x^2 + 2x + 1)\nx² + 2 x + 1","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"You can also have bilinear terms between variables:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> @objective(model, Max, x * y + x + y)\nx*y + x + y","category":"page"},{"location":"manual/objective/#Set-a-nonlinear-objective","page":"Objectives","title":"Set a nonlinear objective","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use the @objective macro to set a nonlinear objective function:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x <= 1);\n\njulia> @objective(model, Max, log(x))\nlog(x)","category":"page"},{"location":"manual/objective/#Query-the-objective-function","page":"Objectives","title":"Query the objective function","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use objective_function to return the current objective function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x + 1)\n2 x + 1\n\njulia> objective_function(model)\n2 x + 1","category":"page"},{"location":"manual/objective/#Evaluate-the-objective-function-at-a-point","page":"Objectives","title":"Evaluate the objective function at a point","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use value to evaluate an objective function at a point specifying values for variables.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @objective(model, Min, 2x[1]^2 + x[1] + 0.5*x[2])\n2 x[1]² + x[1] + 0.5 x[2]\n\njulia> f = objective_function(model)\n2 x[1]² + x[1] + 0.5 x[2]\n\njulia> point = Dict(x[1] => 2.0, x[2] => 1.0);\n\njulia> value(z -> point[z], f)\n10.5","category":"page"},{"location":"manual/objective/#Query-the-objective-sense","page":"Objectives","title":"Query the objective sense","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use objective_sense to return the current objective sense.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x + 1)\n2 x + 1\n\njulia> objective_sense(model)\nMIN_SENSE::OptimizationSense = 0","category":"page"},{"location":"manual/objective/#Modify-an-objective","page":"Objectives","title":"Modify an objective","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"To modify an objective, call @objective with the new objective function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x)\n2 x\n\njulia> @objective(model, Max, -2x)\n-2 x","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Alternatively, use set_objective_function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x)\n2 x\n\njulia> new_objective = @expression(model, -2 * x)\n-2 x\n\njulia> set_objective_function(model, new_objective)","category":"page"},{"location":"manual/objective/#Modify-an-objective-coefficient","page":"Objectives","title":"Modify an objective coefficient","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use set_objective_coefficient to modify an objective coefficient.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x)\n2 x\n\njulia> set_objective_coefficient(model, x, 3)\n\njulia> objective_function(model)\n3 x","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use set_objective_coefficient with two variables to modify a quadratic objective coefficient:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @variable(model, y);\n\njulia> @objective(model, Min, x^2 + x * y)\nx² + x*y\n\njulia> set_objective_coefficient(model, x, x, 2)\n\njulia> set_objective_coefficient(model, x, y, 3)\n\njulia> objective_function(model)\n2 x² + 3 x*y","category":"page"},{"location":"manual/objective/#Modify-the-objective-sense","page":"Objectives","title":"Modify the objective sense","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Use set_objective_sense to modify the objective sense.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x)\n2 x\n\njulia> objective_sense(model)\nMIN_SENSE::OptimizationSense = 0\n\njulia> set_objective_sense(model, MAX_SENSE);\n\njulia> objective_sense(model)\nMAX_SENSE::OptimizationSense = 1","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Alternatively, call @objective and pass the existing objective function.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @objective(model, Min, 2x)\n2 x\n\njulia> @objective(model, Max, objective_function(model))\n2 x","category":"page"},{"location":"manual/objective/#Set-a-vector-valued-objective","page":"Objectives","title":"Set a vector-valued objective","text":"","category":"section"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Define a multi-objective optimization problem by passing a vector of objectives:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @objective(model, Min, [1 + x[1], 2 * x[2]])\n2-element Vector{AffExpr}:\n x[1] + 1\n 2 x[2]\n\njulia> f = objective_function(model)\n2-element Vector{AffExpr}:\n x[1] + 1\n 2 x[2]","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"tip: Tip\nThe Multi-objective knapsack tutorial provides an example of solving a multi-objective integer program.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"In most cases, multi-objective optimization solvers will return multiple solutions, corresponding to points on the Pareto frontier. See Multiple solutions for information on how to query and work with multiple solutions.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Note that you must set a single objective sense, that is, you cannot have both minimization and maximization objectives. Work around this limitation by choosing Min and negating any objectives you want to maximize:","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @expression(model, obj1, 1 + x[1])\nx[1] + 1\n\njulia> @expression(model, obj2, 2 * x[1])\n2 x[1]\n\njulia> @objective(model, Min, [obj1, -obj2])\n2-element Vector{AffExpr}:\n x[1] + 1\n -2 x[1]","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"Defining your objectives as expressions allows flexibility in how you can solve variations of the same problem, with some objectives removed and constrained to be no worse that a fixed value.","category":"page"},{"location":"manual/objective/","page":"Objectives","title":"Objectives","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @expression(model, obj1, 1 + x[1])\nx[1] + 1\n\njulia> @expression(model, obj2, 2 * x[1])\n2 x[1]\n\njulia> @expression(model, obj3, x[1] + x[2])\nx[1] + x[2]\n\njulia> @objective(model, Min, [obj1, obj2, obj3]) # Three-objective problem\n3-element Vector{AffExpr}:\n x[1] + 1\n 2 x[1]\n x[1] + x[2]\n\njulia> # optimize!(model), look at the solution, talk to stakeholders, then\n # decide you want to solve a new problem where the third objective is\n # removed and constrained to be better than 2.0.\n nothing\n\njulia> @objective(model, Min, [obj1, obj2]) # Two-objective problem\n2-element Vector{AffExpr}:\n x[1] + 1\n 2 x[1]\n\njulia> @constraint(model, obj3 <= 2.0)\nx[1] + x[2] ≤ 2","category":"page"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/reference/callbacks.md\"","category":"page"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/reference/callbacks/#Callbacks","page":"Callbacks","title":"Callbacks","text":"","category":"section"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"AbstractCallback\nAbstractSubmittable\nsubmit","category":"page"},{"location":"moi/reference/callbacks/#MathOptInterface.AbstractCallback","page":"Callbacks","title":"MathOptInterface.AbstractCallback","text":"abstract type AbstractCallback <: AbstractModelAttribute end\n\nAbstract type for a model attribute representing a callback function. The value set to subtypes of AbstractCallback is a function that may be called during optimize!. As optimize! is in progress, the result attributes (that is, the attributes attr such that is_set_by_optimize(attr)) may not be accessible from the callback, hence trying to get result attributes might throw a OptimizeInProgress error.\n\nAt most one callback of each type can be registered. If an optimizer already has a function for a callback type, and the user registers a new function, then the old one is replaced.\n\nThe value of the attribute should be a function taking only one argument, commonly called callback_data, that can be used for instance in LazyConstraintCallback, HeuristicCallback and UserCutCallback.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.AbstractSubmittable","page":"Callbacks","title":"MathOptInterface.AbstractSubmittable","text":"AbstractSubmittable\n\nAbstract supertype for objects that can be submitted to the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.submit","page":"Callbacks","title":"MathOptInterface.submit","text":"submit(\n optimizer::AbstractOptimizer,\n sub::AbstractSubmittable,\n values...,\n)::Nothing\n\nSubmit values to the submittable sub of the optimizer optimizer.\n\nAn UnsupportedSubmittable error is thrown if model does not support the attribute attr (see supports) and a SubmitNotAllowed error is thrown if it supports the submittable sub but it cannot be submitted.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/callbacks/#Attributes","page":"Callbacks","title":"Attributes","text":"","category":"section"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"CallbackNodeStatus\nCallbackVariablePrimal\nCallbackNodeStatusCode\nCALLBACK_NODE_STATUS_INTEGER\nCALLBACK_NODE_STATUS_FRACTIONAL\nCALLBACK_NODE_STATUS_UNKNOWN","category":"page"},{"location":"moi/reference/callbacks/#MathOptInterface.CallbackNodeStatus","page":"Callbacks","title":"MathOptInterface.CallbackNodeStatus","text":"CallbackNodeStatus(callback_data)\n\nAn optimizer attribute describing the (in)feasibility of the primal solution available from CallbackVariablePrimal during a callback identified by callback_data.\n\nReturns a CallbackNodeStatusCode Enum.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.CallbackVariablePrimal","page":"Callbacks","title":"MathOptInterface.CallbackVariablePrimal","text":"CallbackVariablePrimal(callback_data)\n\nA variable attribute for the assignment to some primal variable's value during the callback identified by callback_data.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.CallbackNodeStatusCode","page":"Callbacks","title":"MathOptInterface.CallbackNodeStatusCode","text":"CallbackNodeStatusCode\n\nAn Enum of possible return values from calling get with CallbackNodeStatus.\n\nValues\n\nPossible values are:\n\nCALLBACK_NODE_STATUS_INTEGER: the primal solution available from CallbackVariablePrimal is integer feasible.\nCALLBACK_NODE_STATUS_FRACTIONAL: the primal solution available from CallbackVariablePrimal is integer infeasible.\nCALLBACK_NODE_STATUS_UNKNOWN: the primal solution available from CallbackVariablePrimal might be integer feasible or infeasible.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.CALLBACK_NODE_STATUS_INTEGER","page":"Callbacks","title":"MathOptInterface.CALLBACK_NODE_STATUS_INTEGER","text":"CALLBACK_NODE_STATUS_INTEGER::CallbackNodeStatusCode\n\nAn instance of the CallbackNodeStatusCode enum.\n\nCALLBACK_NODE_STATUS_INTEGER: the primal solution available from CallbackVariablePrimal is integer feasible.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/callbacks/#MathOptInterface.CALLBACK_NODE_STATUS_FRACTIONAL","page":"Callbacks","title":"MathOptInterface.CALLBACK_NODE_STATUS_FRACTIONAL","text":"CALLBACK_NODE_STATUS_FRACTIONAL::CallbackNodeStatusCode\n\nAn instance of the CallbackNodeStatusCode enum.\n\nCALLBACK_NODE_STATUS_FRACTIONAL: the primal solution available from CallbackVariablePrimal is integer infeasible.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/callbacks/#MathOptInterface.CALLBACK_NODE_STATUS_UNKNOWN","page":"Callbacks","title":"MathOptInterface.CALLBACK_NODE_STATUS_UNKNOWN","text":"CALLBACK_NODE_STATUS_UNKNOWN::CallbackNodeStatusCode\n\nAn instance of the CallbackNodeStatusCode enum.\n\nCALLBACK_NODE_STATUS_UNKNOWN: the primal solution available from CallbackVariablePrimal might be integer feasible or infeasible.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/callbacks/#Lazy-constraints","page":"Callbacks","title":"Lazy constraints","text":"","category":"section"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"LazyConstraintCallback\nLazyConstraint","category":"page"},{"location":"moi/reference/callbacks/#MathOptInterface.LazyConstraintCallback","page":"Callbacks","title":"MathOptInterface.LazyConstraintCallback","text":"LazyConstraintCallback() <: AbstractCallback\n\nThe callback can be used to reduce the feasible set given the current primal solution by submitting a LazyConstraint. For instance, it may be called at an incumbent of a mixed-integer problem. Note that there is no guarantee that the callback is called at every feasible primal solution.\n\nThe current primal solution is accessed through CallbackVariablePrimal. Trying to access other result attributes will throw OptimizeInProgress as discussed in AbstractCallback.\n\nExample\n\nx = MOI.add_variables(optimizer, 8)\nMOI.set(optimizer, MOI.LazyConstraintCallback(), callback_data -> begin\n sol = MOI.get(optimizer, MOI.CallbackVariablePrimal(callback_data), x)\n if # should add a lazy constraint\n func = # computes function\n set = # computes set\n MOI.submit(optimizer, MOI.LazyConstraint(callback_data), func, set)\n end\nend)\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.LazyConstraint","page":"Callbacks","title":"MathOptInterface.LazyConstraint","text":"LazyConstraint(callback_data)\n\nLazy constraint func-in-set submitted as func, set. The optimal solution returned by VariablePrimal will satisfy all lazy constraints that have been submitted.\n\nThis can be submitted only from the LazyConstraintCallback. The field callback_data is a solver-specific callback type that is passed as the argument to the feasible solution callback.\n\nExample\n\nSuppose x and y are VariableIndexs of optimizer. To add a LazyConstraint for 2x + 3y <= 1, write\n\nfunc = 2.0x + 3.0y\nset = MOI.LessThan(1.0)\nMOI.submit(optimizer, MOI.LazyConstraint(callback_data), func, set)\n\ninside a LazyConstraintCallback of data callback_data.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#User-cuts","page":"Callbacks","title":"User cuts","text":"","category":"section"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"UserCutCallback\nUserCut","category":"page"},{"location":"moi/reference/callbacks/#MathOptInterface.UserCutCallback","page":"Callbacks","title":"MathOptInterface.UserCutCallback","text":"UserCutCallback() <: AbstractCallback\n\nThe callback can be used to submit UserCut given the current primal solution. For instance, it may be called at fractional (that is, non-integer) nodes in the branch and bound tree of a mixed-integer problem. Note that there is not guarantee that the callback is called everytime the solver has an infeasible solution.\n\nThe infeasible solution is accessed through CallbackVariablePrimal. Trying to access other result attributes will throw OptimizeInProgress as discussed in AbstractCallback.\n\nExample\n\nx = MOI.add_variables(optimizer, 8)\nMOI.set(optimizer, MOI.UserCutCallback(), callback_data -> begin\n sol = MOI.get(optimizer, MOI.CallbackVariablePrimal(callback_data), x)\n if # can find a user cut\n func = # computes function\n set = # computes set\n MOI.submit(optimizer, MOI.UserCut(callback_data), func, set)\n end\nend\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.UserCut","page":"Callbacks","title":"MathOptInterface.UserCut","text":"UserCut(callback_data)\n\nConstraint func-to-set suggested to help the solver detect the solution given by CallbackVariablePrimal as infeasible. The cut is submitted as func, set. Typically CallbackVariablePrimal will violate integrality constraints, and a cut would be of the form ScalarAffineFunction-in-LessThan or ScalarAffineFunction-in-GreaterThan. Note that, as opposed to LazyConstraint, the provided constraint cannot modify the feasible set, the constraint should be redundant, for example, it may be a consequence of affine and integrality constraints.\n\nThis can be submitted only from the UserCutCallback. The field callback_data is a solver-specific callback type that is passed as the argument to the infeasible solution callback.\n\nNote that the solver may silently ignore the provided constraint.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#Heuristic-solutions","page":"Callbacks","title":"Heuristic solutions","text":"","category":"section"},{"location":"moi/reference/callbacks/","page":"Callbacks","title":"Callbacks","text":"HeuristicCallback\nHeuristicSolution\nHeuristicSolutionStatus\nHEURISTIC_SOLUTION_ACCEPTED\nHEURISTIC_SOLUTION_REJECTED\nHEURISTIC_SOLUTION_UNKNOWN","category":"page"},{"location":"moi/reference/callbacks/#MathOptInterface.HeuristicCallback","page":"Callbacks","title":"MathOptInterface.HeuristicCallback","text":"HeuristicCallback() <: AbstractCallback\n\nThe callback can be used to submit HeuristicSolution given the current primal solution. For example, it may be called at fractional (that is, non-integer) nodes in the branch and bound tree of a mixed-integer problem. Note that there is no guarantee that the callback is called every time the solver has an infeasible solution.\n\nThe current primal solution is accessed through CallbackVariablePrimal. Trying to access other result attributes will throw OptimizeInProgress as discussed in AbstractCallback.\n\nExample\n\nx = MOI.add_variables(optimizer, 8)\nMOI.set(optimizer, MOI.HeuristicCallback(), callback_data -> begin\n sol = MOI.get(optimizer, MOI.CallbackVariablePrimal(callback_data), x)\n if # can find a heuristic solution\n values = # computes heuristic solution\n MOI.submit(optimizer, MOI.HeuristicSolution(callback_data), x,\n values)\n end\nend\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.HeuristicSolution","page":"Callbacks","title":"MathOptInterface.HeuristicSolution","text":"HeuristicSolution(callback_data)\n\nHeuristically obtained feasible solution. The solution is submitted as variables, values where values[i] gives the value of variables[i], similarly to set. The submit call returns a HeuristicSolutionStatus indicating whether the provided solution was accepted or rejected.\n\nThis can be submitted only from the HeuristicCallback. The field callback_data is a solver-specific callback type that is passed as the argument to the heuristic callback.\n\nSome solvers require a complete solution, others only partial solutions.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.HeuristicSolutionStatus","page":"Callbacks","title":"MathOptInterface.HeuristicSolutionStatus","text":"HeuristicSolutionStatus\n\nAn Enum of possible return values for submit with HeuristicSolution. This informs whether the heuristic solution was accepted or rejected.\n\nValues\n\nPossible values are:\n\nHEURISTIC_SOLUTION_ACCEPTED: The heuristic solution was accepted\nHEURISTIC_SOLUTION_REJECTED: The heuristic solution was rejected\nHEURISTIC_SOLUTION_UNKNOWN: No information available on the acceptance\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/callbacks/#MathOptInterface.HEURISTIC_SOLUTION_ACCEPTED","page":"Callbacks","title":"MathOptInterface.HEURISTIC_SOLUTION_ACCEPTED","text":"HEURISTIC_SOLUTION_ACCEPTED::HeuristicSolutionStatus\n\nAn instance of the HeuristicSolutionStatus enum.\n\nHEURISTIC_SOLUTION_ACCEPTED: The heuristic solution was accepted\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/callbacks/#MathOptInterface.HEURISTIC_SOLUTION_REJECTED","page":"Callbacks","title":"MathOptInterface.HEURISTIC_SOLUTION_REJECTED","text":"HEURISTIC_SOLUTION_REJECTED::HeuristicSolutionStatus\n\nAn instance of the HeuristicSolutionStatus enum.\n\nHEURISTIC_SOLUTION_REJECTED: The heuristic solution was rejected\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/callbacks/#MathOptInterface.HEURISTIC_SOLUTION_UNKNOWN","page":"Callbacks","title":"MathOptInterface.HEURISTIC_SOLUTION_UNKNOWN","text":"HEURISTIC_SOLUTION_UNKNOWN::HeuristicSolutionStatus\n\nAn instance of the HeuristicSolutionStatus enum.\n\nHEURISTIC_SOLUTION_UNKNOWN: No information available on the acceptance\n\n\n\n\n\n","category":"constant"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"EditURL = \"https://github.com/odow/SDDP.jl/blob/v1.9.0/README.md\"","category":"page"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"\"logo\"","category":"page"},{"location":"packages/SDDP/#SDDP.jl","page":"odow/SDDP.jl","title":"SDDP.jl","text":"","category":"section"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"(Image: Build Status) (Image: codecov)","category":"page"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"SDDP.jl is a JuMP extension for solving large convex multistage stochastic programming problems using stochastic dual dynamic programming.","category":"page"},{"location":"packages/SDDP/#License","page":"odow/SDDP.jl","title":"License","text":"","category":"section"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"SDDP.jl is licensed under the MPL 2.0 license.","category":"page"},{"location":"packages/SDDP/#Documentation","page":"odow/SDDP.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"You can find the documentation at sddp.dev.","category":"page"},{"location":"packages/SDDP/#Help","page":"odow/SDDP.jl","title":"Help","text":"","category":"section"},{"location":"packages/SDDP/","page":"odow/SDDP.jl","title":"odow/SDDP.jl","text":"If you need help, please open a GitHub issue.","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"EditURL = \"https://github.com/plasmo-dev/Plasmo.jl/blob/v0.6.4/README.md\"","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"(Image: CI) (Image: codecov) (Image: ) (Image: ) (Image: DOI) (Image: Code Style: Blue)","category":"page"},{"location":"packages/Plasmo/#Plasmo.jl","page":"plasmo-dev/Plasmo.jl","title":"Plasmo.jl","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"(Platform for Scalable Modeling and Optimization)","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"[!NOTE] Plasmo.jl has undergone significant refactorization with the release of version 0.6. While most syntax should still work, we advise checking out the documentation for the latest updates and filing an issue if a v0.5 model produces errors.","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"Plasmo.jl is a graph-based algebraic modeling framework for building, managing, and solving optimization problems that utilizes graph-theoretic concepts and modular data structures. The package extends JuMP.jl to offer concise syntax, interfaces with MathOptInterface.jl to access standard optimization solvers, and utilizes Graphs.jl to provide graph analysis and processing methods. Plasmo.jl facilitates developing optimization models for networked systems such as supply chains, power systems, industrial processes, or any coupled system that involves multiple components and connections. The package also acts as a high-level platform to develop customized optimization-based decomposition techniques and meta-algorithms to optimize problems over large systems.","category":"page"},{"location":"packages/Plasmo/#Overview","page":"plasmo-dev/Plasmo.jl","title":"Overview","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"The core object in Plasmo.jl is the OptiGraph, a graph data structure that represents optimization problems as a set of optinodes and optiedges. Optinodes encapsulate variables, expressions, and constraints (and objective functions) as modular models and edges encapsulate linking constraints that couple variables across optinodes. Optigraphs can be embedded within other optigraphs to induce nested hierarchical structures, or they can be partitioned using different graph projections and partitioning algorithms to create new decomposition structures.","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"The core data structure in Plasmo.jl is the OptiGraph. The optigraph contains a set of optinodes which represent self-contained optimization problems and optiedges that represent coupling between optinodes (which produces an underlying hypergraph structure of optinodes and optiedges). Optigraphs can further be embedded within other optigraphs to create nested hierarchical graph structures. The graph structures obtained using Plasmo.jl can be used for simple model and data management, but they can also be used to perform graph partitioning or develop interfaces to structured optimization solvers.","category":"page"},{"location":"packages/Plasmo/#License","page":"plasmo-dev/Plasmo.jl","title":"License","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"Plasmo.jl is licensed under the MPL 2.0 license.","category":"page"},{"location":"packages/Plasmo/#Installation","page":"plasmo-dev/Plasmo.jl","title":"Installation","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"Install Plasmo using Pkg.add:","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"import Pkg\nPkg.add(\"Plasmo\")","category":"page"},{"location":"packages/Plasmo/#Documentation","page":"plasmo-dev/Plasmo.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"The current documentation is available through GitHub Pages. Additional examples can be found in the examples folder.","category":"page"},{"location":"packages/Plasmo/#Simple-Example","page":"plasmo-dev/Plasmo.jl","title":"Simple Example","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"using Plasmo\nusing Ipopt\n\n#create an optigraph\ngraph = OptiGraph()\n\n#add nodes to an optigraph\n@optinode(graph, n1)\n@optinode(graph, n2)\n\n#add variables and constraints to nodes\n@variable(n1, 0 <= x <= 2)\n@variable(n1, 0 <= y <= 3)\n@constraint(n1, x+y <= 4)\n\n@variable(n2,x)\n@constraint(n2, exp(x) >= 2)\n\n#add linking constraints that couple nodes\n@linkconstraint(graph, n1[:x] == n2[:x])\n\n# set an optigraph objective\n@objective(graph, Min, n1[:x] + n2[:x])\n\n#optimize with Ipopt\nset_optimizer(graph, Ipopt.Optimizer)\noptimize!(graph)\n\n#Print solution values\nprintln(\"n1[:x] = \", value(n1[:x]))\nprintln(\"n2[:x] = \", value(n2[:x]))","category":"page"},{"location":"packages/Plasmo/#Acknowledgments","page":"plasmo-dev/Plasmo.jl","title":"Acknowledgments","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"This code is based on work supported by the following funding agencies:","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"U.S. Department of Energy (DOE), Office of Science, under Contract No. DE-AC02-06CH11357\nDOE Office of Electricity Delivery and Energy Reliability’s Advanced Grid Research and Development program at Argonne National Laboratory\nNational Science Foundation under award NSF-EECS-1609183 and under award CBET-1748516","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"The primary developer is Jordan Jalving (@jalving) with support from the following contributors. ","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"Victor Zavala (University of Wisconsin-Madison)\nYankai Cao (University of British Columbia)\nKibaek Kim (Argonne National Laboratory)\nSungho Shin (University of Wisconsin-Madison)","category":"page"},{"location":"packages/Plasmo/#Citing-Plasmo.jl","page":"plasmo-dev/Plasmo.jl","title":"Citing Plasmo.jl","text":"","category":"section"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"If you find Plasmo.jl useful for your work, you may cite the manuscript as:","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"@article{Jalving2022,\n title={A Graph-Based Modeling Abstraction for Optimization: Concepts and Implementation in Plasmo.jl},\n author={Jordan Jalving and Sungho Shin and Victor M. Zavala},\n journal={Mathematical Programming Computation},\n year={2022},\n volume={14},\n pages={699 - 747},\n doi={10.1007/s12532-022-00223-3}\n}","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"You can also access a freely available pre-print.","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"There is also an earlier manuscript where we presented the initial ideas behind Plasmo.jl which you can find here:","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"@article{JalvingCaoZavala2019,\nauthor = {Jalving, Jordan and Cao, Yankai and Zavala, Victor M},\njournal = {Computers {\\&} Chemical Engineering},\npages = {134--154},\ntitle = {Graph-based modeling and simulation of complex systems},\nvolume = {125},\nyear = {2019},\ndoi = {10.1016/j.compchemeng.2019.03.009}\n}","category":"page"},{"location":"packages/Plasmo/","page":"plasmo-dev/Plasmo.jl","title":"plasmo-dev/Plasmo.jl","text":"A pre-print of this paper can be found here","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"EditURL = \"https://github.com/jump-dev/MiniZinc.jl/blob/v0.3.12/README.md\"","category":"page"},{"location":"packages/MiniZinc/#MiniZinc.jl","page":"jump-dev/MiniZinc.jl","title":"MiniZinc.jl","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MiniZinc.jl is a wrapper for the MiniZinc constraint modeling language.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"It provides a way to write MathOptInterface models to .mzn files, and a way to interact with libminizinc.","category":"page"},{"location":"packages/MiniZinc/#Affiliation","page":"jump-dev/MiniZinc.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"This wrapper is maintained by the JuMP community and is not part of the MiniZinc project.","category":"page"},{"location":"packages/MiniZinc/#Getting-help","page":"jump-dev/MiniZinc.jl","title":"Getting help","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"If you need help, please ask a question on the JuMP community forum.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"If you have a reproducible example of a bug, please open a GitHub issue.","category":"page"},{"location":"packages/MiniZinc/#License","page":"jump-dev/MiniZinc.jl","title":"License","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MiniZinc.jl is licensed under the MIT License.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"The underlying project, MiniZinc/libminizinc, is licensed under the MPL 2.0 license.","category":"page"},{"location":"packages/MiniZinc/#Install","page":"jump-dev/MiniZinc.jl","title":"Install","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"Install MiniZinc.jl using the Julia package manager:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"import Pkg\nPkg.add(\"MiniZinc\")","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"Windows","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"On Linux and macOS, this package automatically installs libminizinc. However, we're still working out problems with the install on Windows. To use MiniZinc.jl, you'll need to manually install a copy of libminizinc from minizinc.org or compile one yourself from MiniZinc/libminizinc.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"To teach MiniZinc.jl where to look for libminizinc, set the JULIA_LIBMINIZINC_DIR environment variable. For example:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"ENV[\"JULIA_LIBMINIZINC_DIR\"] = \"C:\\\\Program Files\\\\MiniZinc\"","category":"page"},{"location":"packages/MiniZinc/#Use-with-MathOptInterface","page":"jump-dev/MiniZinc.jl","title":"Use with MathOptInterface","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MiniZinc.jl supports the constraint programming sets defined in MathOptInterface, as well as (in)equality constraints.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"The following example solves the following constraint program:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"xᵢ ∈ {1, 2, 3} ∀i=1,2,3\nzⱼ ∈ {0, 1} ∀j=1,2\nz₁ <-> x₁ != x₂\nz₂ <-> x₂ != x₃\nz₁ + z₂ = 1","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"julia> import MiniZinc\n\njulia> import MathOptInterface as MOI\n\njulia> function main()\n model = MOI.Utilities.CachingOptimizer(\n MiniZinc.Model{Int}(),\n MiniZinc.Optimizer{Int}(\"chuffed\"),\n )\n # xᵢ ∈ {1, 2, 3} ∀i=1,2,3\n x = MOI.add_variables(model, 3)\n MOI.add_constraint.(model, x, MOI.Interval(1, 3))\n MOI.add_constraint.(model, x, MOI.Integer())\n # zⱼ ∈ {0, 1} ∀j=1,2\n z = MOI.add_variables(model, 2)\n MOI.add_constraint.(model, z, MOI.ZeroOne())\n # z₁ <-> x₁ != x₂\n MOI.add_constraint(\n model,\n MOI.VectorOfVariables([z[1], x[1], x[2]]),\n MOI.Reified(MOI.AllDifferent(2)),\n )\n # z₂ <-> x₂ != x₃\n MOI.add_constraint(\n model,\n MOI.VectorOfVariables([z[2], x[2], x[3]]),\n MOI.Reified(MOI.AllDifferent(2)),\n )\n # z₁ + z₂ = 1\n MOI.add_constraint(model, 1 * z[1] + x[2], MOI.EqualTo(1))\n MOI.optimize!(model)\n x_star = MOI.get(model, MOI.VariablePrimal(), x)\n z_star = MOI.get(model, MOI.VariablePrimal(), z)\n return x_star, z_star\n end\nmain (generic function with 1 method)\n\njulia> main()\n([1, 1, 3], [0, 1])","category":"page"},{"location":"packages/MiniZinc/#Use-with-JuMP","page":"jump-dev/MiniZinc.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"You can also call MiniZinc from JuMP, using any solver that libminizinc supports. By default, MiniZinc.jl is compiled with the HiGHS MILP solver, which can be selected by passing the \"highs\" parameter to MiniZinc.Optimizer:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"using JuMP\nimport MiniZinc\nmodel = Model(() -> MiniZinc.Optimizer{Float64}(\"highs\"))\n@variable(model, 1 <= x[1:3] <= 3, Int)\n@constraint(model, x in MOI.AllDifferent(3))\n@objective(model, Max, sum(i * x[i] for i in 1:3))\noptimize!(model)\n@show value.(x)","category":"page"},{"location":"packages/MiniZinc/#MathOptInterface-API","page":"jump-dev/MiniZinc.jl","title":"MathOptInterface API","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"The MiniZinc Optimizer{T} supports the following constraints and attributes.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"List of supported objective functions:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MOI.ObjectiveFunction{MOI.ScalarAffineFunction{T}}\nMOI.ObjectiveFunction{MOI.ScalarQuadraticFunction{T}}\nMOI.ObjectiveFunction{MOI.VariableIndex}","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"List of supported variable types:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MOI.Reals","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"List of supported constraint types:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MOI.ScalarAffineFunction{T} in MOI.EqualTo{T}\nMOI.ScalarAffineFunction{T} in MOI.GreaterThan{T}\nMOI.ScalarAffineFunction{T} in MOI.Integer\nMOI.ScalarAffineFunction{T} in MOI.Interval{T}\nMOI.ScalarAffineFunction{T} in MOI.LessThan{T}\nMOI.ScalarAffineFunction{T} in MOI.ZeroOne\nMOI.VariableIndex in MOI.EqualTo{T}\nMOI.VariableIndex in MOI.GreaterThan{T}\nMOI.VariableIndex in MOI.Integer\nMOI.VariableIndex in MOI.Interval{T}\nMOI.VariableIndex in MOI.LessThan{T}\nMOI.VariableIndex in MOI.Parameter{T}\nMOI.VariableIndex in MOI.Semicontinuous{T}\nMOI.VariableIndex in MOI.Semiinteger{T}\nMOI.VariableIndex in MOI.ZeroOne\nMOI.VectorOfVariables in MOI.AllDifferent\nMOI.VectorOfVariables in MOI.BinPacking{T}\nMOI.VectorOfVariables in MOI.Circuit\nMOI.VectorOfVariables in MOI.CountAtLeast\nMOI.VectorOfVariables in MOI.CountBelongs\nMOI.VectorOfVariables in MOI.CountDistinct\nMOI.VectorOfVariables in MOI.CountGreaterThan\nMOI.VectorOfVariables in MOI.Cumulative\nMOI.VectorOfVariables in MOI.Path\nMOI.VectorOfVariables in MOI.Table{T}","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"List of supported model attributes:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MOI.NLPBlock()\nMOI.Name()\nMOI.ObjectiveSense()","category":"page"},{"location":"packages/MiniZinc/#Options","page":"jump-dev/MiniZinc.jl","title":"Options","text":"","category":"section"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"Set options using MOI.RawOptimizerAttribute in MOI or set_attribute in JuMP.","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"MiniZinc.jl supports the following options:","category":"page"},{"location":"packages/MiniZinc/","page":"jump-dev/MiniZinc.jl","title":"jump-dev/MiniZinc.jl","text":"model_filename::String = \"\": the location at which to write out the .mzn file during optimization. This option can be helpful during debugging. If left empty, a temporary file will be used instead.\nMOI.SolutionLimit: set this option to a positive integer to return up to the limit number of solutions.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"EditURL = \"transp.jl\"","category":"page"},{"location":"tutorials/linear/transp/#The-transportation-problem","page":"The transportation problem","title":"The transportation problem","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"This tutorial was originally contributed by Louis Luangkesorn.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"This tutorial is an adaptation of the transportation problem described in AMPL: A Modeling Language for Mathematical Programming, by R. Fourer, D.M. Gay and B.W. Kernighan.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"The purpose of this tutorial is to demonstrate how to create a JuMP model from an ad-hoc structured text file.","category":"page"},{"location":"tutorials/linear/transp/#Required-packages","page":"The transportation problem","title":"Required packages","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"using JuMP\nimport DelimitedFiles\nimport HiGHS","category":"page"},{"location":"tutorials/linear/transp/#Formulation","page":"The transportation problem","title":"Formulation","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Suppose that we have a set of factories that produce pogo sticks, and a set of retail stores in which to sell them. Each factory has a maximum number of pogo sticks that it can produce, and each retail store has a demand of pogo sticks that it can sell.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"In the transportation problem, we want to choose the number of pogo sticks to make and ship from each factory to each retail store that minimizes the total shipping cost.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Mathematically, we represent our set of factories by a set of origins i in O and our retail stores by a set of destinations j in D. The maximum supply at each factory is s_i and the demand from each retail store is d_j. The cost of shipping one pogo stick from i to j is c_ij.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"With a little effort, we can model the transportation problem as the following linear program:","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"beginaligned\nmin sum_i in O j in D c_ij x_ij \nst sum_j in D x_i j le s_i forall i in O \n sum_i in O x_i j = d_j forall j in D \n x_i j ge 0 forall i in O j in D\nendaligned","category":"page"},{"location":"tutorials/linear/transp/#Data","page":"The transportation problem","title":"Data","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"We assume our data is in the form of a text file that has the following form. In practice, we would obtain this text file from the user as input, but for the purpose of this tutorial we're going to create it from Julia.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"open(joinpath(@__DIR__, \"transp.txt\"), \"w\") do io\n print(\n io,\n \"\"\"\n . FRA DET LAN WIN STL FRE LAF SUPPLY\n GARY 39 14 11 14 16 82 8 1400\n CLEV 27 . 12 . 26 95 17 2600\n PITT 24 14 17 13 28 99 20 2900\n DEMAND 900 1200 600 400 1700 1100 1000 0\n \"\"\",\n )\n return\nend","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Here the rows are the origins, the columns are the destinations, and the values are the cost of shipping one pogo stick from the origin to the destination. If pogo stick cannot be transported from a source to a destination, then the value is .. The final row and final column are the demand and supply of each location respectively.","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"We didn't account for arcs which do not exist in our formulation, but we can make a small change and fix x_ij = 0 if c_ij = .","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Our first step is to convert this text format into an appropriate Julia datastructure that we can work with. Since our data is tabular with named rows and columns, one option is JuMP's Containers.DenseAxisArray object:","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"function read_data(filename::String)\n data = DelimitedFiles.readdlm(filename)\n rows, columns = data[2:end, 1], data[1, 2:end]\n return Containers.DenseAxisArray(data[2:end, 2:end], rows, columns)\nend\n\ndata = read_data(joinpath(@__DIR__, \"transp.txt\"))","category":"page"},{"location":"tutorials/linear/transp/#JuMP-formulation","page":"The transportation problem","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Following Design patterns for larger models, we code our JuMP model as a function which takes in an input. In this example, we print the output to stdout:","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"function solve_transportation_problem(data::Containers.DenseAxisArray)\n # Get the set of supplies and demands\n O, D = axes(data)\n # Drop the SUPPLY and DEMAND nodes from our sets\n O, D = setdiff(O, [\"DEMAND\"]), setdiff(D, [\"SUPPLY\"])\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n @variable(model, x[o in O, d in D] >= 0)\n # Remove arcs with \".\" cost by fixing them to 0.0.\n for o in O, d in D\n if data[o, d] == \".\"\n fix(x[o, d], 0.0; force = true)\n end\n end\n @objective(\n model,\n Min,\n sum(data[o, d] * x[o, d] for o in O, d in D if data[o, d] != \".\"),\n )\n @constraint(model, [o in O], sum(x[o, :]) <= data[o, \"SUPPLY\"])\n @constraint(model, [d in D], sum(x[:, d]) == data[\"DEMAND\", d])\n optimize!(model)\n @assert is_solved_and_feasible(model)\n # Pretty print the solution in the format of the input\n print(\" \", join(lpad.(D, 7, ' ')))\n for o in O\n print(\"\\n\", o)\n for d in D\n if isapprox(value(x[o, d]), 0.0; atol = 1e-6)\n print(\" .\")\n else\n print(\" \", lpad(value(x[o, d]), 6, ' '))\n end\n end\n end\n return\nend","category":"page"},{"location":"tutorials/linear/transp/#Solution","page":"The transportation problem","title":"Solution","text":"","category":"section"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"Let's solve and view the solution:","category":"page"},{"location":"tutorials/linear/transp/","page":"The transportation problem","title":"The transportation problem","text":"solve_transportation_problem(data)","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/developer/checklists.md\"","category":"page"},{"location":"moi/developer/checklists/#Checklists","page":"Checklists","title":"Checklists","text":"","category":"section"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"The purpose of this page is to collate a series of checklists for commonly performed changes to the source code of MathOptInterface.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"In each case, copy the checklist into the description of the pull request.","category":"page"},{"location":"moi/developer/checklists/#Making-a-release","page":"Checklists","title":"Making a release","text":"","category":"section"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"Use this checklist when making a release of the MathOptInterface repository.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"## Basic\n\n - [ ] `version` field of `Project.toml` has been updated\n - If a breaking change, increment the MAJOR field and reset others to 0\n - If adding new features, increment the MINOR field and reset PATCH to 0\n - If adding bug fixes or documentation changes, increment the PATCH field\n\n## Documentation\n\n - [ ] Add a new entry to `docs/src/changelog.md`, following existing style\n\n## Tests\n\n - [ ] The `solver-tests.yml` GitHub action does not have unexpected failures.\n To run the action, go to:\n https://github.com/jump-dev/MathOptInterface.jl/actions/workflows/solver-tests.yml\n and click \"Run workflow\"","category":"page"},{"location":"moi/developer/checklists/#Adding-a-new-set","page":"Checklists","title":"Adding a new set","text":"","category":"section"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"Use this checklist when adding a new set to the MathOptInterface repository.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"## Basic\n\n - [ ] Add a new `AbstractScalarSet` or `AbstractVectorSet` to `src/sets.jl`\n - [ ] If `isbitstype(S) == false`, implement `Base.copy(set::S)`\n - [ ] If `isbitstype(S) == false`, implement `Base.:(==)(x::S, y::S)`\n - [ ] If an `AbstractVectorSet`, implement `dimension(set::S)`, unless the\n dimension is given by `set.dimension`.\n\n## Utilities\n\n - [ ] If an `AbstractVectorSet`, implement `Utilities.set_dot`,\n unless the dot product between two vectors in the set is equivalent to\n `LinearAlgebra.dot`\n - [ ] If an `AbstractVectorSet`, implement `Utilities.set_with_dimension` in\n `src/Utilities/matrix_of_constraints.jl`\n - [ ] Add the set to the `@model` macro at the bottom of `src/Utilities.model.jl`\n\n## Documentation\n\n - [ ] Add a docstring, which gives the mathematical definition of the set,\n along with an `## Example` block containing a `jldoctest`\n - [ ] Add the docstring to `docs/src/reference/standard_form.md`\n - [ ] Add the set to the relevant table in `docs/src/manual/standard_form.md`\n\n## Tests\n\n - [ ] Define a new `_set(::Type{S})` method in `src/Test/test_basic_constraint.jl`\n and add the name of the set to the list at the bottom of that files\n - [ ] If the set has any checks in its constructor, add tests to `test/sets.jl`\n\n## MathOptFormat\n\n - [ ] Open an issue at `https://github.com/jump-dev/MathOptFormat` to add\n support for the new set {{ replace with link to the issue }}\n\n## Optional\n\n - [ ] Implement `dual_set(::S)` and `dual_set_type(::Type{S})`\n - [ ] Add new tests to the `Test` submodule exercising your new set\n - [ ] Add new bridges to convert your set into more commonly used sets","category":"page"},{"location":"moi/developer/checklists/#Adding-a-new-bridge","page":"Checklists","title":"Adding a new bridge","text":"","category":"section"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"Use this checklist when adding a new bridge to the MathOptInterface repository.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"The steps are mostly the same, but locations depend on whether the bridge is a Constraint, Objective, or Variable bridge. In each case below, replace XXX with the appropriate type of bridge.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"## Basic\n\n - [ ] Create a new file in `src/Bridges/XXX/bridges`\n - [ ] Define the bridge, following existing examples. The name of the bridge\n struct must end in `Bridge`\n - [ ] Check if your bridge can be a subtype of [`MOI.Bridges.Constraint.SetMapBridge`](@ref)\n - [ ] Define a new `const` that is a `SingleBridgeOptimizer` wrapping the\n new bridge. The name of the const must be the name of the bridge, less\n the `Bridge` suffix\n - [ ] `include` the file in `src/Bridges/XXX/bridges/XXX.jl`\n - [ ] If the bridge should be enabled by default, add the bridge to\n `add_all_bridges` at the bottom of `src/Bridges/XXX/XXX.jl`\n\n## Tests\n\n - [ ] Create a new file in the appropriate subdirectory of `tests/Bridges/XXX`\n - [ ] Use `MOI.Bridges.runtests` to test various inputs and outputs of the\n bridge\n - [ ] If, after opening the pull request to add the bridge, some lines are not\n covered by the tests, add additional bridge-specific tests to cover the\n untested lines.\n\n## Documentation\n\n - [ ] Add a docstring which uses the same template as existing bridges.\n\n## Final touch\n\nIf the bridge depends on run-time values of other variables and constraints in\nthe model:\n\n - [ ] Implement `MOI.Utilities.needs_final_touch(::Bridge)`\n - [ ] Implement `MOI.Utilities.final_touch(::Bridge, ::MOI.ModelLike)`\n - [ ] Ensure that `final_touch` can be called multiple times in a row","category":"page"},{"location":"moi/developer/checklists/#Updating-MathOptFormat","page":"Checklists","title":"Updating MathOptFormat","text":"","category":"section"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"Use this checklist when updating the version of MathOptFormat.","category":"page"},{"location":"moi/developer/checklists/","page":"Checklists","title":"Checklists","text":"## Basic\n\n - [ ] The file at `src/FileFormats/MOF/mof.schema.json` is updated\n - [ ] The constant `_SUPPORTED_VERSIONS` is updated in\n `src/FileFormats/MOF/MOF.jl`\n\n## New sets\n\n - [ ] New sets are added to the `@model` in `src/FileFormats/MOF/MOF.jl`\n - [ ] New sets are added to the `@enum` in `src/FileFormats/MOF/read.jl`\n - [ ] `set_to_moi` is defined for each set in `src/FileFormats/MOF/read.jl`\n - [ ] `head_name` is defined for each set in `src/FileFormats/MOF/write.jl`\n - [ ] A new unit test calling `_test_model_equality` is aded to\n `test/FileFormats/MOF/MOF.jl`\n\n## Tests\n\n - [ ] The version field in `test/FileFormats/MOF/nlp.mof.json` is updated\n\n## Documentation\n\n - [ ] The version fields are updated in `docs/src/submodules/FileFormats/overview.md`","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"EditURL = \"https://github.com/jump-dev/SDPLR.jl/blob/v0.1.0/README.md\"","category":"page"},{"location":"packages/SDPLR/#SDPLR","page":"jump-dev/SDPLR.jl","title":"SDPLR","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"(Image: Build Status) (Image: codecov)","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"SDPLR.jl is a wrapper for the SDPLR semidefinite programming solver.","category":"page"},{"location":"packages/SDPLR/#License","page":"jump-dev/SDPLR.jl","title":"License","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"SDPLR.jl is licensed under the MIT License.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"The underlying solver, SDPLR, is licensed under the GPL v2 license.","category":"page"},{"location":"packages/SDPLR/#Installation","page":"jump-dev/SDPLR.jl","title":"Installation","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"Install SDPLR.jl using Pkg.add:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"import Pkg\nPkg.add(\"SDPLR\")","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"In addition to installing the SDPLR.jl package, this will also download and install the SDPLR binaries. You do not need to install SDPLR separately.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"To use a custom binary, read the Custom solver binaries section of the JuMP documentation.","category":"page"},{"location":"packages/SDPLR/#Use-with-JuMP","page":"jump-dev/SDPLR.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"To use SDPLR with JuMP, use SDPLR.Optimizer:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"using JuMP, SDPLR\nmodel = Model(SDPLR.Optimizer)","category":"page"},{"location":"packages/SDPLR/#MathOptInterface-API","page":"jump-dev/SDPLR.jl","title":"MathOptInterface API","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"The SDPLR optimizer supports the following constraints and attributes.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"List of supported objective functions:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"List of supported variable types:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"MOI.Nonnegatives\nMOI.PositiveSemidefiniteConeTriangle","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"List of supported constraint types:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"MOI.ScalarAffineFunction{Float64} in MOI.EqualTo{Float64}","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"List of supported model attributes:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"MOI.ObjectiveSense()","category":"page"},{"location":"packages/SDPLR/#Attributes","page":"jump-dev/SDPLR.jl","title":"Attributes","text":"","category":"section"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"The algorithm is parametrized by the attributes that can be used both with JuMP.set_attributes and JuMP.get_attributes and have the following types and default values:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"rho_f::Cdouble = 1.0e-5\nrho_c::Cdouble = 1.0e-1\nsigmafac::Cdouble = 2.0\nrankreduce::Csize_t = 0\ntimelim::Csize_t = 3600\nprintlevel::Csize_t = 1\ndthresh_dim::Csize_t = 10\ndthresh_dens::Cdouble = 0.75\nnumbfgsvecs::Csize_t = 4\nrankredtol::Cdouble = 2.2204460492503131e-16\ngaptol::Cdouble = 1.0e-3\ncheckbd::Cptrdiff_t = -1\ntypebd::Cptrdiff_t = 1\nmaxrank::Function = default_maxrank","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"The following attributes can be also be used both with JuMP.set_attributes and JuMP.get_attributes, but they are also modified by optimize!:","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"majiter\niter\nlambdaupdate\ntotaltime\nsigma","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"When they are set, it provides the initial value of the algorithm. With get, they provide the value at the end of the algorithm. totaltime is the total time in second. For the other attributes, their meaning is best described by the following pseudo-code.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"Given values of R, lambda and sigma, let vio = [dot(A[i], R * R') - b[i]) for i in 1:m] (vio[0] is dot(C, R * R') in the C implementation, but we ignore this entry here), val = dot(C, R * R') - dot(vio, lambda) + sigma/2 * norm(vio)^2, y = -lambda - sigma * vio, S = C + sum(A[i] * y[i] for i in 1:m) and the gradient is G = 2S * R. Note that norm(G) used in SDPLR when comparing with rho_c which has a 2-scaling difference from norm(S * R) used in the paper.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"The SDPLR solvers implements the following algorithm.","category":"page"},{"location":"packages/SDPLR/","page":"jump-dev/SDPLR.jl","title":"jump-dev/SDPLR.jl","text":"sigma = inv(sum(size(A[i], 1) for i in 1:m))\norigval = val\nwhile majiter++ < 100_000\n lambdaupdate = 0\n localiter = 100\n while localiter > 10\n lambdaupdate += 1\n localiter = 0\n if norm(G) / (norm(C) + 1) <= rho_c / sigma\n break\n end\n while norm(G) / (norm(C) + 1) - rho_c / sigma > eps()\n localiter += 1\n iter += 1\n D = lbfgs(G)\n R += linesearch(D) * D\n if norm(vio) / (norm(b) + 1) <= rho_f || totaltime >= timelim || iter >= 10_000_000\n return\n end\n end\n lambda -= sigma * vio\n end\n if val - 1e10 * abs(origval) > eps()\n return\n end\n if norm(vio) / (norm(b) + 1) <= rho_f || totaltime >= timelim || iter >= 10_000_000\n return\n end\n while norm(G) / (norm(C) + 1) > rho_c / sigma\n sigma *= 2\n end\n lambdaupdate = 0\nend","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"DocTestSetup = quote\n using JuMP\nend","category":"page"},{"location":"manual/expressions/#Expressions","page":"Expressions","title":"Expressions","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"JuMP has three types of expressions: affine, quadratic, and nonlinear. These expressions can be inserted into constraints or into the objective. This is particularly useful if an expression is used in multiple places in the model.","category":"page"},{"location":"manual/expressions/#Affine-expressions","page":"Expressions","title":"Affine expressions","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"There are four ways of constructing an affine expression in JuMP: with the @expression macro, with operator overloading, with the AffExpr constructor, and with add_to_expression!.","category":"page"},{"location":"manual/expressions/#Macros","page":"Expressions","title":"Macros","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"The recommended way to create an affine expression is via the @expression macro.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = @expression(model, 2x + y - 1)\n2 x + y - 1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"This expression can be used in the objective or added to a constraint. For example:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> @objective(model, Min, 2 * ex - 1)\n4 x + 2 y - 3\n\njulia> objective_function(model)\n4 x + 2 y - 3","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Just like variables and constraints, named expressions can also be created. For example","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x[i = 1:3]);\n\njulia> @expression(model, expr[i = 1:3], i * sum(x[j] for j in i:3));\n\njulia> expr\n3-element Vector{AffExpr}:\n x[1] + x[2] + x[3]\n 2 x[2] + 2 x[3]\n 3 x[3]","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"tip: Tip\nYou can read more about containers in the Containers section.","category":"page"},{"location":"manual/expressions/#Operator-overloading","page":"Expressions","title":"Operator overloading","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Expressions can also be created without macros. However, note that in some cases, this can be much slower that constructing an expression using macros.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = 2x + y - 1\n2 x + y - 1","category":"page"},{"location":"manual/expressions/#Constructors","page":"Expressions","title":"Constructors","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"A third way to create an affine expression is by the AffExpr constructor. The first argument is the constant term, and the remaining arguments are variable-coefficient pairs.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = AffExpr(-1.0, x => 2.0, y => 1.0)\n2 x + y - 1","category":"page"},{"location":"manual/expressions/#add_to_expression!","page":"Expressions","title":"add_to_expression!","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"The fourth way to create an affine expression is by using add_to_expression!. Compared to the operator overloading method, this approach is faster because it avoids constructing temporary objects. The @expression macro uses add_to_expression! behind-the-scenes.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = AffExpr(-1.0)\n-1\n\njulia> add_to_expression!(ex, 2.0, x)\n2 x - 1\n\njulia> add_to_expression!(ex, 1.0, y)\n2 x + y - 1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"add_to_expression! can also be used to sum expressions in-place:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2])\n2-element Vector{VariableRef}:\n x[1]\n x[2]\n\njulia> @expression(model, ex1, sum(x))\nx[1] + x[2]\n\njulia> @expression(model, ex2, 2 * sum(x))\n2 x[1] + 2 x[2]\n\njulia> add_to_expression!(ex1, ex2)\n3 x[1] + 3 x[2]\n\njulia> ex1\n3 x[1] + 3 x[2]\n\njulia> ex2\n2 x[1] + 2 x[2]","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"warning: Warning\nRead the section Initializing arrays for some cases to be careful about when using add_to_expression!.","category":"page"},{"location":"manual/expressions/#Removing-zero-terms","page":"Expressions","title":"Removing zero terms","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Use drop_zeros! to remove terms from an affine expression with a 0 coefficient.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @expression(model, ex, x + 1 - x)\n0 x + 1\n\njulia> drop_zeros!(ex)\n\njulia> ex\n1","category":"page"},{"location":"manual/expressions/#Coefficients","page":"Expressions","title":"Coefficients","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Use coefficient to return the coefficient associated with a variable in an affine expression.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> @expression(model, ex, 2x + 1)\n2 x + 1\n\njulia> coefficient(ex, x)\n2.0\n\njulia> coefficient(ex, y)\n0.0","category":"page"},{"location":"manual/expressions/#Quadratic-expressions","page":"Expressions","title":"Quadratic expressions","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Like affine expressions, there are four ways of constructing a quadratic expression in JuMP: macros, operator overloading, constructors, and add_to_expression!.","category":"page"},{"location":"manual/expressions/#Macros-2","page":"Expressions","title":"Macros","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"The @expression macro can be used to create quadratic expressions by including quadratic terms.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = @expression(model, x^2 + 2 * x * y + y^2 + x + y - 1)\nx² + 2 x*y + y² + x + y - 1","category":"page"},{"location":"manual/expressions/#Operator-overloading-2","page":"Expressions","title":"Operator overloading","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Operator overloading can also be used to create quadratic expressions. The same performance warning (discussed in the affine expression section) applies.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = x^2 + 2 * x * y + y^2 + x + y - 1\nx² + 2 x*y + y² + x + y - 1","category":"page"},{"location":"manual/expressions/#Constructors-2","page":"Expressions","title":"Constructors","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Quadratic expressions can also be created using the QuadExpr constructor. The first argument is an affine expression, and the remaining arguments are pairs, where the first term is a JuMP.UnorderedPair and the second term is the coefficient.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> aff_expr = AffExpr(-1.0, x => 1.0, y => 1.0)\nx + y - 1\n\njulia> quad_expr = QuadExpr(\n aff_expr,\n UnorderedPair(x, x) => 1.0,\n UnorderedPair(x, y) => 2.0,\n UnorderedPair(y, y) => 1.0,\n )\nx² + 2 x*y + y² + x + y - 1","category":"page"},{"location":"manual/expressions/#add_to_expression!-2","page":"Expressions","title":"add_to_expression!","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Finally, add_to_expression! can also be used to add quadratic terms.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> ex = QuadExpr(x + y - 1.0)\nx + y - 1\n\njulia> add_to_expression!(ex, 1.0, x, x)\nx² + x + y - 1\n\njulia> add_to_expression!(ex, 2.0, x, y)\nx² + 2 x*y + x + y - 1\n\njulia> add_to_expression!(ex, 1.0, y, y)\nx² + 2 x*y + y² + x + y - 1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"warning: Warning\nRead the section Initializing arrays for some cases to be careful about when using add_to_expression!.","category":"page"},{"location":"manual/expressions/#Removing-zero-terms-2","page":"Expressions","title":"Removing zero terms","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Use drop_zeros! to remove terms from a quadratic expression with a 0 coefficient.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @expression(model, ex, x^2 + x + 1 - x^2)\n0 x² + x + 1\n\njulia> drop_zeros!(ex)\n\njulia> ex\nx + 1","category":"page"},{"location":"manual/expressions/#Coefficients-2","page":"Expressions","title":"Coefficients","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Use coefficient to return the coefficient associated with a pair of variables in a quadratic expression.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> @expression(model, ex, 2*x*y + 3*x)\n2 x*y + 3 x\n\njulia> coefficient(ex, x, y)\n2.0\n\njulia> coefficient(ex, x, x)\n0.0\n\njulia> coefficient(ex, y, x)\n2.0\n\njulia> coefficient(ex, x)\n3.0","category":"page"},{"location":"manual/expressions/#Nonlinear-expressions","page":"Expressions","title":"Nonlinear expressions","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Nonlinear expressions in JuMP are represented by a NonlinearExpr object. See Nonlinear expressions in detail for more details.","category":"page"},{"location":"manual/expressions/#Initializing-arrays","page":"Expressions","title":"Initializing arrays","text":"","category":"section"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"JuMP implements zero(AffExpr) and one(AffExpr) to support various functions in LinearAlgebra (for example, accessing the off-diagonal of a Diagonal matrix).","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> zero(AffExpr)\n0\n\njulia> one(AffExpr)\n1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"However, this can result in a subtle bug if you call add_to_expression! or the MutableArithmetics API on an element created by zeros or ones:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> x = zeros(AffExpr, 2)\n2-element Vector{AffExpr}:\n 0\n 0\n\njulia> add_to_expression!(x[1], 1.1)\n1.1\n\njulia> x\n2-element Vector{AffExpr}:\n 1.1\n 1.1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Notice how we modified x[1], but we also changed x[2]!","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"This happened because zeros(AffExpr, 2) calls zero(AffExpr) once to obtain a zero element, and then creates an appropriately sized array filled with the same element.","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"This also happens with broadcasting calls containing a conversion of 0 or 1:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> x = Vector{AffExpr}(undef, 2)\n2-element Vector{AffExpr}:\n #undef\n #undef\n\njulia> x .= 0\n2-element Vector{AffExpr}:\n 0\n 0\n\njulia> add_to_expression!(x[1], 1.1)\n1.1\n\njulia> x\n2-element Vector{AffExpr}:\n 1.1\n 1.1","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"The recommended way to create an array of empty expressions is as follows:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> x = Vector{AffExpr}(undef, 2)\n2-element Vector{AffExpr}:\n #undef\n #undef\n\njulia> for i in eachindex(x)\n x[i] = AffExpr(0.0)\n end\n\njulia> add_to_expression!(x[1], 1.1)\n1.1\n\njulia> x\n2-element Vector{AffExpr}:\n 1.1\n 0","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Alternatively, use non-mutating operation to avoid updating x[1] in-place:","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"julia> x = zeros(AffExpr, 2)\n2-element Vector{AffExpr}:\n 0\n 0\n\njulia> x[1] += 1.1\n1.1\n\njulia> x\n2-element Vector{AffExpr}:\n 1.1\n 0","category":"page"},{"location":"manual/expressions/","page":"Expressions","title":"Expressions","text":"Note that for large expressions this will be slower due to the allocation of additional temporary objects.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"EditURL = \"factory_schedule.jl\"","category":"page"},{"location":"tutorials/linear/factory_schedule/#The-factory-schedule-example","page":"The factory schedule example","title":"The factory schedule example","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"This tutorial was originally contributed by @Crghilardi.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"This tutorial is a Julia translation of Part 5 from Introduction to Linear Programming with Python.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The purpose of this tutorial is to demonstrate how to use DataFrames and delimited files, and to structure your code that is robust to infeasibilities and permits running with different datasets.","category":"page"},{"location":"tutorials/linear/factory_schedule/#Required-packages","page":"The factory schedule example","title":"Required packages","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"This tutorial requires the following packages:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"using JuMP\nimport CSV\nimport DataFrames\nimport HiGHS\nimport StatsPlots","category":"page"},{"location":"tutorials/linear/factory_schedule/#Formulation","page":"The factory schedule example","title":"Formulation","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The Factory Scheduling Problem assumes we are optimizing the production of a good from factories f in F over the course of 12 months m in M.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"If a factory f runs during a month m, a fixed cost of a_f is incurred, the factory must produce x_mf units that is within some minimum and maximum production levels l_f and u_f respectively, and each unit of production incurs a variable cost c_f. Otherwise, the factory can be shut for the month with zero production and no fixed-cost is incurred. We denote the run/not-run decision by z_mf in 0 1, where z_mf is 1 if factory f runs in month m. The factory must produce enough units to satisfy demand d_m.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"With a little effort, we can formulate our problem as the following linear program:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"beginaligned\nmin sumlimits_f in F m in M a_f z_mf + c_f x_mf \ntextst x_mf le u_f z_mf forall f in F m in M \n x_mf ge l_f z_mf forall f in F m in M \n sumlimits_fin F x_mf = d_m forall f in F m in M \n z_mf in 0 1 forall f in F m in M\nendaligned","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"However, this formulation has a problem: if demand is too high, we may be unable to satisfy the demand constraint, and the problem will be infeasible.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"tip: Tip\nWhen modeling, consider ways to formulate your model such that it always has a feasible solution. This greatly simplifies debugging data errors that would otherwise result in an infeasible solution. In practice, most practical decisions have a feasible solution. In our case, we could satisfy demand (at a high cost) by buying replacement items for the buyer, or running the factories in overtime to make up the difference.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"We can improve our model by adding a new variable, delta_m, which represents the quantity of unmet demand in each month m. We penalize delta_m by an arbitrarily large value of $10,000/unit in the objective.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"beginaligned\nmin sumlimits_f in F m in M a_f z_mf + c_f x_mf + sumlimits_m in M10000 delta_m \ntextst x_mf le u_f z_mf forall f in F m in M \n x_mf ge l_f z_mf forall f in F m in M \n sumlimits_fin F x_mf - delta_m = d_m forall f in F m in M \n z_mf in 0 1 forall f in F m in M \n delta_m ge 0 forall m in M\nendaligned","category":"page"},{"location":"tutorials/linear/factory_schedule/#Data","page":"The factory schedule example","title":"Data","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The JuMP GitHub repository contains two text files with the data we need for this tutorial.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The first file contains a dataset of our factories, A and B, with their production and cost levels for each month. For the documentation, the file is located at:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"factories_filename = joinpath(@__DIR__, \"factory_schedule_factories.txt\");\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"To run locally, download factory_schedule_factories.txt and update factories_filename appropriately.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The file has the following contents:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"print(read(factories_filename, String))","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"We use the CSV and DataFrames packages to read it into Julia:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"factory_df = CSV.read(\n factories_filename,\n DataFrames.DataFrame;\n delim = ' ',\n ignorerepeated = true,\n)","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"The second file contains the demand data by month:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"demand_filename = joinpath(@__DIR__, \"factory_schedule_demand.txt\");\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"To run locally, download factory_schedule_demand.txt and update demand_filename appropriately.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"demand_df = CSV.read(\n demand_filename,\n DataFrames.DataFrame;\n delim = ' ',\n ignorerepeated = true,\n)","category":"page"},{"location":"tutorials/linear/factory_schedule/#Data-validation","page":"The factory schedule example","title":"Data validation","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Before moving on, it's always good practice to validate the data you read from external sources. The more effort you spend here, the fewer issues you will have later. The following function contains a few simple checks, but we could add more. For example, you might want to check that none of the values are too large (or too small), which might indicate a typo or a unit conversion issue (perhaps the variable costs are in $/1000 units instead of $/unit).","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"function valiate_data(\n demand_df::DataFrames.DataFrame,\n factory_df::DataFrames.DataFrame,\n)\n # Minimum production must not exceed maximum production.\n @assert all(factory_df.min_production .<= factory_df.max_production)\n # Demand, minimum production, fixed costs, and variable costs must all be\n # non-negative.\n @assert all(demand_df.demand .>= 0)\n @assert all(factory_df.min_production .>= 0)\n @assert all(factory_df.fixed_cost .>= 0)\n @assert all(factory_df.variable_cost .>= 0)\n return\nend\n\nvaliate_data(demand_df, factory_df)","category":"page"},{"location":"tutorials/linear/factory_schedule/#JuMP-formulation","page":"The factory schedule example","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Next, we need to code our JuMP formulation. As shown in Design patterns for larger models, it's always good practice to code your model in a function that accepts well-defined input and returns well-defined output.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"function solve_factory_scheduling(\n demand_df::DataFrames.DataFrame,\n factory_df::DataFrames.DataFrame,\n)\n # Even though we validated the data above, it's good practice to do it here\n # too.\n valiate_data(demand_df, factory_df)\n months, factories = unique(factory_df.month), unique(factory_df.factory)\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n @variable(model, status[months, factories], Bin)\n @variable(model, production[months, factories], Int)\n @variable(model, unmet_demand[months] >= 0)\n # We use `eachrow` to loop through the rows of the dataframe and add the\n # relevant constraints.\n for r in eachrow(factory_df)\n m, f = r.month, r.factory\n @constraint(model, production[m, f] <= r.max_production * status[m, f])\n @constraint(model, production[m, f] >= r.min_production * status[m, f])\n end\n @constraint(\n model,\n [r in eachrow(demand_df)],\n sum(production[r.month, :]) + unmet_demand[r.month] == r.demand,\n )\n @objective(\n model,\n Min,\n 10_000 * sum(unmet_demand) + sum(\n r.fixed_cost * status[r.month, r.factory] +\n r.variable_cost * production[r.month, r.factory] for\n r in eachrow(factory_df)\n )\n )\n optimize!(model)\n @assert is_solved_and_feasible(model)\n schedules = Dict{Symbol,Vector{Float64}}(\n Symbol(f) => value.(production[:, f]) for f in factories\n )\n schedules[:unmet_demand] = value.(unmet_demand)\n return (\n termination_status = termination_status(model),\n cost = objective_value(model),\n # This `select` statement re-orders the columns in the DataFrame.\n schedules = DataFrames.select(\n DataFrames.DataFrame(schedules),\n [:unmet_demand, :A, :B],\n ),\n )\nend","category":"page"},{"location":"tutorials/linear/factory_schedule/#Solution","page":"The factory schedule example","title":"Solution","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Now we can call our solve_factory_scheduling function using the data we read in above.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"solution = solve_factory_scheduling(demand_df, factory_df);\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Let's see what solution contains:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"solution.termination_status","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"solution.cost","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"solution.schedules","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"These schedules will be easier to visualize as a graph:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"StatsPlots.groupedbar(\n Matrix(solution.schedules);\n bar_position = :stack,\n labels = [\"unmet demand\" \"A\" \"B\"],\n xlabel = \"Month\",\n ylabel = \"Production\",\n legend = :topleft,\n color = [\"#20326c\" \"#4063d8\" \"#a0b1ec\"],\n)","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Note that we don't have any unmet demand.","category":"page"},{"location":"tutorials/linear/factory_schedule/#What-happens-if-demand-increases?","page":"The factory schedule example","title":"What happens if demand increases?","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Let's run an experiment by increasing the demand by 50% in all time periods:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"demand_df.demand .*= 1.5","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Now we resolve the problem:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"high_demand_solution = solve_factory_scheduling(demand_df, factory_df);\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"and visualize the solution:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"StatsPlots.groupedbar(\n Matrix(high_demand_solution.schedules);\n bar_position = :stack,\n labels = [\"unmet demand\" \"A\" \"B\"],\n xlabel = \"Month\",\n ylabel = \"Production\",\n legend = :topleft,\n color = [\"#20326c\" \"#4063d8\" \"#a0b1ec\"],\n)","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Uh oh, we can't satisfy all of the demand.","category":"page"},{"location":"tutorials/linear/factory_schedule/#How-sensitive-is-the-solution-to-changes-in-variable-cost?","page":"The factory schedule example","title":"How sensitive is the solution to changes in variable cost?","text":"","category":"section"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Let's run another experiment, this time seeing how the optimal objective value changes as we vary the variable costs of each factory.","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"First though, let's reset the demand to it's original level:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"demand_df.demand ./= 1.5;\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"For our experiment, we're going to scale the variable costs of both factories by a set of values from 0.0 to 1.5:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"scale_factors = 0:0.1:1.5","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"At a high level, we're going to loop over the scale factors for A, then the scale factors for B, rescale the input data, call our solve_factory_scheduling example, and then store the optimal objective value in the following cost matrix:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"cost = zeros(length(scale_factors), length(scale_factors));\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Because we're modifying factory_df in-place, we need to store the original variable costs in a new column:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"factory_df[!, :old_variable_cost] = copy(factory_df.variable_cost);\nnothing #hide","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Then, we need a function to scale the :variable_cost column for a particular factory by a value scale:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"function scale_variable_cost(df, factory, scale)\n rows = df.factory .== factory\n df[rows, :variable_cost] .=\n round.(Int, df[rows, :old_variable_cost] .* scale)\n return\nend","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Our experiment is just a nested for-loop, modifying A and B and storing the cost:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"for (j, a) in enumerate(scale_factors)\n scale_variable_cost(factory_df, \"A\", a)\n for (i, b) in enumerate(scale_factors)\n scale_variable_cost(factory_df, \"B\", b)\n cost[i, j] = solve_factory_scheduling(demand_df, factory_df).cost\n end\nend","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"Let's visualize the cost matrix:","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"StatsPlots.contour(\n scale_factors,\n scale_factors,\n cost;\n xlabel = \"Scale of factory A\",\n ylabel = \"Scale of factory B\",\n)","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"What can you infer from the solution?","category":"page"},{"location":"tutorials/linear/factory_schedule/","page":"The factory schedule example","title":"The factory schedule example","text":"info: Info\nThe Power Systems tutorial explains a number of other ways you can structure a problem to perform a parametric analysis of the solution. In particular, you can use in-place modification to reduce the time it takes to build and solve the resulting models.","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"EditURL = \"changelog.md\"","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"CurrentModule = JuMP","category":"page"},{"location":"release_notes/#Release-notes","page":"Release notes","title":"Release notes","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.","category":"page"},{"location":"release_notes/#[Version-1.23.5](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.5)-(November-19,-2024)","page":"Release notes","title":"Version 1.23.5 (November 19, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug broadcasting over GenericNonlinearExpr (#3881)\nFixed a bug in @constraint which illegally mutated user expressions (#3883) (#3885)","category":"page"},{"location":"release_notes/#Other","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated upload-artifact GitHub action (#3877)\nAdded a section on Common subexpressions (#3879)\nFixed a printing change for DimensionalData.jl (#3880)","category":"page"},{"location":"release_notes/#[Version-1.23.4](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.4)-(November-8,-2024)","page":"Release notes","title":"Version 1.23.4 (November 8, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-2","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed UnsupportedNonlinearOperator error for the single argument LinearAlgebra.norm (#3864)\nFixed printing MOI.Interval with MIME\"text/latex\" (#3866)","category":"page"},{"location":"release_notes/#Other-2","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Various minor improvements to the documentation (#3855) (#3860)\nAdded MathOptAI.jl and MathOptSymbolicAD.jl to the list of extensions in the documentation (#3858)\nClarified add_to_expression! can add two expressions (#3859)\nAdded SHOT to the installation table (#3853)\nImprovements to test coverage (#3867) (#3868) (#3869) (#3870) (#3871) (#3872) (#3873) (#3874) (#3875)\nJuMP now uses MOI.add_constrained_variable when adding a scalar variable with bounds for improving model creation performance with some solvers (#3863) (#3865)","category":"page"},{"location":"release_notes/#[Version-1.23.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.3)-(October-21,-2024)","page":"Release notes","title":"Version 1.23.3 (October 21, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-3","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a printing bug with scientific numbers in MIME\"text/latex\" (#3838)\nFixed support for AbstractString in set_attribute (#3840)\nFixed a bug reporting vector-valued duals in solution_summary (#3846)\nFixed solution_summary when there are duplicate variable and constraint names (#3848)","category":"page"},{"location":"release_notes/#Other-3","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation improvements (#3828) (#3831) (#3841) (#3843) (#3845)\nAdded the tutorial Tolerances and numerical issues (#3829) (#3830) (#3835)\nImproved the Benders decomposition tutorial (#38232) (#3833) (#3834)\nAdded DifferentiationInterface.jl to Automatic differentiation of user-defined operators (#3836) (#3842)\nAdded the tutorial Writing a solver interface (#3844)\nAdded the section Debugging performance problems (#3850)\nFormatting improvements (#3849)","category":"page"},{"location":"release_notes/#[Version-1.23.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.2)-(September-13,-2024)","page":"Release notes","title":"Version 1.23.2 (September 13, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-4","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed an illegal simplification in MA.operate!! for NonlinearExpr (#3826)","category":"page"},{"location":"release_notes/#Other-4","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Rolling horizon problems tutorial (#3815)\nAdded more tests for shapes and dual shapes (#3816)\nAdded more packages to extension-tests.yml (#3817) (#3818)\nRemoved an unnecessary test(#3819)\nDocumentation improvements (#3820) (#3822) (#3823)\nAdded PiecewiseLinearOpt.jl to the docs (#3824)","category":"page"},{"location":"release_notes/#[Version-1.23.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.1)-(August-30,-2024)","page":"Release notes","title":"Version 1.23.1 (August 30, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-5","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug with indicator constraints and the in set syntax (#3813)","category":"page"},{"location":"release_notes/#Other-5","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated packages in documentation (#3807)\nUpdated the transitioning from MATLAB tutorial (#3809)\nAdd tutorial Performance problems with sum-if formulations (#3810)","category":"page"},{"location":"release_notes/#[Version-1.23.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.23.0)-(August-13,-2024)","page":"Release notes","title":"Version 1.23.0 (August 13, 2024)","text":"","category":"section"},{"location":"release_notes/#Added","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added set inequality syntax for matrices (#3766)\nImproved matrix inequality support (#3778) (#3805)","category":"page"},{"location":"release_notes/#Fixed-6","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a method for calling value on a ::Number (#3776)\nFixed querying dual of Symmetric and Hermitian equality constraints (#3797)\nFixed read_from_file for coefficient types other than Float64 (#3801)","category":"page"},{"location":"release_notes/#Other-6","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation improvements\nFixed missing character in installation instructions (#3777)\nAdded a section of querying the Jacobian (#3779)\nClarify that SCIP does not support lazy constraints (#3784)\nFixed typo in knapsack.jl (#3792)\nAdded a warning to docs about tolerances in Bin and Int variables (#3794)\nClarify where to type installation commands (#3795)\nImprove error message for common incorrect syntax in constraint macro (#3781)\nChanged show(::IO, ::GenericModel) to a more informative tree structure (#3803)","category":"page"},{"location":"release_notes/#[Version-1.22.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.22.2)-(June-17,-2024)","page":"Release notes","title":"Version 1.22.2 (June 17, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-7","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed printing to omit terms when printing a large array of expressions (#3759)\nFixed bug in printing when show is called on an invalid variable or constraint (#3763)","category":"page"},{"location":"release_notes/#Other-7","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved error message for unsupported kwargs in variable macro (#3751)\nImproved error message for unsupported container syntax like x[A][B] (#3756)\nDocstring improvements (#3758), (#3760), (#3761), (#3767)\nAdded warning to documentation about Y <= X, Set() syntax (#3769)\nWork-around change on nightly (#3753), (#3754)\nImproved printing of symmetric matrices when used in constraints (#3768)\nFixed a test for upcoming printing change in MOI (#3772)\nUpdated should_i_use.md (#3773)","category":"page"},{"location":"release_notes/#[Version-1.22.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.22.1)-(May-17,-2024)","page":"Release notes","title":"Version 1.22.1 (May 17, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-8","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed bug including non-.jl files in src/macros.jl (#3747)","category":"page"},{"location":"release_notes/#Other-8","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added DSDP to the list of supported solvers (#3745)\nUpdated YALMIP migration guide (#3748)","category":"page"},{"location":"release_notes/#[Version-1.22.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.22.0)-(May-12,-2024)","page":"Release notes","title":"Version 1.22.0 (May 12, 2024)","text":"","category":"section"},{"location":"release_notes/#Added-2","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Base.complex(r, i) where r and i may be real-valued variables or affine or quadratic expressions (#3734)\nAdded @force_nonlinear for controlling when affine and quadratic expressions are instead parsed as nonlinear expressions. This can be useful for advanced users in a limited set of circumstances. (#3732)\nAdded support for returning the variable coefficients of a vector-valued constraint via normalized_coefficient. In addition, set_normalized_coefficients has been softly deprecated (no warning is thrown and old code will still work for all future 1.X releases of JuMP) in favor of set_normalized_coefficient. This change was made to unify how we get and set variable coefficients. (#3743)","category":"page"},{"location":"release_notes/#Fixed-9","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed missing promote_operation method that resulted in slow code (#3730)\nImproved performance of getindex for Containers.DenseAxisArray (#3731)\nFixed the error message when the legacy nonlinear API is mixed with the new nonlinear API. In particular, we now uniformly throw an error message when unexpected objects occur in nonlinear expressions. (#3741)","category":"page"},{"location":"release_notes/#Other-9","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated documentation (#3727), (#3728), (#3739)\nUpdated versions in GitHub actions (#3735)","category":"page"},{"location":"release_notes/#[Version-1.21.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.21.1)-(April-11,-2024)","page":"Release notes","title":"Version 1.21.1 (April 11, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-10","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed behavior of complex-value related functions like real, imag, conj and abs2 when called on GenericNonlinearExpr. This fixes a method error when calling x' where x is an array of nonlinear expressions. As a related consequence, we now always error when creating nonlinear expressions with complex components. Previously, only some constructors were checked for complex expressionns. (#3724)","category":"page"},{"location":"release_notes/#Other-10","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation improvements (#3719) (#3720) (#3721) (#3722)","category":"page"},{"location":"release_notes/#[Version-1.21.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.21.0)-(March-31,-2024)","page":"Release notes","title":"Version 1.21.0 (March 31, 2024)","text":"","category":"section"},{"location":"release_notes/#Added-3","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for matrix inequality constraints with the HermitianPSDCone (#3705)\nAdded batched modification methods for set_normalized_rhs, set_objective_coefficient and set_normalized_coefficient. Using these methods can be more efficient for some solvers (#3716)\nAdded the private constant _CONSTRAINT_LIMIT_FOR_PRINTING, which controls how many constraints are printed to the screen during print(model). The main purpose of this is to prevent large quantities of text being printed when print(model) is accidentally called on a large model. (#3686)","category":"page"},{"location":"release_notes/#Fixed-11","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Changed Containers.SparseAxisArray to use an OrderedDict as the backing data structure. Iterating over the elements in a SparseAxisArray now iterates in the order that the elements were created. Previously, the order was undefined behavior. (#3681)\nFixed complex variables for non-Float64 coefficient types (#3691)\nFixed LinearAlgebra.hermitan(::AbstractJuMPScalar) (#3693)\nFixed multiplying real scalar by Hermitian matrix (#3695)","category":"page"},{"location":"release_notes/#Other-11","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation improvements (#3679) (#3683) (#3702) (#3703) (#3706) (#3696) (#3708) (#3709) (#3711)\nAdded new tutorials:\nBasis matrices (#3675)\nTransitioning from MATLAB (#3698)\nAutomatic differentiation of user-defined operators (#3713)\nUpdated versions and compat bounds (#3687) (#3707) (#3717)","category":"page"},{"location":"release_notes/#[Version-1.20.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.20.0)-(February-15,-2024)","page":"Release notes","title":"Version 1.20.0 (February 15, 2024)","text":"","category":"section"},{"location":"release_notes/#Added-4","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added is_solved_and_feasible (#3668)\nAdded support for MOI.ModelLike as the optimizer (#3667)","category":"page"},{"location":"release_notes/#Fixed-12","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed compat of DimensionalData (#3666)\nFixed convert(::Type{NonlinearExpr}, ::Number)(#3672)","category":"page"},{"location":"release_notes/#Other-12","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Optim to list of solvers (#3624)\nImproved linking within documentation (#3669)","category":"page"},{"location":"release_notes/#[Version-1.19.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.19.0)-(February-1,-2024)","page":"Release notes","title":"Version 1.19.0 (February 1, 2024)","text":"","category":"section"},{"location":"release_notes/#Added-5","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for modifying quadratic coefficients (#3658)","category":"page"},{"location":"release_notes/#Fixed-13","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed short circuiting of && and || in macros (#3655)","category":"page"},{"location":"release_notes/#Other-13","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added SDPLR to list of solvers (#3644)\nAdded new roadmap items (#3645)\nFixed vale.sh version (#3650)\nImprove error messages in macros (#3653)\nRefactoring of set_normalized_coefficient (#3660) (#3661)\nUpdate docs/packages.toml (#3662)","category":"page"},{"location":"release_notes/#[Version-1.18.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.18.1)-(January-6,-2024)","page":"Release notes","title":"Version 1.18.1 (January 6, 2024)","text":"","category":"section"},{"location":"release_notes/#Fixed-14","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed escaping of the set keyword in @variable (#3647)","category":"page"},{"location":"release_notes/#[Version-1.18.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.18.0)-(January-2,-2024)","page":"Release notes","title":"Version 1.18.0 (January 2, 2024)","text":"","category":"section"},{"location":"release_notes/#Added-6","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"This release includes a large refactoring of the macro code that closes a roadmap item (#3629) Contributing pull requests include (#3600), (#3603), (#3606), (#3607), (#3610), (#3611), (#3612), (#3613), (#3614), (#3615), (#3617), (#3618), (#3619), (#3620), (#3621), (#3631), (#3632), (#3633)","category":"page"},{"location":"release_notes/#Fixed-15","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed error for unsupported objective sense (#3601)\nFixed text/latex printing of GenericNonlinearExpr (#3609)\nFixed compat bounds of stdlib packages (#3626)\nFixed a bug that can accidentally modify the user's expressions in a macro (#3639)\nFixed a bug converting AffExpr to GenericNonlinearExpr (#3642)","category":"page"},{"location":"release_notes/#Other-14","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added DisjunctiveProgrammingto extension-tests (#3597)\nAdded DisjunctiveProgrammingto docs (#3598)\nAdded DocumenterCitations to the docs (#3596), (#3630)\nMigrate from SnoopPrecompile to PrecompileTools (#3608)\nMinor documentation updates (#3623), (#3628), (#3635), (#3640), (#3643)","category":"page"},{"location":"release_notes/#[Version-1.17.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.17.0)-(December-4,-2023)","page":"Release notes","title":"Version 1.17.0 (December 4, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-7","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added start_value, lower_bound, and upper_bound support for GenericAffExpr that are equivalent to a single GenericVariableRef (#3551)\nAdded SkipModelConvertScalarSetWrapper which is useful for extensions looking to avoid model_convert (#3552) (#3592)\nAdded lp_matrix_data (#3573) (#3591)","category":"page"},{"location":"release_notes/#Fixed-16","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed variable_ref_type for unsupported types (#3556)\nFixed convert type of constraint starting values (#3571)\nFixed various methods to support AbstractJuMPScalar with Distances.jl (#3583)\nFixed eachindex for multiple arguments of Containers.DenseAxisArray and Containers.SparseAxisArray (#3587)\nExpressions with more than 60 terms now print in truncated form. This prevents large expressions from being accidentally printed to terminal or IJulia output (#3575)\nFixed a type instability in set_objective_coefficient (#3590)\nVarious fixes to the documentation (#3593) (#3595)","category":"page"},{"location":"release_notes/#Other-15","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved error messages for:\nAddition and subtraction between a matrix and a scalar (#3557) (#3558)\nVariables with non-constant bounds (#3583)\nInvalid indicator constraints (#3584)\nAdded new solvers to the documentation:\nEAGO.jl (#3560) (#3561)\nManopt.jl (#3568)\nPercival.jl (#3567)\nAdded new tutorials:\nApproximating nonlinear functions (#3563)\nExample: classification problems (#3569)\nImproved documentation for:\nSemicontinuous and Semiinteger variables (#3562)\nSOS1 and SOS2 (#3565)\nstart_value of HermitianPSDCone (#3564)\nFunction tracing (#3570)\nNonlinear operators with vector arguments (#3577)\nIndicator constraints (#3582)\nUpdated package compat bounds (#3578)","category":"page"},{"location":"release_notes/#[Version-1.16.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.16.0)-(October-24,-2023)","page":"Release notes","title":"Version 1.16.0 (October 24, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-8","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added := operator for Boolean satisfiability problems (#3530)","category":"page"},{"location":"release_notes/#Fixed-17","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed text/latex printing of MOI.Interval sets (#3537)\nFixed tests with duplicate function names (#3539)","category":"page"},{"location":"release_notes/#Other-16","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated documentation list of supported solvers (#3527) (#3529) (#3538) (#3542) (#3545) (#3546)\nUpdated to Documenter@1.1 (#3528)\nFixed various tutorials (#3534) (#3532)\nFixed Project.toml compat bounds for standard libraries (#3544)","category":"page"},{"location":"release_notes/#[Version-1.15.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.15.1)-(September-24,-2023)","page":"Release notes","title":"Version 1.15.1 (September 24, 2023)","text":"","category":"section"},{"location":"release_notes/#Fixed-18","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed support for single argument min and max operators (#3522)\nFixed error message for add_to_expression! when called with a GenericNonlinearExpr (#3506)\nFixed constraint tags with broadcasted constraints (#3515)\nFixed MethodError in MA.scaling (#3518)\nFixed support for arrays of Parameter variables (#3524)","category":"page"},{"location":"release_notes/#Other-17","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated to Documenter@1 (#3501)\nFixed links to data in tutorials (#3512)\nFixed typo in TSP tutorial (#3516)\nImproved error message for VariableNotOwned errors (#3520)\nFixed various JET errors (#3519)","category":"page"},{"location":"release_notes/#[Version-1.15.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.15.0)-(September-15,-2023)","page":"Release notes","title":"Version 1.15.0 (September 15, 2023)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"This is a large minor release because it adds an entirely new data structure and API path for working with nonlinear programs. The previous nonlinear interface remains unchanged and is documented at Nonlinear Modeling (Legacy). The new interface is a treated as a non-breaking feature addition and is documented at Nonlinear Modeling.","category":"page"},{"location":"release_notes/#Breaking","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Although the new nonlinear interface is a feature addition, there are two changes which might be breaking for a very small number of users.","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The syntax inside JuMP macros is parsed using a different code path, even for linear and quadratic expressions. We made this change to unify how we parse linear, quadratic, and nonlinear expressions. In all cases, the new code returns equivalent expressions, but because of the different order of operations, there are three changes to be aware of when updating:\nThe printed form of the expression may change, for example from x * y to y * x. This can cause tests which test the String representation of a model to fail.\nSome coefficients may change slightly due to floating point round-off error.\nParticularly when working with a JuMP extension, you may encounter a MethodError due to a missing or ambiguous method. These errors are due to previously existing bugs that were not triggered by the previous parsing code. If you encounter such an error, please open a GitHub issue.\nThe methods for Base.:^(x::VariableRef, n::Integer) and Base.:^(x::AffExpr, n::Integer) have changed. Previously, these methods supported only n = 0, 1, 2 and they always returned a QuadExpr, even for the case when n = 0 or n = 1. Now:\nx^0 returns one(T), where T is the value_type of the model (defaults to Float64)\nx^1 returns x\nx^2 returns a QuadExpr\nx^n where !(0 <= n <= 2) returns a NonlinearExpr.\nWe made this change to support nonlinear expressions and to align the mathematical definition of the operation with their return type. (Previously, users were surprised that x^1 returned a QuadExpr.) As a consequence of this change, the methods are now not type-stable. This means that the compiler cannot prove that x^2 returns a QuadExpr. If benchmarking shows that this is a performance problem, you can use the type-stable x * x instead of x^2.","category":"page"},{"location":"release_notes/#Added-9","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added triangle_vec which simplifies adding MOI.LogDetConeTriangle and MOI.RootDetConeTriangle constraints (#3456)\nAdded the new nonlinear interface. This is a very large change. See the documentation at Nonlinear Modeling and the (long) discussion in JuMP.jl#3106. Related PRs are (#3468) (#3472) (#3475) (#3483) (#3487) (#3488) (#3489) (#3504) (#3509)","category":"page"},{"location":"release_notes/#Fixed-19","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed uses of @nospecialize which cause precompilation failures in Julia v1.6.0 and v1.6.1. (#3464)\nFixed adding a container of Parameter (#3473)\nFixed return type of x^0 and x^1 to no longer return QuadExpr (see note in Breaking section above) (#3474)\nFixed error messages in LowerBoundRef, UpperBoundRef, FixRef, IntegerRef, BinaryRef, ParameterRef and related functions (#3494)\nFixed type inference of empty containers in JuMP macros (#3500)","category":"page"},{"location":"release_notes/#Other-18","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added GAMS to solver documentation (#3357)\nUpdated various tutorials (#3459) (#3460) (#3462) (#3463) (#3465) (#3490) (#3492) (#3503)\nAdded The network multi-commodity flow problem tutorial (#3491)\nAdded Two-stage stochastic programs tutorial (#3466)\nAdded better error messages for unsupported operations in LinearAlgebra (#3476)\nUpdated to the latest version of Documenter (#3484) (#3495) (#3497)\nUpdated GitHub action versions (#3507)","category":"page"},{"location":"release_notes/#[Version-1.14.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.14.1)-(September-2,-2023)","page":"Release notes","title":"Version 1.14.1 (September 2, 2023)","text":"","category":"section"},{"location":"release_notes/#Fixed-20","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix links in Documentation (#3478)","category":"page"},{"location":"release_notes/#[Version-1.14.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.14.0)-(August-27,-2023)","page":"Release notes","title":"Version 1.14.0 (August 27, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-10","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added DimensionalData.jl extension (#3413)\nAdded syntactic sugar for the MOI.Parameter set (#3443)\nParameter\nParameterRef\nis_parameter\nparameter_value\nset_parameter_value","category":"page"},{"location":"release_notes/#Fixed-21","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed model_convert for BridgeableConstraint (#3437)\nFixed printing models with integer coefficients larger than typemax(Int) (#3447)\nFixed support for constant left-hand side functions in a complementarity constraint (#3452)","category":"page"},{"location":"release_notes/#Other-19","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Updated packages used in documentation (#3444) (#3455)\nFixed docstring tests (#3445)\nFixed printing change for MathOptInterface (#3446)\nFixed typos in documentation (#3448) (#3457)\nAdded SCIP to callback documentation (#3449)","category":"page"},{"location":"release_notes/#[Version-1.13.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.13.0)-(July-27,-2023)","page":"Release notes","title":"Version 1.13.0 (July 27, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-11","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for generic number types (#3377) (#3385)\nAdded fallback for MOI.AbstractSymmetricMatrixSetTriangle and MOI.AbstractSymmetricMatrixSetSquare (#3424)","category":"page"},{"location":"release_notes/#Fixed-22","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed set_start_values with MOI.Bridges.Objective.SlackBridge (#3422)\nFixed flakey doctest in variables.md (#3425)\nFixed names on CITATION.bib (#3423)","category":"page"},{"location":"release_notes/#Other-20","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Loraine.jl to the installation table (#3426)\nRemoved Penopt.jl from packages.toml (#3428)\nImproved problem statement in cannery example of tutorial (#3430)\nMinor cleanups in Containers.DenseAxisArray implementation (#3429)\nChanged nested_problems.jl: outer/inner to upper/lower (#3433)\nRemoved second SDP relaxation in OPF tutorial (#3432)","category":"page"},{"location":"release_notes/#[Version-1.12.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.12.0)-(June-19,-2023)","page":"Release notes","title":"Version 1.12.0 (June 19, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-12","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added coefficient_type keyword argument to add_bridge and remove_bridge (#3394)","category":"page"},{"location":"release_notes/#Fixed-23","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed error message for matrix in HermitianPSDCone (#3369)\nFixed EditURL for custom documentation pages (#3373)\nFixed return type annotations for MOI.ConstraintPrimal and MOI.ConstraintDual (#3381)\nFixed printing change in Julia nightly (#3391)\nFixed printing of Complex coefficients (#3397)\nFixed printing of constraints in text/latex mode (#3405)\nFixed performance issue in Containers.rowtable (#3410)\nFixed bug when variables added to set of wrong dimension (#3411)","category":"page"},{"location":"release_notes/#Other-21","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added more solver READMEs to the documentation (#3358) (#3360) (#3364) (#3365) (#3366) (#3368) (#3372) (#3374) (#3376) (#3379) (#3387) (#3389)\nAdded StatusSwitchingQP.jl to the installation table (#3354)\nUpdated checklist for adding a new solver (#3370)\nUpdated extension-tests.yml action (#3371) (#3375)\nColor logs in GitHub actions (#3392)\nAdded new tutorials\nOptimal power flow (#3395) (#3412)\nLovász numbers (#3399)\nDualization (#3402)\nUpdated JuMP paper citation (#3400)\nChanged GitHub action to upload LaTeX logs when building documentation (#3403)\nFixed printing of SCS log in documentation (#3406)\nUpdated solver versions (#3407)\nUpdated documentation to use Julia v1.9 (#3398)\nReplaced _value_type with MOI.Utilities.value_type (#3414)\nFixed a typo in docstring (#3415)\nRefactored API documentation (#3386)\nUpdated SCIP license (#3420)","category":"page"},{"location":"release_notes/#[Version-1.11.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.11.1)-(May-19,-2023)","page":"Release notes","title":"Version 1.11.1 (May 19, 2023)","text":"","category":"section"},{"location":"release_notes/#Fixed-24","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a poor error message when sum(::DenseAxisArray; dims) was called (#3338)\nFixed support for dependent sets in the @variable macro (#3344)\nFixed a performance bug in constraints with sparse symmetric matrices (#3349)","category":"page"},{"location":"release_notes/#Other-22","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved the printing of complex numbers (#3332)\nWhen printing, sets which contain constants ending in .0 now print as integers. This follows the behavior of constants in functions (#3341)\nAdded InfiniteOpt to the extensions documentation (#3343)\nAdded more documentation for the exponential cone (#3345) (#3347)\nAdded checklists for developers (#3346) (#3355)\nFixed test support upcoming Julia nightly (#3351)\nFixed extension-tests.yml action (#3353)\nAdd more solvers to the documentation (#3359) (#3361) (#3362)","category":"page"},{"location":"release_notes/#[Version-1.11.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.11.0)-(May-3,-2023)","page":"Release notes","title":"Version 1.11.0 (May 3, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-13","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added new methods to print_active_bridges for printing a particular objective, constraint, or variable (#3316)","category":"page"},{"location":"release_notes/#Fixed-25","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed tests for MOI v1.14.0 release (#3312)\nFixed indexing containers when an axis is Vector{Any} that contains a Vector{Any} element (#3280)\nFixed getindex(::AbstractJuMPScalar) which is called for an expression like x[] (#3314)\nFixed bug in set_string_names_on_creation with a vector of variables (#3322)\nFixed bug in memoize function in nonlinear documentation (#3337)","category":"page"},{"location":"release_notes/#Other-23","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed typos in the documentation (#3317) (#3318) (#3328)\nAdded a test for the order of setting start values (#3315)\nAdded READMEs of solvers and extensions to the docs (#3309) (#3320) (#3327) (#3329) (#3333)\nStyle improvements to src/variables.jl (#3324)\nClarify that column generation does not find global optimum (#3325)\nAdd a GitHub actions workflow for testing extensions prior to release (#3331)\nDocument the release process for JuMP (#3334)\nFix links to discourse and chatroom (#3335)","category":"page"},{"location":"release_notes/#[Version-1.10.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.10.0)-(April-3,-2023)","page":"Release notes","title":"Version 1.10.0 (April 3, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-14","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Nonnegatives, Nonpositives and Zeros, and support vector-valued inequality syntax in the JuMP macros (#3273)\nAdded special support for LinearAlgebra.Symmetric and LinearAlgebra.Hermitian matrices in Zeros constraints (#3281) (#3296)\nAdded HermitianMatrixSpace and the Hermitian tag for generating a matrix of variables that is Hermitian (#3292) (#3293)\nAdded Semicontinuous and Semiinteger (#3302)\nAdded support for keyword indexing of containers (#3237)","category":"page"},{"location":"release_notes/#Fixed-26","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed [compat] bound for MathOptInterface in Project.toml (#3272)","category":"page"},{"location":"release_notes/#Other-24","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Split out the Nested optimization problems tutorial (#3274)\nUpdated doctests to ensure none have hidden state (#3275) (#3276)\nClarified how lazy constraints may revisit points (#3278)\nAdded P-Norm example (#3282)\nClarified docs that macros create new bindings (#3284)\nFixed threading example (#3283)\nAdded plot to The minimum distortion problem (#3288)\nAdded Google style rules for Vale and fixed warnings (#3285)\nAdded citation for the JuMP 1.0 paper (#3294)\nUpdated package versions in the documentation (#3298)\nAdded comment for the order in which start values must be set (#3303)\nImproved error message for unrecognized constraint operators (#3311)","category":"page"},{"location":"release_notes/#[Version-1.9.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.9.0)-(March-7,-2023)","page":"Release notes","title":"Version 1.9.0 (March 7, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-15","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added get_attribute and set_attribute. These replace get_optimizer_attribute and set_optimizer_attribute, although the _optimizer_ functions remain for backward compatibility. (#3219)\nAdded set_start_values for setting all supported start values in a model (#3238)\nAdd remove_bridge and print_active_bridges (#3259)","category":"page"},{"location":"release_notes/#Fixed-27","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The matrix returned by a variable in HermitianPSDCone is now a LinearAlgebra.Hermitian matrix. This is potentially breaking if you have written code to assume the return is a Matrix. (#3245) (#3246)\nFixed missing support for Base.isreal of expressions (#3252)","category":"page"},{"location":"release_notes/#Other-25","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a thread safety issue in the Parallelism tutorial (#3240) (#3243)\nImproved the error message when unsupported operators are used in @NL macros (#3236)\nClarified the documentation to say that matrices in HermitianPSDCone must be LinearAlgebra.Hermitian (#3241)\nMinor style fixes to internal macro code (#3247)\nAdd Example: quantum state discrimination tutorial (#3250)\nImprove error message when begin...end not passed to plural macros (#3255)\nDocument how to register function with varying number of input arguments (#3258)\nTidy tests by removing unneeded JuMP. prefixes (#3260)\nClarified the introduction to the Complex number support tutorial (#3262)\nFixed typos in the Documentation (#3263) (#3266) (#3268) (#3269)","category":"page"},{"location":"release_notes/#[Version-1.8.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.8.2)-(February-27,-2023)","page":"Release notes","title":"Version 1.8.2 (February 27, 2023)","text":"","category":"section"},{"location":"release_notes/#Fixed-28","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed dot product between complex JuMP expression and number (#3244)","category":"page"},{"location":"release_notes/#Other-26","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Polish simple SDP examples (#3232)","category":"page"},{"location":"release_notes/#[Version-1.8.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.8.1)-(February-23,-2023)","page":"Release notes","title":"Version 1.8.1 (February 23, 2023)","text":"","category":"section"},{"location":"release_notes/#Fixed-29","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed support for init in nonlinear generator expressions (#3226)","category":"page"},{"location":"release_notes/#Other-27","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Use and document import MathOptInterface as MOI (#3222)\nRemoved references in documentation to multiobjective optimization being unsupported (#3223)\nAdded tutorial on multi-objective portfolio optimization (#3227)\nRefactored some of the conic tutorials (#3229)\nFixed typos in the documentation (#3230)\nAdded tutorial on parallelism (#3231)","category":"page"},{"location":"release_notes/#[Version-1.8.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.8.0)-(February-16,-2023)","page":"Release notes","title":"Version 1.8.0 (February 16, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-16","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added --> syntax support for indicator constraints. The old syntax of => remains supported (#3207)\nAdded <--> syntax for reified constraints. For now, few solvers support reified constraints (#3206)\nAdded fix_discrete_variables. This is most useful for computing the dual of a mixed-integer program (#3208)\nAdded support for vector-valued objectives. For details, see the Multi-objective knapsack tutorial (#3176)","category":"page"},{"location":"release_notes/#Fixed-30","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in lp_sensitivity_report by switching to an explicit LU factorization of the basis matrix (#3182)\nFixed a bug that prevented [; kwarg] arguments in macros (#3220)","category":"page"},{"location":"release_notes/#Other-28","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Minor fixes to the documentation (#3200) (#3201) (#3203) (#3210)\nAdded tutorial Constraint programming (#3202)\nAdded more examples to Modeling with cones\nRemove _distance_to_set in favor of MOI.Utilities.distance_to_set (#3209)\nImprove The diet problem tutorial by adding the variable as a column in the dataframe (#3213)\nImprove The knapsack problem example tutorial (#3216) (#3217)\nAdded the Example: ellipsoid approximation tutorial (#3218)","category":"page"},{"location":"release_notes/#[Version-1.7.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.7.0)-(January-25,-2023)","page":"Release notes","title":"Version 1.7.0 (January 25, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-17","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for view of a Containers.DenseAxisArray (#3152) (#3180)\nAdded support for containers of variables in ComplexPlane (#3184)\nAdded support for minimum and maximum generators in nonlinear expressions (#3189)\nAdded SnoopPrecompile statements that reduce the time-to-first-solve in Julia 1.9 (#3193) (#3195) (#3196) (#3197)","category":"page"},{"location":"release_notes/#Other-29","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Large refactoring of the tests (#3166) (#3167) (#3168) (#3169) (#3170) (#3171)\nRemove unreachable code due to VERSION checks (#3172)\nDocument how to test JuMP extensions (#3174)\nFix method ambiguities in Containers (#3173)\nImprove error message that is thrown when = is used instead of == in the @constraint macro (#3178)\nImprove the error message when Bool is used instead of Bin in the @variable macro (#3180)\nUpdate versions of the documentation (#3185)\nTidy the import of packages and remove unnecessary prefixes (#3186) (#3187)\nRefactor src/JuMP.jl by moving methods into more relevant files (#3188)\nFix docstring of Model not appearing in the documentation (#3198)","category":"page"},{"location":"release_notes/#[Version-1.6.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.6.0)-(January-1,-2023)","page":"Release notes","title":"Version 1.6.0 (January 1, 2023)","text":"","category":"section"},{"location":"release_notes/#Added-18","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added a result keyword argument to solution_summary to allow summarizing models with multiple solutions (#3138)\nAdded relax_with_penalty!, which is a useful tool when debugging infeasible models (#3140)\nAdded has_start_value (#3157)\nAdded support for HermitianPSDCone in constraints (#3154)","category":"page"},{"location":"release_notes/#Fixed-31","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed promotion of complex expressions (#3150) (#3164)","category":"page"},{"location":"release_notes/#Other-30","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Benders tutorial with in-place resolves (#3145)\nAdded more Tips and tricks for linear programs (#3144) (#3163)\nClarified documentation that start can depend on the indices of a variable container (#3148)\nReplace instances of length and size by the recommended eachindex and axes (#3149)\nAdded a warning explaining why the model is dirty when accessing solution results from a modified model (#3156)\nClarify documentation that PSD ensures a symmetric matrix (#3159)\nMaintenance of the JuMP test suite (#3146) (#3158) (#3162)","category":"page"},{"location":"release_notes/#[Version-1.5.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.5.0)-(December-8,-2022)","page":"Release notes","title":"Version 1.5.0 (December 8, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-19","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add support for complex-valued variables:\nHermitianPSDCone (#3109)\nComplexPlane and ComplexVariable (#3134)\nAdd support for MOI.OptimizerWithAttributes in set_optimizer_attribute and get_optimizer_attribute (#3129)","category":"page"},{"location":"release_notes/#Fixed-32","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed error message for vectorized interval constraints (#3123)\nFixed passing AbstractString to set_optimizer_attribute (#3127)","category":"page"},{"location":"release_notes/#Other-31","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Update package versions used in docs (#3119) (#3133) (#3139)\nFixed output of diet tutorial (#3120)\nExplain how to use Dates.period in set_time_limit_sec (#3121)\nUpdate to JuliaFormatter v1.0.15 (#3130)\nFixed HTTP server example in web_app.jl (#3131)\nUpdate docs to build with Documenter#master (#3094)\nAdd tests for LinearAlgebra operations (#3132)\nTidy these release notes (#3135)\nAdded documentation for Complex number support (#3141)\nRemoved the \"workforce scheduling\" and \"steelT3\" tutorials (#3143)","category":"page"},{"location":"release_notes/#[Version-1.4.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.4.0)-(October-29,-2022)","page":"Release notes","title":"Version 1.4.0 (October 29, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-20","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Containers.rowtable which converts a container into a vector of NamedTuples to support the Tables.jl interface. This simplifies converting Containers.DenseAxisArray and Containers.SparseAxisArray objects into tabular forms such as a DataFrame (#3104)\nAdded a new method to Containers.container so that index names are passed to the container (#3088)","category":"page"},{"location":"release_notes/#Fixed-33","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in copy_to(dest::Model, src::MOI.ModelLike) when src has nonlinear components (#3101)\nFixed the printing of (-1.0 + 0.0im) coefficients in complex expressions (#3112)\nFixed a parsing bug in nonlinear expressions with generator statements that contain multiple for statements (#3116)","category":"page"},{"location":"release_notes/#Other-32","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Converted the multi-commodity flow tutorial to use an SQLite database (#3098)\nFixed a number of typos in the documentation (#3103) (#3107) (#3018)\nImproved various style aspects of the PDF documentation (#3095) (#3098) (#3102)","category":"page"},{"location":"release_notes/#[Version-1.3.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.3.1)-(September-28,-2022)","page":"Release notes","title":"Version 1.3.1 (September 28, 2022)","text":"","category":"section"},{"location":"release_notes/#Fixed-34","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a performance issue in relax_integrality (#3087)\nFixed the type stability of operators with Complex arguments (#3072)\nFixed a bug which added additional +() terms to some nonlinear expressions (#3091)\nFixed potential method ambiguities with AffExpr and QuadExpr objects (#3092)","category":"page"},{"location":"release_notes/#Other-33","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added vale as a linter for the documentation (#3080)\nAdded a tutorial on debugging JuMP models (#3043)\nFixed a number of typos in the documentation (#3079) (#3083)\nMany other small tweaks to the documentation (#3068) (#3073) (#3074) (#3075) (#3076) (#3077) (#3078) (#3081) (#3082) (#3084) (#3085) (#3089)","category":"page"},{"location":"release_notes/#[Version-1.3.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.3.0)-(September-5,-2022)","page":"Release notes","title":"Version 1.3.0 (September 5, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-21","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support slicing in SparseAxisArray (#3031)","category":"page"},{"location":"release_notes/#Fixed-35","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug introduced in v1.2.0 that prevented DenseAxisArrays with Vector keys (#3064)","category":"page"},{"location":"release_notes/#Other-34","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Released the JuMP logos under the CC BY 4.0 license (#3063)\nMinor tweaks to the documentation (#3054) (#3056) (#3057) (#3060) (#3061) (#3065)\nImproved code coverage of a number of files (#3048) (#3049) (#3050) (#3051) (#3052) (#3053) (#3058) (#3059)","category":"page"},{"location":"release_notes/#[Version-1.2.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.2.1)-(August-22,-2022)","page":"Release notes","title":"Version 1.2.1 (August 22, 2022)","text":"","category":"section"},{"location":"release_notes/#Fixed-36","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug when parsing two-sided nonlinear constraints (#3045)","category":"page"},{"location":"release_notes/#[Version-1.2.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.2.0)-(August-16,-2022)","page":"Release notes","title":"Version 1.2.0 (August 16, 2022)","text":"","category":"section"},{"location":"release_notes/#Breaking-2","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"This is a large minor release because it significantly refactors the internal code for handling nonlinear programs to use the MathOptInterface.Nonlinear submodule that was introduced in MathOptInterface v1.3.0. As a consequence, the internal datastructure in model.nlp_data has been removed, as has the JuMP._Derivatives submodule. Despite the changes, the public API for nonlinear programming has not changed, and any code that uses only the public API and that worked with v1.1.1 will continue to work with v1.2.0.","category":"page"},{"location":"release_notes/#Added-22","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added all_constraints(model; include_variable_in_set_constraints) which simplifies returning a list of all constraint indices in the model.\nAdded the ability to delete nonlinear constraints via delete(::Model, ::NonlinearConstraintRef).\nAdded the ability to provide an explicit Hessian for a multivariate user-defined function.\nAdded support for querying the primal value of a nonlinear constraint via value(::NonlinearConstraintRef)","category":"page"},{"location":"release_notes/#Fixed-37","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in Containers.DenseAxisArray so that it now supports indexing with keys that hash to the same value, even if they are different types, for example, Int32 and Int64.\nFixed a bug printing the model when the solver does not support MOI.Name.","category":"page"},{"location":"release_notes/#Other-35","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added a constraint programming formulation to the Sudoku tutorial.\nAdded newly supported solvers Pajarito, Clarabel, and COPT to the installation table.\nFixed a variety of other miscellaneous issues in the documentation.","category":"page"},{"location":"release_notes/#[Version-1.1.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.1.1)-(June-14,-2022)","page":"Release notes","title":"Version 1.1.1 (June 14, 2022)","text":"","category":"section"},{"location":"release_notes/#Other-36","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed problem displaying LaTeX in the documentation\nMinor updates to the style guide\nUpdated to MOI v1.4.0 in the documentation","category":"page"},{"location":"release_notes/#[Version-1.1.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.1.0)-(May-25,-2022)","page":"Release notes","title":"Version 1.1.0 (May 25, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-23","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added num_constraints(::Model; count_variable_in_set_constraints) to simplify the process of counting the number of constraints in a model\nAdded VariableRef(::ConstraintRef) for querying the variable associated with a bound or integrality constraint.\nAdded set_normalized_coefficients for modifying the variable coefficients of a vector-valued constraint.\nAdded set_string_names_on_creation to disable creating String names for variables and constraints. This can improve performance.","category":"page"},{"location":"release_notes/#Fixed-38","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug passing nothing to the start keyword of @variable","category":"page"},{"location":"release_notes/#Other-37","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"New tutorials:\nSensitivity analysis of a linear program\nServing web apps\nMinimal ellipse SDP tutorial refactored and improved\nDocs updated to the latest version of each package\nLots of minor fixes and improvements to the documentation","category":"page"},{"location":"release_notes/#[Version-1.0.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v1.0.0)-(March-24,-2022)","page":"Release notes","title":"Version 1.0.0 (March 24, 2022)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Read more about this release, along with an acknowledgement of all the contributors in our JuMP 1.0.0 is released blog post.","category":"page"},{"location":"release_notes/#Breaking-3","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The previously deprecated functions (v0.23.0, v0.23.1) have been removed. Deprecation was to improve consistency of function names:\nnum_nl_constraints (see num_nonlinear_constraints)\nall_nl_constraints (see all_nonlinear_constraints)\nadd_NL_expression (see add_nonlinear_expression)\nset_NL_objective (see set_nonlinear_objective)\nadd_NL_constraint (see add_nonlinear_constraint)\nnl_expr_string (see nonlinear_expr_string)\nnl_constraint_string (see nonlinear_constraint_string)\nSymMatrixSpace (see SymmetricMatrixSpace)\nThe unintentionally exported variable JuMP.op_hint has been renamed to the unexported JuMP._OP_HINT","category":"page"},{"location":"release_notes/#Fixed-39","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug writing .nl files\nFixed a bug broadcasting SparseAxisArrays","category":"page"},{"location":"release_notes/#[Version-0.23.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.23.2)-(March-14,-2022)","page":"Release notes","title":"Version 0.23.2 (March 14, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-24","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added relative_gap to solution_summary\nregister now throws an informative error if the function is not differentiable using ForwardDiff. In some cases, the check in register will encounter a false negative, and the informative error will be thrown at run-time. This usually happens when the function is non-differentiable in a subset of the domain.","category":"page"},{"location":"release_notes/#Fixed-40","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a scoping issue when extending the container keyword of containers","category":"page"},{"location":"release_notes/#Other-38","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Docs updated to the latest version of each package","category":"page"},{"location":"release_notes/#[Version-0.23.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.23.1)-(March-2,-2022)","page":"Release notes","title":"Version 0.23.1 (March 2, 2022)","text":"","category":"section"},{"location":"release_notes/#Deprecated","page":"Release notes","title":"Deprecated","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"nl_expr_string and nl_constraint_string have been renamed to nonlinear_expr_string and nonlinear_constraint_string. The old methods still exist with deprecation warnings. This change should impact very few users because to call them you must rely on private internals of the nonlinear API. Users are encouraged to use sprint(show, x) instead, where x is the nonlinear expression or constraint of interest.","category":"page"},{"location":"release_notes/#Added-25","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for Base.abs2(x) where x is a variable or affine expression. This is mainly useful for complex-valued constraints.","category":"page"},{"location":"release_notes/#Fixed-41","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed addition of complex and real affine expressions\nFixed arithmetic for Complex-valued quadratic expressions\nFixed variable bounds passed as Rational{Int}(Inf)\nFixed printing of the coefficient (0 + 1im)\nFixed a bug when solution_summary is called prior to optimize!","category":"page"},{"location":"release_notes/#[Version-0.23.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.23.0)-(February-25,-2022)","page":"Release notes","title":"Version 0.23.0 (February 25, 2022)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"JuMP v0.23.0 is a breaking release. It is also a release-candidate for JuMP v1.0.0. That is, if no issues are found with the v0.23.0 release, then it will be re-tagged as v1.0.0.","category":"page"},{"location":"release_notes/#Breaking-4","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Julia 1.6 is now the minimum supported version\nMathOptInterface has been updated to v1.0.0\nAll previously deprecated functionality has been removed\nPrintMode, REPLMode and IJuliaMode have been removed in favor of the MIME types MIME\"text/plain\" and MIME\"text/latex\". Replace instances of ::Type{REPLMode} with ::MIME\"text/plain\", REPLMode with MIME(\"text/plain\"), ::Type{IJuliaMode} with ::MIME\"text/latex\", and IJuliaMode with MIME(\"text/latex\").\nFunctions containing the nl_ acronym have been renamed to the more explicit nonlinear_. For example, num_nl_constraints is now num_nonlinear_constraints and set_NL_objective is now set_nonlinear_objective. Calls to the old functions throw an error explaining the new name.\nSymMatrixSpace has been renamed to SymmetricMatrixSpace","category":"page"},{"location":"release_notes/#Added-26","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added nonlinear_dual_start_value and set_nonlinear_dual_start_value\nAdded preliminary support for Complex coefficient types","category":"page"},{"location":"release_notes/#Fixed-42","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in solution_summary","category":"page"},{"location":"release_notes/#Other-39","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"MILP examples have been migrated from GLPK to HiGHS\nFixed various typos\nImproved section on setting constraint start values","category":"page"},{"location":"release_notes/#Troubleshooting-problems-when-updating","page":"Release notes","title":"Troubleshooting problems when updating","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"If you experience problems when updating, you are likely using previously deprecated functionality. (By default, Julia does not warn when you use deprecated features.)","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"To find the deprecated features you are using, start Julia with --depwarn=yes:","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"$ julia --depwarn=yes","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Then install JuMP v0.22.3:","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"julia> using Pkg\njulia> pkg\"add JuMP@0.22.3\"","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"And then run your code. Apply any suggestions, or search the release notes below for advice on updating a specific deprecated feature.","category":"page"},{"location":"release_notes/#[Version-0.22.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.22.3)-(February-10,-2022)","page":"Release notes","title":"Version 0.22.3 (February 10, 2022)","text":"","category":"section"},{"location":"release_notes/#Fixed-43","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a reproducibility issue in the TSP tutorial\nFixed a reproducibility issue in the max_cut_sdp tutorial\nFixed a bug broadcasting an empty SparseAxisArray","category":"page"},{"location":"release_notes/#Other-40","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added a warning and improved documentation for the modify-then-query case\nFixed a typo in the docstring of RotatedSecondOrderCone\nAdded Aqua.jl as a check for code health\nAdded introductions to each section of the tutorials\nImproved the column generation and Benders decomposition tutorials\nUpdated documentation to MOI v0.10.8\nUpdated JuliaFormatter to v0.22.2","category":"page"},{"location":"release_notes/#[Version-0.22.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.22.2)-(January-10,-2022)","page":"Release notes","title":"Version 0.22.2 (January 10, 2022)","text":"","category":"section"},{"location":"release_notes/#Added-27","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The function all_nl_constraints now returns all nonlinear constraints in a model\nstart_value and set_start_value can now be used to get and set the primal start for constraint references\nPlural macros now return a tuple containing the elements that were defined instead of nothing\nAnonymous variables are now printed as _[i] where i is the index of the variable instead of noname. Calling name(x) still returns \"\" so this is non-breaking.","category":"page"},{"location":"release_notes/#Fixed-44","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed handling of min and max in nonlinear expressions\nCartesianIndex is no longer allowed as a key for DenseAxisArrays.","category":"page"},{"location":"release_notes/#Other-41","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved the performance of GenericAffExpr\nAdded a tutorial on the Travelling Salesperson Problem\nAdded a tutorial on querying the Hessian of a nonlinear program\nAdded documentation on using custom solver binaries.","category":"page"},{"location":"release_notes/#[Version-0.22.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.22.1)-(November-29,-2021)","page":"Release notes","title":"Version 0.22.1 (November 29, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-28","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Export OptimizationSense enum, with instances: MIN_SENSE, MAX_SENSE, and FEASIBILITY_SENSE\nAdd Base.isempty(::Model) to match Base.empty(::Model)","category":"page"},{"location":"release_notes/#Fixed-45","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix bug in container with tuples as indices\nFix bug in set_time_limit_sec","category":"page"},{"location":"release_notes/#Other-42","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add tutorial \"Design patterns for larger models\"\nRemove release notes section from PDF\nGeneral edits of the documentation and error messages","category":"page"},{"location":"release_notes/#[Version-0.22.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.22.0)-(November-10,-2021)","page":"Release notes","title":"Version 0.22.0 (November 10, 2021)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"JuMP v0.22 is a breaking release","category":"page"},{"location":"release_notes/#Breaking-5","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"JuMP 0.22 contains a number of breaking changes. However, these should be invisible for the majority of users. You will mostly encounter these breaking changes if you: wrote a JuMP extension, accessed backend(model), or called @SDconstraint.","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The breaking changes are as follows:","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"MathOptInterface has been updated to v0.10.4. For users who have interacted with the MOI backend, this contains a large number of breaking changes. Read the MathOptInterface release notes for more details.\nThe bridge_constraints keyword argument to Model and set_optimizer has been renamed add_bridges to reflect that more thing were bridged than just constraints.\nThe backend(model) field now contains a concrete instance of a MOI.Utilities.CachingOptimizer instead of one with an abstractly typed optimizer field. In most cases, this will lead to improved performance. However, calling set_optimizer after backend invalidates the old backend. For example:\nmodel = Model()\nb = backend(model)\nset_optimizer(model, GLPK.Optimizer)\n@variable(model, x)\n# b is not updated with `x`! Get a new b by calling `backend` again.\nnew_b = backend(model)\nAll usages of @SDconstraint are deprecated. The new syntax is @constraint(model, X >= Y, PSDCone()).\nCreating a DenseAxisArray with a Number as an axis will now display a warning. This catches a common error in which users write @variable(model, x[length(S)]) instead of @variable(model, x[1:length(S)]).\nThe caching_mode argument to Model, for example, Model(caching_mode = MOIU.MANUAL) mode has been removed. For more control over the optimizer, use direct_model instead.\nThe previously deprecated lp_objective_perturbation_range and lp_rhs_perturbation_range functions have been removed. Use lp_sensitivity_report instead.\nThe .m fields of NonlinearExpression and NonlinearParameter have been renamed to .model.\nInfinite variable bounds are now ignored. Thus, @variable(model, x <= Inf) will show has_upper_bound(x) == false. Previously, these bounds were passed through to the solvers which caused numerical issues for solvers expecting finite bounds.\nThe variable_type and constraint_type functions were removed. This should only affect users who previously wrote JuMP extensions. The functions can be deleted without consequence.\nThe internal functions moi_mode, moi_bridge_constraints, moi_add_constraint, and moi_add_to_function_constant are no longer exported.\nThe un-used method Containers.generate_container has been deleted.\nThe Containers API has been refactored, and _build_ref_sets is now public as Containers.build_ref_sets.\nThe parse_constraint_ methods for extending @constraint at parse time have been refactored in a breaking way. Consult the Extensions documentation for more details and examples.","category":"page"},{"location":"release_notes/#Added-29","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The TerminationStatusCode and ResultStatusCode enums are now exported by JuMP. Prefer termination_status(model) == OPTIMAL instead of == MOI.OPTIMAL, although the MOI. prefix way still works.\nCopy a x::DenseAxisArray to an Array by calling Array(x).\nNonlinearExpression is now a subtype of AbstractJuMPScalar\nConstraints such as @constraint(model, x + 1 in MOI.Integer()) are now supported.\nprimal_feasibility_report now accepts a function as the first argument.\nScalar variables @variable(model, x[1:2] in MOI.Integer()) creates two variables, both of which are constrained to be in the set MOI.Integer.\nConic constraints can now be specified as inequalities under a different partial ordering. So @constraint(model, x - y in MOI.Nonnegatives()) can now be written as @constraint(model, x >= y, MOI.Nonnegatives()).\nNames are now set for vectorized constraints.","category":"page"},{"location":"release_notes/#Fixed-46","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a performance issue when show was called on a SparseAxisArray with a large number of elements.\nFixed a bug displaying barrier and simplex iterations in solution_summary.\nFixed a bug by implementing hash for DenseAxisArray and SparseAxisArray.\nNames are now only set if the solver supports them. Previously, this prevented solvers such as Ipopt from being used with direct_model.\nMutableArithmetics.Zero is converted into a 0.0 before being returned to the user. Previously, some calls to @expression would return the undocumented MutableArithmetics.Zero() object. One example is summing over an empty set @expression(model, sum(x[i] for i in 1:0)). You will now get 0.0 instead.\nAffExpr and QuadExpr can now be used with == 0 instead of iszero. This fixes a number of issues relating to Julia standard libraries such as LinearAlgebra and SparseArrays.\nFixed a bug when registering a user-defined function with splatting.","category":"page"},{"location":"release_notes/#Other-43","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The documentation is now available as a PDF.\nThe documentation now includes a full copy of the MathOptInterface documentation to make it easy to link concepts between the docs. (The MathOptInterface documentation has also been significantly improved.)\nThe documentation contains a large number of improvements and clarifications on a range of topics. Thanks to @sshin23, @DilumAluthge, and @jlwether.\nThe documentation is now built with Julia 1.6 instead of 1.0.\nVarious error messages have been improved to be more readable.","category":"page"},{"location":"release_notes/#[Version-0.21.10](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.10)-(September-4,-2021)","page":"Release notes","title":"Version 0.21.10 (September 4, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-30","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added add_NL_expression\nadd_NL_xxx functions now support AffExpr and QuadExpr as terms","category":"page"},{"location":"release_notes/#Fixed-47","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in solution_summary\nFixed a bug in relax_integrality","category":"page"},{"location":"release_notes/#Other-44","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved error message in lp_sensitivity_report","category":"page"},{"location":"release_notes/#[Version-0.21.9](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.9)-(August-1,-2021)","page":"Release notes","title":"Version 0.21.9 (August 1, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-31","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Containers now support arbitrary container types by passing the type to the container keyword and overloading Containers.container.\nis_valid now supports nonlinear constraints\nAdded unsafe_backend for querying the inner-most optimizer of a JuMP model.\nNonlinear parameters now support the plural @NLparameters macro.\nContainers (for example, DenseAxisArray) can now be used in vector-valued constraints.","category":"page"},{"location":"release_notes/#Other-45","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Various improvements to the documentation.","category":"page"},{"location":"release_notes/#[Version-0.21.8](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.8)-(May-8,-2021)","page":"Release notes","title":"Version 0.21.8 (May 8, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-32","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The @constraint macro is now extendable in the same way as @variable.\nAffExpr and QuadExpr can now be used in nonlinear macros.","category":"page"},{"location":"release_notes/#Fixed-48","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed a bug in lp_sensitivity_report.\nFixed an inference issue when creating empty SparseAxisArrays.","category":"page"},{"location":"release_notes/#[Version-0.21.7](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.7)-(April-12,-2021)","page":"Release notes","title":"Version 0.21.7 (April 12, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-33","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added primal_feasibility_report, which can be used to check whether a primal point satisfies primal feasibility.\nAdded coefficient, which returns the coefficient associated with a variable in affine and quadratic expressions.\nAdded copy_conflict, which returns the IIS of an infeasible model.\nAdded solution_summary, which returns (and prints) a struct containing a summary of the solution.\nAllow AbstractVector in vector constraints instead of just Vector.\nAdded latex_formulation(model) which returns an object representing the latex formulation of a model. Use print(latex_formulation(model)) to print the formulation as a string.\nUser-defined functions in nonlinear expressions are now automatically registered to aid quick model prototyping. However, a warning is printed to encourage the manual registration.\nDenseAxisArray's now support broadcasting over multiple arrays.\nContainer indices can now be iterators of Base.SizeUnknown.","category":"page"},{"location":"release_notes/#Fixed-49","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed bug in rad2deg and deg2rad in nonlinear expressions.\nFixed a MethodError bug in Containers when forcing container type.\nAllow partial slicing of a DenseAxisArray, resolving an issue from 2014.\nFixed a bug printing variable names in IJulia.\nEnding an IJulia cell with model now prints a summary of the model (like in the REPL) not the latex formulation. Use print(model) to print the latex formulation.\nFixed a bug when copying models containing nested arrays.","category":"page"},{"location":"release_notes/#Other-46","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Tutorials are now part of the documentation, and more refactoring has taken place.\nAdded JuliaFormatter added as a code formatter.\nAdded some precompilation statements to reduce initial latency.\nVarious improvements to error messages to make them more helpful.\nImproved performance of value(::NonlinearExpression).\nImproved performance of fix(::VariableRef).","category":"page"},{"location":"release_notes/#[Version-0.21.6](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.6)-(January-29,-2021)","page":"Release notes","title":"Version 0.21.6 (January 29, 2021)","text":"","category":"section"},{"location":"release_notes/#Added-34","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for skew symmetric variables via @variable(model, X[1:2, 1:2] in SkewSymmetricMatrixSpace()).\nlp_sensitivity_report has been added which significantly improves the performance of querying the sensitivity summary of an LP. lp_objective_perturbation_range and lp_rhs_perturbation_range are deprecated.\nDual warm-starts are now supported with set_dual_start_value and dual_start_value.\n∈ (\\in) can now be used in macros instead of = or in.\nUse haskey(model::Model, key::Symbol) to check if a name key is registered in a model.\nAdded unregister(model::Model, key::Symbol) to unregister a name key from model.\nAdded callback_node_status for use in callbacks.\nAdded print_bridge_graph to visualize the bridging graph generated by MathOptInterface.\nImproved error message for containers with duplicate indices.","category":"page"},{"location":"release_notes/#Fixed-50","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Various fixes to pass tests on Julia 1.6.\nFixed a bug in the printing of nonlinear expressions in IJulia.\nFixed a bug when nonlinear expressions are passed to user-defined functions.\nSome internal functions that were previously exported are now no longer exported.\nFixed a bug when relaxing a fixed binary variable.\nFixed a StackOverflowError that occurred when SparseAxisArrays had a large number of elements.\nRemoved an unnecessary type assertion in list_of_constraint_types.\nFixed a bug when copying models with registered expressions.","category":"page"},{"location":"release_notes/#Other-47","page":"Release notes","title":"Other","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The documentation has been significantly overhauled. It now has distinct sections for the manual, API reference, and examples. The existing examples in /examples have now been moved to /docs/src/examples and rewritten using Literate.jl, and they are now included in the documentation.\nJuliaFormatter has been applied to most of the codebase. This will continue to roll out over time, as we fix upstream issues in the formatter, and will eventually become compulsory.\nThe root cause of a large number of method invalidations has been resolved.\nWe switched continuous integration from Travis and Appveyor to GitHub Actions.","category":"page"},{"location":"release_notes/#[Version-0.21.5](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.5)-(September-18,-2020)","page":"Release notes","title":"Version 0.21.5 (September 18, 2020)","text":"","category":"section"},{"location":"release_notes/#Fixed-51","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed deprecation warnings\nThrow DimensionMismatch for incompatibly sized functions and sets\nUnify treatment of keys(x) on JuMP containers","category":"page"},{"location":"release_notes/#[Version-0.21.4](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.4)-(September-14,-2020)","page":"Release notes","title":"Version 0.21.4 (September 14, 2020)","text":"","category":"section"},{"location":"release_notes/#Added-35","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add debug info when adding unsupported constraints\nAdd relax_integrality for solving continuous relaxation\nAllow querying constraint conflicts","category":"page"},{"location":"release_notes/#Fixed-52","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Dispatch on Real for MOI.submit\nImplement copy for CustomSet in tests\nDon't export private macros\nFix invalid assertion in nonlinear\nError if constraint has NaN right-hand side\nImprove speed of tests\nLots of work modularizing files in /test\nImprove line numbers in macro error messages\nPrint nonlinear subexpressions\nVarious documentation updates\nDependency updates:\nDatastructures 0.18\nMathOptFormat v0.5\nPrep for MathOptInterface 0.9.15","category":"page"},{"location":"release_notes/#[Version-0.21.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.3)-(June-18,-2020)","page":"Release notes","title":"Version 0.21.3 (June 18, 2020)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added Special Order Sets (SOS1 and SOS2) to JuMP with default weights to ease the creation of such constraints (#2212).\nAdded functions simplex_iterations, barrier_iterations and node_count (#2201).\nAdded function reduced_cost (#2205).\nImplemented callback_value for affine and quadratic expressions (#2231).\nSupport MutableArithmetics.Zero in objective and constraints (#2219).\nDocumentation improvements:\nMention tutorials in the docs (#2223).\nUpdate COIN-OR links (#2242).\nExplicit link to the documentation of MOI.FileFormats (#2253).\nTypo fixes (#2261).\nContainers improvements:\nFix Base.map for DenseAxisArray (#2235).\nThrow BoundsError if number of indices is incorrect for DenseAxisArray and SparseAxisArray (#2240).\nExtensibility improvements:\nImplement a set_objective method fallback that redirects to set_objective_sense and set_objective_function (#2247).\nAdd parse_constraint method with arbitrary number of arguments (#2051).\nAdd parse_constraint_expr and parse_constraint_head (#2228).","category":"page"},{"location":"release_notes/#[Version-0.21.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.2)-(April-2,-2020)","page":"Release notes","title":"Version 0.21.2 (April 2, 2020)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added relative_gap() to access MOI.RelativeGap() attribute (#2199).\nDocumentation fixes:\nAdded link to source for docstrings in the documentation (#2207).\nAdded docstring for @variables macro (#2216).\nTypo fixes (#2177, #2184, #2182).\nImplementation of methods for Base functions:\nImplemented Base.empty! for JuMP.Model (#2198).\nImplemented Base.conj for JuMP scalar types (#2209).","category":"page"},{"location":"release_notes/#Fixed-53","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixed sum of expression with scalar product in macro (#2178).\nFixed writing of nonlinear models to MathOptFormat (#2181).\nFixed construction of empty SparseAxisArray (#2179).\nFixed constraint with zero function (#2188).","category":"page"},{"location":"release_notes/#[Version-0.21.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.1)-(Feb-18,-2020)","page":"Release notes","title":"Version 0.21.1 (Feb 18, 2020)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved the clarity of the with_optimizer deprecation warning.","category":"page"},{"location":"release_notes/#[Version-0.21.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.21.0)-(Feb-16,-2020)","page":"Release notes","title":"Version 0.21.0 (Feb 16, 2020)","text":"","category":"section"},{"location":"release_notes/#Breaking-6","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Deprecated with_optimizer (#2090, #2084, #2141). You can replace with_optimizer by either nothing, optimizer_with_attributes or a closure:\nreplace with_optimizer(Ipopt.Optimizer) by Ipopt.Optimizer.\nreplace with_optimizer(Ipopt.Optimizer, max_cpu_time=60.0) by optimizer_with_attributes(Ipopt.Optimizer, \"max_cpu_time\" => 60.0).\nreplace with_optimizer(Gurobi.Optimizer, env) by () -> Gurobi.Optimizer(env).\nreplace with_optimizer(Gurobi.Optimizer, env, Presolve=0) by optimizer_with_attributes(() -> Gurobi.Optimizer(env), \"Presolve\" => 0).\nalternatively to optimizer_with_attributes, you can also set the attributes separately with set_optimizer_attribute.\nRenamed set_parameter and set_parameters to set_optimizer_attribute and set_optimizer_attributes (#2150).\nBroadcast should now be explicit inside macros. @SDconstraint(model, x >= 1) and @constraint(model, x + 1 in SecondOrderCone()) now throw an error instead of broadcasting 1 along the dimension of x (#2107).\n@SDconstraint(model, x >= 0) is now equivalent to @constraint(model, x in PSDCone()) instead of @constraint(model, (x .- 0) in PSDCone()) (#2107).\nThe macros now create the containers with map instead of for loops, as a consequence, containers created by @expression can now have any element type and containers of constraint references now have concrete element types when possible. This fixes a long-standing issue where @expression could only be used to generate a collection of linear expressions. Now it works for quadratic expressions as well (#2070).\nCalling deepcopy(::AbstractModel) now throws an error.\nThe constraint name is now printed in the model string (#2108).","category":"page"},{"location":"release_notes/#Added-36","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Added support for solver-independent and solver-specific callbacks (#2101).\nAdded write_to_file and read_from_file, supported formats are CBF, LP, MathOptFormat, MPS and SDPA (#2114).\nAdded support for complementarity constraints (#2132).\nAdded support for indicator constraints (#2092).\nAdded support for querying multiple solutions with the result keyword (#2100).\nAdded support for constraining variables on creation (#2128).\nAdded method delete that deletes a vector of variables at once if it is supported by the underlying solver (#2135).\nThe arithmetic between JuMP expression has be refactored into the MutableArithmetics package (#2107).\nImproved error on complex values in NLP (#1978).\nAdded an example of column generation (#2010).","category":"page"},{"location":"release_notes/#Fixed-54","page":"Release notes","title":"Fixed","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Incorrect coefficients generated when using Symmetric variables (#2102)","category":"page"},{"location":"release_notes/#[Version-0.20.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.20.1)-(Oct-18,-2019)","page":"Release notes","title":"Version 0.20.1 (Oct 18, 2019)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add sections on @variables and @constraints in the documentation (#2062).\nFixed product of sparse matrices for Julia v1.3 (#2063).\nAdded set_objective_coefficient to modify the coefficient of a linear term of the objective function (#2008).\nAdded set_time_limit_sec, unset_time_limit_sec and time_limit_sec to set and query the time limit for the solver in seconds (#2053).","category":"page"},{"location":"release_notes/#[Version-0.20.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.20.0)-(Aug-24,-2019)","page":"Release notes","title":"Version 0.20.0 (Aug 24, 2019)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation updates.\nNumerous bug fixes.\nBetter error messages (#1977, #1978, #1997, #2017).\nPerformance improvements (#1947, #2032).\nAdded LP sensitivity summary functions lp_objective_perturbation_range and lp_rhs_perturbation_range (#1917).\nAdded functions dual_objective_value, raw_status and set_parameter.\nAdded function set_objective_coefficient to modify the coefficient of a linear term of the objective (#2008).\nAdded functions set_normalized_rhs, normalized_rhs, and add_to_function_constant to modify and get the constant part of a constraint (#1935, #1960).\nAdded functions set_normalized_coefficient and normalized_coefficient to modify and get the coefficient of a linear term of a constraint (#1935, #1960).\nNumerous other improvements in MOI 0.9, see the NEWS.md file of MOI for more details.","category":"page"},{"location":"release_notes/#[Version-0.19.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.19.2)-(June-8,-2019)","page":"Release notes","title":"Version 0.19.2 (June 8, 2019)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in derivatives that could arise in models with nested nonlinear subexpressions.","category":"page"},{"location":"release_notes/#[Version-0.19.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.19.1)-(May-12,-2019)","page":"Release notes","title":"Version 0.19.1 (May 12, 2019)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Usability and performance improvements.\nBug fixes.","category":"page"},{"location":"release_notes/#[Version-0.19.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.19.0)-(February-15,-2019)","page":"Release notes","title":"Version 0.19.0 (February 15, 2019)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"JuMP 0.19 contains significant breaking changes.","category":"page"},{"location":"release_notes/#Breaking-7","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"JuMP's abstraction layer for communicating with solvers changed from MathProgBase (MPB) to MathOptInterface (MOI). MOI addresses many longstanding design issues. (See @mlubin's slides from JuMP-dev 2018.) JuMP 0.19 is compatible only with solvers that have been updated for MOI. See the installation guide for a list of solvers that have and have not yet been updated.\nMost solvers have been renamed to PackageName.Optimizer. For example, GurobiSolver() is now Gurobi.Optimizer.\nSolvers are no longer added to a model via Model(solver = XXX(kwargs...)). Instead use Model(with_optimizer(XXX, kwargs...)). For example, Model(with_optimizer(Gurobi.Optimizer, OutputFlag=0)).\nJuMP containers (for example, the objects returned by @variable) have been redesigned. Containers.SparseAxisArray replaces JuMPDict, JuMPArray was rewritten (inspired by AxisArrays) and renamed Containers.DenseAxisArray, and you can now request a container type with the container= keyword to the macros. See the corresponding documentation for more details.\nThe statuses returned by solvers have changed. See the possible status values here. The MOI statuses are much richer than the MPB statuses and can be used to distinguish between previously indistinguishable cases (for example, did the solver have a feasible solution when it stopped because of the time limit?).\nStarting values are separate from result values. Use value to query the value of a variable in a solution. Use start_value and set_start_value to get and set an initial starting point provided to the solver. The solutions from previous solves are no longer automatically set as the starting points for the next solve.\nThe data structures for affine and quadratic expressions AffExpr and QuadExpr have changed. Internally, terms are stored in dictionaries instead of lists. Duplicate coefficients can no longer exist. Accessors and iteration methods have changed.\nJuMPNLPEvaluator no longer includes the linear and quadratic parts of the model in the evaluation calls. These are now handled separately to allow NLP solvers that support various types of constraints.\nJuMP solver-independent callbacks have been replaced by solver-specific callbacks. See your favorite solver for more details. (See the note below: No solver-specific callbacks are implemented yet.)\nThe norm() syntax is no longer recognized inside macros. Use the SecondOrderCone() set instead.\nJuMP no longer performs automatic transformation between special quadratic forms and second-order cone constraints. Support for these constraint classes depends on the solver.\nThe symbols :Min and :Max are no longer used as optimization senses. Instead, JuMP uses the OptimizationSense enum from MathOptInterface. @objective(model, Max, ...), @objective(model, Min, ...), @NLobjective(model, Max, ...), and @objective(model, Min, ...) remain valid, but @objective(m, :Max, ...) is no longer accepted.\nThe sign conventions for duals has changed in some cases for consistency with conic duality (see the documentation). The shadow_price helper method returns duals with signs that match conventional LP interpretations of dual values as sensitivities of the objective value to relaxations of constraints.\n@constraintref is no longer defined. Instead, create the appropriate container to hold constraint references manually. For example,\nconstraints = Dict() # Optionally, specify types for improved performance.\nfor i in 1:N\n constraints[i] = @constraint(model, ...)\nend\nThe lowerbound, upperbound, and basename keyword arguments to the @variable macro have been renamed to lower_bound, upper_bound, and base_name, for consistency with JuMP's new style recommendations.\nWe rely on broadcasting syntax to apply accessors to collections of variables, for example, value.(x) instead of getvalue(x) for collections. (Use value(x) when x is a scalar object.)","category":"page"},{"location":"release_notes/#Added-37","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Splatting (like f(x...)) is recognized in restricted settings in nonlinear expressions.\nSupport for deleting constraints and variables.\nThe documentation has been completely rewritten using docstrings and Documenter.\nSupport for modeling mixed conic and quadratic models (for example, conic models with quadratic objectives and bi-linear matrix inequalities).\nSignificantly improved support for modeling new types of constraints and for extending JuMP's macros.\nSupport for providing dual warm starts.\nImproved support for accessing solver-specific attributes (for example, the irreducible inconsistent subsystem).\nExplicit control of whether symmetry-enforcing constraints are added to PSD constraints.\nSupport for modeling exponential cones.\nSignificant improvements in internal code quality and testing.\nStyle and naming guidelines.\nDirect mode and manual mode provide explicit control over when copies of a model are stored or regenerated. See the corresponding documentation.","category":"page"},{"location":"release_notes/#Regressions","page":"Release notes","title":"Regressions","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"There are known regressions from JuMP 0.18 that will be addressed in a future release (0.19.x or later):","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Performance regressions in model generation (issue). Please file an issue anyway if you notice a significant performance regression. We have plans to address a number of performance issues, but we might not be aware of all of them.\nFast incremental NLP solves are not yet reimplemented (issue).\nWe do not yet have an implementation of solver-specific callbacks.\nThe column generation syntax in @variable has been removed (that is, the objective, coefficients, and inconstraints keyword arguments). Support for column generation will be re-introduced in a future release.\nThe ability to solve the continuous relaxation (that is, via solve(model; relaxation = true)) is not yet reimplemented (issue).","category":"page"},{"location":"release_notes/#[Version-0.18.5](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.5)-(December-1,-2018)","page":"Release notes","title":"Version 0.18.5 (December 1, 2018)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support views in some derivative evaluation functions.\nImproved compatibility with PackageCompiler.","category":"page"},{"location":"release_notes/#[Version-0.18.4](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.4)-(October-8,-2018)","page":"Release notes","title":"Version 0.18.4 (October 8, 2018)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in model printing on Julia 0.7 and 1.0.","category":"page"},{"location":"release_notes/#[Version-0.18.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.3)-(October-1,-2018)","page":"Release notes","title":"Version 0.18.3 (October 1, 2018)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add support for Julia v1.0 (Thanks @ExpandingMan)\nFix matrix expressions with quadratic functions (#1508)","category":"page"},{"location":"release_notes/#[Version-0.18.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.2)-(June-10,-2018)","page":"Release notes","title":"Version 0.18.2 (June 10, 2018)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in second-order derivatives when expressions are present (#1319)\nFix a bug in @constraintref (#1330)","category":"page"},{"location":"release_notes/#[Version-0.18.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.1)-(April-9,-2018)","page":"Release notes","title":"Version 0.18.1 (April 9, 2018)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix for nested tuple destructuring (#1193)\nPreserve internal model when relaxation=true (#1209)\nMinor bug fixes and updates for example","category":"page"},{"location":"release_notes/#[Version-0.18.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.18.0)-(July-27,-2017)","page":"Release notes","title":"Version 0.18.0 (July 27, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Drop support for Julia 0.5.\nUpdate for ForwardDiff 0.5.\nMinor bug fixes.","category":"page"},{"location":"release_notes/#[Version-0.17.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.17.1)-(June-9,-2017)","page":"Release notes","title":"Version 0.17.1 (June 9, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Use of constructconstraint! in @SDconstraint.\nMinor bug fixes.","category":"page"},{"location":"release_notes/#[Version-0.17.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.17.0)-(May-27,-2017)","page":"Release notes","title":"Version 0.17.0 (May 27, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Breaking change: Mixing quadratic and conic constraints is no longer supported.\nBreaking change: The getvariable and getconstraint functions are replaced by indexing on the corresponding symbol. For instance, to access the variable with name x, one should now write m[:x] instead of getvariable(m, :x). As a consequence, creating a variable and constraint with the same name now triggers a warning, and accessing one of them afterwards throws an error. This change is breaking only in the latter case.\nAddition of the getobjectivebound function that mirrors the functionality of the MathProgBase getobjbound function except that it takes into account transformations performed by JuMP.\nMinor bug fixes.","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The following changes are primarily of interest to developers of JuMP extensions:","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The new syntax @constraint(model, expr in Cone) creates the constraint ensuring that expr is inside Cone. The Cone argument is passed to constructconstraint! which enables the call to the dispatched to an extension.\nThe @variable macro now calls constructvariable! instead of directly calling the Variable constructor. Extra arguments and keyword arguments passed to @variable are passed to constructvariable! which enables the call to be dispatched to an extension.\nRefactor the internal function conicdata (used build the MathProgBase conic model) into smaller sub-functions to make these parts reusable by extensions.","category":"page"},{"location":"release_notes/#[Version-0.16.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.16.2)-(March-28,-2017)","page":"Release notes","title":"Version 0.16.2 (March 28, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Minor bug fixes and printing tweaks\nAddress deprecation warnings for Julia 0.6","category":"page"},{"location":"release_notes/#[Version-0.16.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.16.1)-(March-7,-2017)","page":"Release notes","title":"Version 0.16.1 (March 7, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Better support for AbstractArray in JuMP (Thanks @tkoolen)\nMinor bug fixes","category":"page"},{"location":"release_notes/#[Version-0.16.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.16.0)-(February-23,-2017)","page":"Release notes","title":"Version 0.16.0 (February 23, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Breaking change: JuMP no longer has a mechanism for selecting solvers by default (the previous mechanism was flawed and incompatible with Julia 0.6). Not specifying a solver before calling solve() will result in an error.\nBreaking change: User-defined functions are no longer global. The first argument to JuMP.register is now a JuMP Model object within whose scope the function will be registered. Calling JuMP.register without a Model now produces an error.\nBreaking change: Use the new JuMP.fix method to fix a variable to a value or to update the value to which a variable is fixed. Calling setvalue on a fixed variable now results in an error in order to avoid silent behavior changes. (Thanks @joaquimg)\nNonlinear expressions now print out similarly to linear/quadratic expressions (useful for debugging!)\nNew category keyword to @variable. Used for specifying categories of anonymous variables.\nCompatibility with Julia 0.6-dev.\nMinor fixes and improvements (Thanks @cossio, @ccoffrin, @blegat)","category":"page"},{"location":"release_notes/#[Version-0.15.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.15.1)-(January-31,-2017)","page":"Release notes","title":"Version 0.15.1 (January 31, 2017)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Bugfix for @LinearConstraints and friends","category":"page"},{"location":"release_notes/#[Version-0.15.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.15.0)-(December-22,-2016)","page":"Release notes","title":"Version 0.15.0 (December 22, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Julia 0.5.0 is the minimum required version for this release.\nDocument support for BARON solver\nEnable info callbacks in more states than before, for example, for recording solutions. New when argument to addinfocallback (#814, thanks @yeesian)\nImproved support for anonymous variables. This includes new warnings for potentially confusing use of the traditional non-anonymous syntax:\nWhen multiple variables in a model are given the same name\nWhen non-symbols are used as names, for example, @variable(m, x[1][1:N])\nImprovements in iterating over JuMP containers (#836, thanks @IssamT)\nSupport for writing variable names in .lp file output (Thanks @leethargo)\nSupport for querying duals to SDP problems (Thanks @blegat)\nThe comprehension syntax with curly braces sum{}, prod{}, and norm2{} has been deprecated in favor of Julia's native comprehension syntax sum(), prod() and norm() as previously announced. (For early adopters of the new syntax, norm2() was renamed to norm() without deprecation.)\nUnit tests rewritten to use Base.Test instead of FactCheck\nImproved support for operations with matrices of JuMP types (Thanks @ExpandingMan)\nThe syntax to halt a solver from inside a callback has changed from throw(CallbackAbort()) to return JuMP.StopTheSolver\nMinor bug fixes","category":"page"},{"location":"release_notes/#[Version-0.14.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.14.2)-(December-12,-2016)","page":"Release notes","title":"Version 0.14.2 (December 12, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Allow singleton anonymous variables (includes bugfix)","category":"page"},{"location":"release_notes/#[Version-0.14.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.14.1)-(September-12,-2016)","page":"Release notes","title":"Version 0.14.1 (September 12, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"More consistent handling of states in informational callbacks, includes a new when parameter to addinfocallback for specifying in which state an informational callback should be called.","category":"page"},{"location":"release_notes/#[Version-0.14.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.14.0)-(August-7,-2016)","page":"Release notes","title":"Version 0.14.0 (August 7, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Compatibility with Julia 0.5 and ForwardDiff 0.2\nSupport for \"anonymous\" variables, constraints, expressions, and parameters, for example, x = @variable(m, [1:N]) instead of @variable(m, x[1:N])\nSupport for retrieving constraints from a model by name via getconstraint\n@NLconstraint now returns constraint references (as expected).\nSupport for vectorized expressions within lazy constraints\nOn Julia 0.5, parse new comprehension syntax sum(x[i] for i in 1:N if isodd(i)) instead of sum{ x[i], i in 1:N; isodd(i) }. The old syntax with curly braces will be deprecated in JuMP 0.15.\nNow possible to provide nonlinear expressions as \"raw\" Julia Expr objects instead of using JuMP's nonlinear macros. This input format is useful for programmatically generated expressions.\ns/Mathematical Programming/Mathematical Optimization/\nSupport for local cuts (Thanks to @madanim, Mehdi Madani)\nDocument Xpress interface developed by @joaquimg, Joaquim Dias Garcia\nMinor bug and deprecation fixes (Thanks @odow, @jrevels)","category":"page"},{"location":"release_notes/#[Version-0.13.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.13.2)-(May-16,-2016)","page":"Release notes","title":"Version 0.13.2 (May 16, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Compatibility update for MathProgBase","category":"page"},{"location":"release_notes/#[Version-0.13.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.13.1)-(May-3,-2016)","page":"Release notes","title":"Version 0.13.1 (May 3, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix broken deprecation for registerNLfunction.","category":"page"},{"location":"release_notes/#[Version-0.13.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.13.0)-(April-29,-2016)","page":"Release notes","title":"Version 0.13.0 (April 29, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Most exported methods and macros have been renamed to avoid camelCase. See the list of changes here. There is a 1-1 mapping from the old names to the new, and it is safe to simply replace the names to update existing models.\nSpecify variable lower/upper bounds in @variable using the lowerbound and upperbound keyword arguments.\nChange name printed for variable using the basename keyword argument to @variable.\nNew @variables macro allows multi-line declaration of groups of variables.\nA number of solver methods previously available only through MathProgBase are now exposed directly in JuMP. The fix was recorded live.\nCompatibility fixes with Julia 0.5.\nThe \"end\" indexing syntax is no longer supported within JuMPArrays which do not use 1-based indexing until upstream issues are resolved, see here.","category":"page"},{"location":"release_notes/#[Version-0.12.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.12.2)-(March-9,-2016)","page":"Release notes","title":"Version 0.12.2 (March 9, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Small fixes for nonlinear optimization","category":"page"},{"location":"release_notes/#[Version-0.12.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.12.1)-(March-1,-2016)","page":"Release notes","title":"Version 0.12.1 (March 1, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a regression in slicing for JuMPArrays (when not using 1-based indexing)","category":"page"},{"location":"release_notes/#[Version-0.12.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.12.0)-(February-27,-2016)","page":"Release notes","title":"Version 0.12.0 (February 27, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"The automatic differentiation functionality has been completely rewritten with a number of user-facing changes:\n@defExpr and @defNLExpr now take the model as the first argument. The previous one-argument version of @defExpr is deprecated; all expressions should be named. For example, replace @defExpr(2x+y) with @defExpr(jump_model, my_expr, 2x+y).\nJuMP no longer uses Julia's variable binding rules for efficiently re-solving a sequence of nonlinear models. Instead, we have introduced nonlinear parameters. This is a breaking change, so we have added a warning message when we detect models that may depend on the old behavior.\nSupport for user-defined functions integrated within nonlinear JuMP expressions.\nReplaced iteration over AffExpr with Number-like scalar iteration; previous iteration behavior is now available via linearterms(::AffExpr).\nStopping the solver via throw(CallbackAbort()) from a callback no longer triggers an exception. Instead, solve() returns UserLimit status.\ngetDual() now works for conic problems (Thanks @emreyamangil.)","category":"page"},{"location":"release_notes/#[Version-0.11.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.11.3)-(February-4,-2016)","page":"Release notes","title":"Version 0.11.3 (February 4, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Bug-fix for problems with quadratic objectives and semidefinite constraints","category":"page"},{"location":"release_notes/#[Version-0.11.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.11.2)-(January-14,-2016)","page":"Release notes","title":"Version 0.11.2 (January 14, 2016)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Compatibility update for Mosek","category":"page"},{"location":"release_notes/#[Version-0.11.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.11.1)-(December-1,-2015)","page":"Release notes","title":"Version 0.11.1 (December 1, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Remove usage of @compat in tests.\nFix updating quadratic objectives for nonlinear models.","category":"page"},{"location":"release_notes/#[Version-0.11.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.11.0)-(November-30,-2015)","page":"Release notes","title":"Version 0.11.0 (November 30, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Julia 0.4.0 is the minimum required version for this release.\nFix for scoping semantics of index variables in sum{}. Index variables no longer leak into the surrounding scope.\nAddition of the solve(m::Model, relaxation=true) keyword argument to solve the standard continuous relaxation of model m\nThe getConstraintBounds() method allows access to the lower and upper bounds of all constraints in a (nonlinear) model.\nUpdate for breaking changes in MathProgBase","category":"page"},{"location":"release_notes/#[Version-0.10.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.10.3)-(November-20,-2015)","page":"Release notes","title":"Version 0.10.3 (November 20, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a rare error when parsing quadratic expressions\nFix Variable() constructor with default arguments\nDetect unrecognized keywords in solve()","category":"page"},{"location":"release_notes/#[Version-0.10.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.10.2)-(September-28,-2015)","page":"Release notes","title":"Version 0.10.2 (September 28, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix for deprecation warnings","category":"page"},{"location":"release_notes/#[Version-0.10.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.10.1)-(September-3,-2015)","page":"Release notes","title":"Version 0.10.1 (September 3, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixes for ambiguity warnings.\nFix for breaking change in precompilation syntax in Julia 0.4-pre","category":"page"},{"location":"release_notes/#[Version-0.10.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.10.0)-(August-31,-2015)","page":"Release notes","title":"Version 0.10.0 (August 31, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support (on Julia 0.4 and later) for conditions in indexing @defVar and @addConstraint constructs, for example, @defVar(m, x[i=1:5,j=1:5; i+j >= 3])\nSupport for vectorized operations on Variables and expressions. See the documentation for details.\nNew getVar() method to access variables in a model by name\nSupport for semidefinite programming.\nDual solutions are now available for general nonlinear problems. You may call getDual on a reference object for a nonlinear constraint, and getDual on a variable object for Lagrange multipliers from active bounds.\nIntroduce warnings for two common performance traps: too many calls to getValue() on a collection of variables and use of the + operator in a loop to sum expressions.\nSecond-order cone constraints can be written directly with the norm() and norm2{} syntax.\nImplement MathProgBase interface for querying Hessian-vector products.\nIteration over JuMPContainers is deprecated; instead, use the keys and values functions, and zip(keys(d),values(d)) for the old behavior.\n@defVar returns Array{Variable,N} when each of N index sets are of the form 1:nᵢ.\nModule precompilation: on Julia 0.4 and later, using JuMP is now much faster.","category":"page"},{"location":"release_notes/#[Version-0.9.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.9.3)-(August-11,-2015)","page":"Release notes","title":"Version 0.9.3 (August 11, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fixes for FactCheck testing on julia v0.4.","category":"page"},{"location":"release_notes/#[Version-0.9.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.9.2)-(June-27,-2015)","page":"Release notes","title":"Version 0.9.2 (June 27, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix bug in @addConstraints.","category":"page"},{"location":"release_notes/#[Version-0.9.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.9.1)-(April-25,-2015)","page":"Release notes","title":"Version 0.9.1 (April 25, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix for Julia 0.4-dev.\nSmall infrastructure improvements for extensions.","category":"page"},{"location":"release_notes/#[Version-0.9.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.9.0)-(April-18,-2015)","page":"Release notes","title":"Version 0.9.0 (April 18, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Comparison operators for constructing constraints (for example, 2x >= 1) have been deprecated. Instead, construct the constraints explicitly in the @addConstraint macro to add them to the model, or in the @LinearConstraint macro to create a stand-alone linear constraint instance.\ngetValue() method implemented to compute the value of a nonlinear subexpression\nJuMP is now released under the Mozilla Public License version 2.0 (was previously LGPL). MPL is a copyleft license which is less restrictive than LGPL, especially for embedding JuMP within other applications.\nA number of performance improvements in ReverseDiffSparse for computing derivatives.\nMathProgBase.getsolvetime(m) now returns the solution time reported by the solver, if available. (Thanks @odow, Oscar Dowson)\nFormatting fix for LP format output. (Thanks @sbebo, Leonardo Taccari).","category":"page"},{"location":"release_notes/#[Version-0.8.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.8.0)-(February-17,-2015)","page":"Release notes","title":"Version 0.8.0 (February 17, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Nonlinear subexpressions now supported with the @defNLExpr macro.\nSCS supported for solving second-order conic problems.\nsetXXXCallback family deprecated in favor of addXXXCallback.\nMultiple callbacks of the same type can be registered.\nAdded support for informational callbacks via addInfoCallback.\nA CallbackAbort exception can be thrown from callback to safely exit optimization.","category":"page"},{"location":"release_notes/#[Version-0.7.4](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.7.4)-(February-4,-2015)","page":"Release notes","title":"Version 0.7.4 (February 4, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Reduced costs and linear constraint duals are now accessible when quadratic constraints are present.\nTwo-sided nonlinear constraints are supported.\nMethods for accessing the number of variables and constraints in a model are renamed.\nNew default procedure for setting initial values in nonlinear optimization: project zero onto the variable bounds.\nSmall bug fixes.","category":"page"},{"location":"release_notes/#[Version-0.7.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.7.3)-(January-14,-2015)","page":"Release notes","title":"Version 0.7.3 (January 14, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a method ambiguity conflict with Compose.jl (cosmetic fix)","category":"page"},{"location":"release_notes/#[Version-0.7.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.7.2)-(January-9,-2015)","page":"Release notes","title":"Version 0.7.2 (January 9, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in sum(::JuMPDict)\nAdded the setCategory function to change a variables category (for example, continuous or binary)","category":"page"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"after construction, and getCategory to retrieve the variable category.","category":"page"},{"location":"release_notes/#[Version-0.7.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.7.1)-(January-2,-2015)","page":"Release notes","title":"Version 0.7.1 (January 2, 2015)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in parsing linear expressions in macros. Affects only Julia 0.4 and later.","category":"page"},{"location":"release_notes/#[Version-0.7.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.7.0)-(December-29,-2014)","page":"Release notes","title":"Version 0.7.0 (December 29, 2014)","text":"","category":"section"},{"location":"release_notes/#Linear/quadratic/conic-programming","page":"Release notes","title":"Linear/quadratic/conic programming","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Breaking change: The syntax for column-wise model generation has been changed to use keyword arguments in @defVar.\nOn Julia 0.4 and later, variables and coefficients may be multiplied in any order within macros. That is, variable*coefficient is now valid syntax.\nECOS supported for solving second-order conic problems.","category":"page"},{"location":"release_notes/#_nonlinear_programming_release_notes","page":"Release notes","title":"Nonlinear programming","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support for skipping model generation when solving a sequence of nonlinear models with changing data.\nFix a memory leak when solving a sequence of nonlinear models.\nThe @addNLConstraint macro now supports the three-argument version to define sets of nonlinear constraints.\nKNITRO supported as a nonlinear solver.\nSpeed improvements for model generation.\nThe @addNLConstraints macro supports adding multiple (groups of) constraints at once. Syntax is similar to @addConstraints.\nDiscrete variables allowed in nonlinear problems for solvers which support them (currently only KNITRO).","category":"page"},{"location":"release_notes/#General","page":"Release notes","title":"General","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Starting values for variables may now be specified with @defVar(m, x, start=value).\nThe setSolver function allows users to change the solver subsequent to model creation.\nSupport for \"fixed\" variables via the @defVar(m, x == 1) syntax.\nUnit tests rewritten to use FactCheck.jl, improved testing across solvers.","category":"page"},{"location":"release_notes/#[Version-0.6.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.6.3)-(October-19,-2014)","page":"Release notes","title":"Version 0.6.3 (October 19, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in multiplying two AffExpr objects.","category":"page"},{"location":"release_notes/#[Version-0.6.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.6.2)-(October-11,-2014)","page":"Release notes","title":"Version 0.6.2 (October 11, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Further improvements and bug fixes for printing.\nFixed a bug in @defExpr.\nSupport for accessing expression graphs through the MathProgBase NLP interface.","category":"page"},{"location":"release_notes/#[Version-0.6.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.6.1)-(September-19,-2014)","page":"Release notes","title":"Version 0.6.1 (September 19, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improvements and bug fixes for printing.","category":"page"},{"location":"release_notes/#[Version-0.6.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.6.0)-(September-9,-2014)","page":"Release notes","title":"Version 0.6.0 (September 9, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Julia 0.3.0 is the minimum required version for this release.\nbuildInternalModel(m::Model) added to build solver-level model in memory without optimizing.\nDeprecate load_model_only keyword argument to solve.\nAdd groups of constraints with @addConstraints macro.\nUnicode operators now supported, including ∑ for sum, ∏ for prod, and ≤/≥\nQuadratic constraints supported in @addConstraint macro.\nQuadratic objectives supported in @setObjective macro.\nMathProgBase solver-independent interface replaces Ipopt-specific interface for nonlinear problems\nBreaking change: IpoptOptions no longer supported to specify solver options, use m = Model(solver=IpoptSolver(options...)) instead.\nNew solver interfaces: ECOS, NLopt, and nonlinear support for MOSEK\nNew option to control whether the lazy constraint callback is executed at each node in the B&B tree or just when feasible solutions are found\nAdd support for semicontinuous and semi-integer variables for those solvers that support them.\nAdd support for index dependencies (for example, triangular indexing) in @defVar, @addConstraint, and @defExpr (for example, @defVar(m, x[i=1:10,j=i:10])).\nThis required some changes to the internal structure of JuMP containers, which may break code that explicitly stored JuMPDict objects.","category":"page"},{"location":"release_notes/#[Version-0.5.8](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.8)-(September-24,-2014)","page":"Release notes","title":"Version 0.5.8 (September 24, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug with specifying solvers (affects Julia 0.2 only)","category":"page"},{"location":"release_notes/#[Version-0.5.7](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.7)-(September-5,-2014)","page":"Release notes","title":"Version 0.5.7 (September 5, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in printing models","category":"page"},{"location":"release_notes/#[Version-0.5.6](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.6)-(September-2,-2014)","page":"Release notes","title":"Version 0.5.6 (September 2, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Add support for semicontinuous and semi-integer variables for those solvers that support them.\nBreaking change: Syntax for Variable() constructor has changed (use of this interface remains discouraged)\nUpdate for breaking changes in MathProgBase","category":"page"},{"location":"release_notes/#[Version-0.5.5](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.5)-(July-6,-2014)","page":"Release notes","title":"Version 0.5.5 (July 6, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix bug with problem modification: adding variables that did not appear in existing constraints or objective.","category":"page"},{"location":"release_notes/#[Version-0.5.4](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.4)-(June-19,-2014)","page":"Release notes","title":"Version 0.5.4 (June 19, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Update for breaking change in MathProgBase which reduces loading times for using JuMP\nFix error when MIPs not solved to optimality","category":"page"},{"location":"release_notes/#[Version-0.5.3](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.3)-(May-21,-2014)","page":"Release notes","title":"Version 0.5.3 (May 21, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Update for breaking change in ReverseDiffSparse","category":"page"},{"location":"release_notes/#[Version-0.5.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.2)-(May-9,-2014)","page":"Release notes","title":"Version 0.5.2 (May 9, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix compatibility with Julia 0.3 prerelease","category":"page"},{"location":"release_notes/#[Version-0.5.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.1)-(May-5,-2014)","page":"Release notes","title":"Version 0.5.1 (May 5, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix a bug in coefficient handling inside lazy constraints and user cuts","category":"page"},{"location":"release_notes/#[Version-0.5.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.5.0)-(May-2,-2014)","page":"Release notes","title":"Version 0.5.0 (May 2, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support for nonlinear optimization with exact, sparse second-order derivatives automatically computed. Ipopt is currently the only solver supported.\ngetValue for AffExpr and QuadExpr\nBreaking change: getSolverModel replaced by getInternalModel, which returns the internal MathProgBase-level model\nGroups of constraints can be specified with @addConstraint (see documentation for details). This is not a breaking change.\ndot(::JuMPDict{Variable},::JuMPDict{Variable}) now returns the corresponding quadratic expression.","category":"page"},{"location":"release_notes/#[Version-0.4.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.4.1)-(March-24,-2014)","page":"Release notes","title":"Version 0.4.1 (March 24, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Fix bug where change in objective sense was ignored when re-solving a model.\nFix issue with handling zero coefficients in AffExpr.","category":"page"},{"location":"release_notes/#[Version-0.4.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.4.0)-(March-10,-2014)","page":"Release notes","title":"Version 0.4.0 (March 10, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Support for SOS1 and SOS2 constraints.\nSolver-independent callback for user heuristics.\ndot and sum implemented for JuMPDict objects. Now you can say @addConstraint(m, dot(a,x) <= b).\nDevelopers: support for extensions to JuMP. See definition of Model in src/JuMP.jl for more details.\nOption to construct the low-level model before optimizing.","category":"page"},{"location":"release_notes/#[Version-0.3.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.3.2)-(February-17,-2014)","page":"Release notes","title":"Version 0.3.2 (February 17, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Improved model printing\nPreliminary support for IJulia output","category":"page"},{"location":"release_notes/#[Version-0.3.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.3.1)-(January-30,-2014)","page":"Release notes","title":"Version 0.3.1 (January 30, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Documentation updates\nSupport for MOSEK\nCPLEXLink renamed to CPLEX","category":"page"},{"location":"release_notes/#[Version-0.3.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.3.0)-(January-21,-2014)","page":"Release notes","title":"Version 0.3.0 (January 21, 2014)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Unbounded/infeasibility rays: getValue() will return the corresponding components of an unbounded ray when a model is unbounded, if supported by the selected solver. getDual() will return an infeasibility ray (Farkas proof) if a model is infeasible and the selected solver supports this feature.\nSolver-independent callbacks for user generated cuts.\nUse new interface for solver-independent QCQP.\nsetlazycallback renamed to setLazyCallback for consistency.","category":"page"},{"location":"release_notes/#[Version-0.2.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.2.0)-(December-15,-2013)","page":"Release notes","title":"Version 0.2.0 (December 15, 2013)","text":"","category":"section"},{"location":"release_notes/#Breaking-8","page":"Release notes","title":"Breaking","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Objective sense is specified in setObjective instead of in the Model constructor.\nlpsolver and mipsolver merged into single solver option.","category":"page"},{"location":"release_notes/#Added-38","page":"Release notes","title":"Added","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Problem modification with efficient LP restarts and MIP warm-starts.\nRelatedly, column-wise modeling now supported.\nSolver-independent callbacks supported. Currently we support only a \"lazy constraint\" callback, which works with Gurobi, CPLEX, and GLPK. More callbacks coming soon.","category":"page"},{"location":"release_notes/#[Version-0.1.2](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.1.2)-(November-16,-2013)","page":"Release notes","title":"Version 0.1.2 (November 16, 2013)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Bug fixes for printing, improved error messages.\nAllow AffExpr to be used in macros; for example, ex = y + z; @addConstraint(m, x + 2*ex <= 3)","category":"page"},{"location":"release_notes/#[Version-0.1.1](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.1.1)-(October-23,-2013)","page":"Release notes","title":"Version 0.1.1 (October 23, 2013)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Update for solver specification API changes in MathProgBase.","category":"page"},{"location":"release_notes/#[Version-0.1.0](https://github.com/jump-dev/JuMP.jl/releases/tag/v0.1.0)-(October-3,-2013)","page":"Release notes","title":"Version 0.1.0 (October 3, 2013)","text":"","category":"section"},{"location":"release_notes/","page":"Release notes","title":"Release notes","text":"Initial public release.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"CurrentModule = JuMP\nDocTestSetup = quote\n using JuMP\n import HiGHS\nend\nDocTestFilters = [r\"≤|<=\", r\"≥|>=\", r\" == | = \", r\" ∈ | in \", r\"MathOptInterface|MOI\"]","category":"page"},{"location":"manual/constraints/#jump_constraints","page":"Constraints","title":"Constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP is based on the MathOptInterface (MOI) API. Because of this, JuMP uses the following standard form to represent problems:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"beginalign\n min_x in mathbbR^n f_0(x)\n \n textst f_i(x) in mathcalS_i i = 1 ldots m\nendalign","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Each constraint, f_i(x) in mathcalS_i, is composed of a function and a set. For example, instead of calling a^top x le b a less-than-or-equal-to constraint, we say that it is a scalar-affine-in-less-than constraint, where the function a^top x belongs to the less-than set (-infty b. We use the shorthand function-in-set to refer to constraints composed of different types of functions and sets.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"This page explains how to write various types of constraints in JuMP. For nonlinear constraints, see Nonlinear Modeling instead.","category":"page"},{"location":"manual/constraints/#Add-a-constraint","page":"Constraints","title":"Add a constraint","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Add a constraint to a JuMP model using the @constraint macro. The syntax to use depends on the type of constraint you wish to add.","category":"page"},{"location":"manual/constraints/#Add-a-linear-constraint","page":"Constraints","title":"Add a linear constraint","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Create linear constraints using the @constraint macro:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> @constraint(model, c1, sum(x) <= 1)\nc1 : x[1] + x[2] + x[3] ≤ 1\n\njulia> @constraint(model, c2, x[1] + 2 * x[3] >= 2)\nc2 : x[1] + 2 x[3] ≥ 2\n\njulia> @constraint(model, c3, sum(i * x[i] for i in 1:3) == 3)\nc3 : x[1] + 2 x[2] + 3 x[3] = 3\n\njulia> @constraint(model, c4, 4 <= 2 * x[2] <= 5)\nc4 : 2 x[2] ∈ [4, 5]","category":"page"},{"location":"manual/constraints/#Normalization","page":"Constraints","title":"Normalization","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP normalizes constraints by moving all of the terms containing variables to the left-hand side and all of the constant terms to the right-hand side. Thus, we get:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, c, 2x + 1 <= 4x + 4)\nc : -2 x ≤ 3","category":"page"},{"location":"manual/constraints/#quad_constraints","page":"Constraints","title":"Add a quadratic constraint","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In addition to affine functions, JuMP also supports constraints with quadratic terms. For example:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[i=1:2])\n2-element Vector{VariableRef}:\n x[1]\n x[2]\n\njulia> @variable(model, t >= 0)\nt\n\njulia> @constraint(model, my_q, x[1]^2 + x[2]^2 <= t^2)\nmy_q : x[1]² + x[2]² - t² ≤ 0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"tip: Tip\nBecause solvers can take advantage of the knowledge that a constraint is quadratic, prefer adding quadratic constraints using @constraint, rather than @NLconstraint.","category":"page"},{"location":"manual/constraints/#Vectorized-constraints","page":"Constraints","title":"Vectorized constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"You can also add constraints to JuMP using vectorized linear algebra. For example:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[i=1:2])\n2-element Vector{VariableRef}:\n x[1]\n x[2]\n\njulia> A = [1 2; 3 4]\n2×2 Matrix{Int64}:\n 1 2\n 3 4\n\njulia> b = [5, 6]\n2-element Vector{Int64}:\n 5\n 6\n\njulia> @constraint(model, con_vector, A * x == b)\ncon_vector : [x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Zeros()\n\njulia> @constraint(model, con_scalar, A * x .== b)\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.EqualTo{Float64}}, ScalarShape}}:\n con_scalar : x[1] + 2 x[2] = 5\n con_scalar : 3 x[1] + 4 x[2] = 6","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The two constraints, == and .== are similar, but subtly different. The first creates a single constraint that is a MOI.VectorAffineFunction in MOI.Zeros constraint. The second creates a vector of MOI.ScalarAffineFunction in MOI.EqualTo constraints.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Which formulation to choose depends on the solver, and what you want to do with the constraint object con_vector or con_scalar.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If you are using a conic solver, expect the dual of con_vector to be a Vector{Float64}, and do not intend to delete a row in the constraint, choose the == formulation.\nIf you are using a solver that expects a list of scalar constraints, for example HiGHS, or you wish to delete part of the constraint or access a single row of the constraint, for example, dual(con_scalar[2]), then use the broadcast .==.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP reformulates both constraints into the other form if needed by the solver, but choosing the right format for a particular solver is more efficient.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"You can also use <=, .<= , >=, and .>= as comparison operators in the constraint.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, A * x <= b)\n[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonpositives()\n\njulia> @constraint(model, A * x .<= b)\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n x[1] + 2 x[2] ≤ 5\n 3 x[1] + 4 x[2] ≤ 6\n\njulia> @constraint(model, A * x >= b)\n[x[1] + 2 x[2] - 5, 3 x[1] + 4 x[2] - 6] ∈ Nonnegatives()\n\njulia> @constraint(model, A * x .>= b)\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.GreaterThan{Float64}}, ScalarShape}}:\n x[1] + 2 x[2] ≥ 5\n 3 x[1] + 4 x[2] ≥ 6","category":"page"},{"location":"manual/constraints/#Matrix-inequalities","page":"Constraints","title":"Matrix inequalities","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Inequalities between matrices are not supported, due to the common ambiguity between elementwise inequalities and a PSDCone constraint.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2, 1:2], Symmetric);\n\njulia> @variable(model, y[1:2, 1:2], Symmetric);\n\njulia> @constraint(model, x >= y)\nERROR: At none:1: `@constraint(model, x >= y)`:\nThe syntax `x >= y` is ambiguous for matrices because we cannot tell if\nyou intend a positive semidefinite constraint or an elementwise\ninequality.\n\nTo create a positive semidefinite constraint, pass `PSDCone()` or\n`HermitianPSDCone()`:\n\n```julia\n@constraint(model, x >= y, PSDCone())\n```\n\nTo create an element-wise inequality, pass `Nonnegatives()`, or use\nbroadcasting:\n\n```julia\n@constraint(model, x >= y, Nonnegatives())\n# or\n@constraint(model, x .>= y)\n```\nStacktrace:\n[...]","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Instead, use the Set inequality syntax to specify a set like PSDCone or Nonnegatives:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x >= y, PSDCone())\n[x[1,1] - y[1,1] x[1,2] - y[1,2]\n ⋯ x[2,2] - y[2,2]] ∈ PSDCone()\n\njulia> @constraint(model, x >= y, Nonnegatives())\n[x[1,1] - y[1,1] x[1,2] - y[1,2]\n ⋯ x[2,2] - y[2,2]] ∈ Nonnegatives()\n\njulia> @constraint(model, x >= y, Nonpositives())\n[x[1,1] - y[1,1] x[1,2] - y[1,2]\n ⋯ x[2,2] - y[2,2]] ∈ Nonpositives()\n\njulia> @constraint(model, x >= y, Zeros())\n[x[1,1] - y[1,1] x[1,2] - y[1,2]\n ⋯ x[2,2] - y[2,2]] ∈ Zeros()","category":"page"},{"location":"manual/constraints/#Special-cases","page":"Constraints","title":"Special cases","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"There are two exceptions: if the result of the left-hand side minus the right-hand side is a LinearAlgebra.Symmetric matrix or a LinearAlgebra.Hermitian matrix, you may use the non-broadcasting equality syntax:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> using LinearAlgebra\n\njulia> model = Model();\n\njulia> @variable(model, X[1:2, 1:2], Symmetric)\n2×2 Symmetric{VariableRef, Matrix{VariableRef}}:\n X[1,1] X[1,2]\n X[1,2] X[2,2]\n\njulia> @constraint(model, X == LinearAlgebra.I)\n[X[1,1] - 1 X[1,2]\n ⋯ X[2,2] - 1] ∈ Zeros()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"This will add only three rows to the constraint matrix because the symmetric constraints are redundant. In contrast, the broadcasting syntax adds four linear constraints:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, X .== LinearAlgebra.I)\n2×2 Matrix{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.EqualTo{Float64}}, ScalarShape}}:\n X[1,1] = 1 X[1,2] = 0\n X[1,2] = 0 X[2,2] = 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The same holds for LinearAlgebra.Hermitian matrices:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> using LinearAlgebra\n\njulia> model = Model();\n\njulia> @variable(model, X[1:2, 1:2] in HermitianPSDCone())\n2×2 Hermitian{GenericAffExpr{ComplexF64, VariableRef}, Matrix{GenericAffExpr{ComplexF64, VariableRef}}}:\n real(X[1,1]) real(X[1,2]) + imag(X[1,2]) im\n real(X[1,2]) - imag(X[1,2]) im real(X[2,2])\n\njulia> @constraint(model, X == LinearAlgebra.I)\n[real(X[1,1]) - 1 real(X[1,2]) + imag(X[1,2]) im\n real(X[1,2]) - imag(X[1,2]) im real(X[2,2]) - 1] ∈ Zeros()\n\njulia> @constraint(model, X .== LinearAlgebra.I)\n2×2 Matrix{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{ComplexF64}, MathOptInterface.EqualTo{ComplexF64}}, ScalarShape}}:\n real(X[1,1]) = 1 real(X[1,2]) + imag(X[1,2]) im = 0\n real(X[1,2]) - imag(X[1,2]) im = 0 real(X[2,2]) = 1","category":"page"},{"location":"manual/constraints/#Containers-of-constraints","page":"Constraints","title":"Containers of constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The @constraint macro supports creating collections of constraints. We'll cover some brief syntax here; read the Constraint containers section for more details:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Create arrays of constraints:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> @constraint(model, c[i=1:3], x[i] <= i^2)\n3-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n c[1] : x[1] ≤ 1\n c[2] : x[2] ≤ 4\n c[3] : x[3] ≤ 9\n\njulia> c[2]\nc[2] : x[2] ≤ 4","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Sets can be any Julia type that supports iteration:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> @constraint(model, c[i=2:3, [\"red\", \"blue\"]], x[i] <= i^2)\n2-dimensional DenseAxisArray{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape},2,...} with index sets:\n Dimension 1, 2:3\n Dimension 2, [\"red\", \"blue\"]\nAnd data, a 2×2 Matrix{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n c[2,red] : x[2] ≤ 4 c[2,blue] : x[2] ≤ 4\n c[3,red] : x[3] ≤ 9 c[3,blue] : x[3] ≤ 9\n\njulia> c[2, \"red\"]\nc[2,red] : x[2] ≤ 4","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Sets can depend upon previous indices:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> @constraint(model, c[i=1:3, j=i:3], x[i] <= j)\nJuMP.Containers.SparseAxisArray{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}, 2, Tuple{Int64, Int64}} with 6 entries:\n [1, 1] = c[1,1] : x[1] ≤ 1\n [1, 2] = c[1,2] : x[1] ≤ 2\n [1, 3] = c[1,3] : x[1] ≤ 3\n [2, 2] = c[2,2] : x[2] ≤ 2\n [2, 3] = c[2,3] : x[2] ≤ 3\n [3, 3] = c[3,3] : x[3] ≤ 3","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"and you can filter elements in the sets using the ; syntax:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:9]);\n\njulia> @constraint(model, c[i=1:9; mod(i, 3) == 0], x[i] <= i)\nJuMP.Containers.SparseAxisArray{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}, 1, Tuple{Int64}} with 3 entries:\n [3] = c[3] : x[3] ≤ 3\n [6] = c[6] : x[6] ≤ 6\n [9] = c[9] : x[9] ≤ 9","category":"page"},{"location":"manual/constraints/#Registered-constraints","page":"Constraints","title":"Registered constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"When you create constraints, JuMP registers them inside the model using their corresponding symbol. Get a registered name using model[:key]:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model()\nA JuMP Model\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, my_c, 2x <= 1)\nmy_c : 2 x ≤ 1\n\njulia> model\nA JuMP Model\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 1\n├ num_constraints: 1\n│ └ AffExpr in MOI.LessThan{Float64}: 1\n└ Names registered in the model\n └ :my_c, :x\n\njulia> model[:my_c] === my_c\ntrue","category":"page"},{"location":"manual/constraints/#Anonymous-constraints","page":"Constraints","title":"Anonymous constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To reduce the likelihood of accidental bugs, and because JuMP registers constraints inside a model, creating two constraints with the same name is an error:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, c, 2x <= 1)\nc : 2 x ≤ 1\n\njulia> @constraint(model, c, 2x <= 1)\nERROR: An object of name c is already attached to this model. If this\n is intended, consider using the anonymous construction syntax, for example,\n `x = @variable(model, [1:N], ...)` where the name of the object does\n not appear inside the macro.\n\n Alternatively, use `unregister(model, :c)` to first unregister\n the existing name from the model. Note that this will not delete the\n object; it will just remove the reference at `model[:c]`.\n[...]","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"A common reason for encountering this error is adding constraints in a loop.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"As a work-around, JuMP provides anonymous constraints. Create an anonymous constraint by omitting the name argument:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> c = @constraint(model, 2x <= 1)\n2 x ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Create a container of anonymous constraints by dropping the name in front of the [:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> c = @constraint(model, [i = 1:3], x[i] <= i)\n3-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n x[1] ≤ 1\n x[2] ≤ 2\n x[3] ≤ 3","category":"page"},{"location":"manual/constraints/#Constraint-names","page":"Constraints","title":"Constraint names","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In addition to the symbol that constraints are registered with, constraints have a String name that is used for printing and writing to file formats.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Get and set the name of a constraint using name(::JuMP.ConstraintRef) and set_name(::JuMP.ConstraintRef, ::String):","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(); @variable(model, x);\n\njulia> @constraint(model, con, x <= 1)\ncon : x ≤ 1\n\njulia> name(con)\n\"con\"\n\njulia> set_name(con, \"my_con_name\")\n\njulia> con\nmy_con_name : x ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Override the default choice of name using the base_name keyword:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(); @variable(model, x);\n\njulia> con = @constraint(model, [i=1:2], x <= i, base_name = \"my_con\")\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n my_con[1] : x ≤ 1\n my_con[2] : x ≤ 2","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Note that names apply to each element of the container, not to the container of constraints:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> name(con[1])\n\"my_con[1]\"\n\njulia> set_name(con[1], \"c\")\n\njulia> con\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n c : x ≤ 1\n my_con[2] : x ≤ 2","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"tip: Tip\nFor some models, setting the string name of each constraint can take a non-trivial portion of the total time required to build the model. Turn off String names by passing set_string_name = false to @constraint:julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con, x <= 2, set_string_name = false)\nx ≤ 2See Disable string names for more information.","category":"page"},{"location":"manual/constraints/#Retrieve-a-constraint-by-name","page":"Constraints","title":"Retrieve a constraint by name","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Retrieve a constraint from a model using constraint_by_name:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> constraint_by_name(model, \"c\")\nc : x ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If the name is not present, nothing will be returned:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> constraint_by_name(model, \"bad_name\")","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"You can only look up individual constraints using constraint_by_name. Something like this will not work:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(); @variable(model, x);\n\njulia> con = @constraint(model, [i=1:2], x <= i, base_name = \"my_con\")\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n my_con[1] : x ≤ 1\n my_con[2] : x ≤ 2\n\njulia> constraint_by_name(model, \"my_con\")","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To look up a collection of constraints, do not use constraint_by_name. Instead, register them using the model[:key] = value syntax:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(); @variable(model, x);\n\njulia> model[:con] = @constraint(model, [i=1:2], x <= i, base_name = \"my_con\")\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n my_con[1] : x ≤ 1\n my_con[2] : x ≤ 2\n\njulia> model[:con]\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n my_con[1] : x ≤ 1\n my_con[2] : x ≤ 2","category":"page"},{"location":"manual/constraints/#String-names,-symbolic-names,-and-bindings","page":"Constraints","title":"String names, symbolic names, and bindings","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"It's common for new users to experience confusion relating to constraints. Part of the problem is the difference between the name that a constraint is registered under and the String name used for printing.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Here's a summary of the differences:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Constraints are created using @constraint.\nConstraints can be named or anonymous.\nNamed constraints have the form @constraint(model, c, expr). For named constraints:\nThe String name of the constraint is set to \"c\".\nA Julia variable c is created that binds c to the JuMP constraint.\nThe name :c is registered as a key in the model with the value c.\nAnonymous constraints have the form c = @constraint(model, expr). For anonymous constraints:\nThe String name of the constraint is set to \"\".\nYou control the name of the Julia variable used as the binding.\nNo name is registered as a key in the model.\nThe base_name keyword can override the String name of the constraint.\nYou can manually register names in the model via model[:key] = value.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Here's an example of the differences:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> c_binding = @constraint(model, 2x <= 1, base_name = \"c\")\nc : 2 x ≤ 1\n\njulia> model\nA JuMP Model\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 1\n├ num_constraints: 1\n│ └ AffExpr in MOI.LessThan{Float64}: 1\n└ Names registered in the model\n └ :x\n\njulia> c\nERROR: UndefVarError: `c` not defined\n\njulia> c_binding\nc : 2 x ≤ 1\n\njulia> name(c_binding)\n\"c\"\n\njulia> model[:c_register] = c_binding\nc : 2 x ≤ 1\n\njulia> model\nA JuMP Model\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 1\n├ num_constraints: 1\n│ └ AffExpr in MOI.LessThan{Float64}: 1\n└ Names registered in the model\n └ :c_register, :x\n\njulia> model[:c_register]\nc : 2 x ≤ 1\n\njulia> model[:c_register] === c_binding\ntrue\n\njulia> c\nERROR: UndefVarError: `c` not defined","category":"page"},{"location":"manual/constraints/#The-@constraints-macro","page":"Constraints","title":"The @constraints macro","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If you have many @constraint calls, use the @constraints macro to improve readability:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraints(model, begin\n 2x <= 1\n c, x >= -1\n end)\n(2 x ≤ 1, c : x ≥ -1)\n\njulia> print(model)\nFeasibility\nSubject to\n c : x ≥ -1\n 2 x ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The @constraints macro returns a tuple of the constraints that were defined.","category":"page"},{"location":"manual/constraints/#constraint_duality","page":"Constraints","title":"Duality","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP adopts the notion of conic duality from MathOptInterface. For linear programs, a feasible dual on a >= constraint is nonnegative and a feasible dual on a <= constraint is nonpositive. If the constraint is an equality constraint, it depends on which direction is binding.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nJuMP's definition of duality is independent of the objective sense. That is, the sign of feasible duals associated with a constraint depends on the direction of the constraint and not whether the problem is maximization or minimization. This is a different convention from linear programming duality in some common textbooks. If you have a linear program, and you want the textbook definition, you probably want to use shadow_price and reduced_cost instead.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The dual value associated with a constraint in the most recent solution can be accessed using the dual function. Use has_duals to check if the model has a dual solution available to query. For example:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> set_silent(model)\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, con, x <= 1)\ncon : x ≤ 1\n\njulia> @objective(model, Min, -2x)\n-2 x\n\njulia> has_duals(model)\nfalse\n\njulia> optimize!(model)\n\njulia> has_duals(model)\ntrue\n\njulia> dual(con)\n-2.0\n\njulia> @objective(model, Max, 2x)\n2 x\n\njulia> optimize!(model)\n\njulia> dual(con)\n-2.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To help users who may be less familiar with conic duality, JuMP provides shadow_price, which returns a value that can be interpreted as the improvement in the objective in response to an infinitesimal relaxation (on the scale of one unit) in the right-hand side of the constraint. shadow_price can be used only on linear constraints with a <=, >=, or == comparison operator.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In the example above, dual(con) returned -2.0 regardless of the optimization sense. However, in the second case when the optimization sense is Max, shadow_price returns:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> shadow_price(con)\n2.0","category":"page"},{"location":"manual/constraints/#Duals-of-variable-bounds","page":"Constraints","title":"Duals of variable bounds","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To query the dual variables associated with a variable bound, first obtain a constraint reference using one of UpperBoundRef, LowerBoundRef, or FixRef, and then call dual on the returned constraint reference. The reduced_cost function may simplify this process as it returns the shadow price of an active bound of a variable (or zero, if no active bound exists).","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> set_silent(model)\n\njulia> @variable(model, x <= 1)\nx\n\njulia> @objective(model, Min, -2x)\n-2 x\n\njulia> optimize!(model)\n\njulia> dual(UpperBoundRef(x))\n-2.0\n\njulia> reduced_cost(x)\n-2.0","category":"page"},{"location":"manual/constraints/#Modify-a-constant-term","page":"Constraints","title":"Modify a constant term","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"This section explains how to modify the constant term in a constraint. There are multiple ways to achieve this goal; we explain three options.","category":"page"},{"location":"manual/constraints/#Option-1:-change-the-right-hand-side","page":"Constraints","title":"Option 1: change the right-hand side","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Use set_normalized_rhs to modify the right-hand side (constant) term of a linear or quadratic constraint. Use normalized_rhs to query the right-hand side term.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con, 2x <= 1)\ncon : 2 x ≤ 1\n\njulia> set_normalized_rhs(con, 3)\n\njulia> con\ncon : 2 x ≤ 3\n\njulia> normalized_rhs(con)\n3.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nset_normalized_rhs sets the right-hand side term of the normalized constraint. See Normalization for more details.","category":"page"},{"location":"manual/constraints/#Option-2:-use-fixed-variables","page":"Constraints","title":"Option 2: use fixed variables","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If constraints are complicated, for example, they are composed of a number of components, each of which has a constant term, then it may be difficult to calculate what the right-hand side term is in the standard form.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For this situation, JuMP includes the ability to fix variables to a value using the fix function. Fixing a variable sets its lower and upper bound to the same value. Thus, changes in a constant term can be simulated by adding a new variable and fixing it to different values. Here is an example:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @variable(model, const_term)\nconst_term\n\njulia> @constraint(model, con, 2x <= const_term + 1)\ncon : 2 x - const_term ≤ 1\n\njulia> fix(const_term, 1.0)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The constraint con is now equivalent to 2x <= 2.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nFixed variables are not replaced with constants when communicating the problem to a solver. Therefore, even though const_term is fixed, it is still a decision variable, and so const_term * x is bilinear.","category":"page"},{"location":"manual/constraints/#Option-3:-modify-the-function's-constant-term","page":"Constraints","title":"Option 3: modify the function's constant term","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The third option is to use add_to_function_constant. The constant given is added to the function of a func-in-set constraint. In the following example, adding 2 to the function has the effect of removing 2 to the right-hand side:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con, 2x <= 1)\ncon : 2 x ≤ 1\n\njulia> add_to_function_constant(con, 2)\n\njulia> con\ncon : 2 x ≤ -1\n\njulia> normalized_rhs(con)\n-1.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In the case of interval constraints, the constant is removed from each bound:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con, 0 <= 2x + 1 <= 2)\ncon : 2 x ∈ [-1, 1]\n\njulia> add_to_function_constant(con, 3)\n\njulia> con\ncon : 2 x ∈ [-4, -2]","category":"page"},{"location":"manual/constraints/#Modify-a-variable-coefficient","page":"Constraints","title":"Modify a variable coefficient","text":"","category":"section"},{"location":"manual/constraints/#Scalar-constraints","page":"Constraints","title":"Scalar constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To modify the coefficients for a linear term in a constraint, use set_normalized_coefficient. To query the current coefficient, use normalized_coefficient.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @constraint(model, con, 2x[1] + x[2] <= 1)\ncon : 2 x[1] + x[2] ≤ 1\n\njulia> set_normalized_coefficient(con, x[2], 0)\n\njulia> con\ncon : 2 x[1] ≤ 1\n\njulia> normalized_coefficient(con, x[2])\n0.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To modify quadratic terms, pass two variables:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @constraint(model, con, x[1]^2 + x[1] * x[2] <= 1)\ncon : x[1]² + x[1]*x[2] ≤ 1\n\njulia> set_normalized_coefficient(con, x[1], x[1], 2)\n\njulia> set_normalized_coefficient(con, x[1], x[2], 3)\n\njulia> con\ncon : 2 x[1]² + 3 x[1]*x[2] ≤ 1\n\njulia> normalized_coefficient(con, x[1], x[1])\n2.0\n\njulia> normalized_coefficient(con, x[1], x[2])\n3.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nset_normalized_coefficient sets the coefficient of the normalized constraint. See Normalization for more details.","category":"page"},{"location":"manual/constraints/#Vector-constraints","page":"Constraints","title":"Vector constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To modify the coefficients of a vector-valued constraint, use set_normalized_coefficient.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, con, [2x + 3x, 4x] in MOI.Nonnegatives(2))\ncon : [5 x, 4 x] ∈ MathOptInterface.Nonnegatives(2)\n\njulia> set_normalized_coefficient(con, x, [(1, 3.0)])\n\njulia> con\ncon : [3 x, 4 x] ∈ MathOptInterface.Nonnegatives(2)\n\njulia> set_normalized_coefficient(con, x, [(1, 2.0), (2, 5.0)])\n\njulia> con\ncon : [2 x, 5 x] ∈ MathOptInterface.Nonnegatives(2)","category":"page"},{"location":"manual/constraints/#Delete-a-constraint","page":"Constraints","title":"Delete a constraint","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Use delete to delete a constraint from a model. Use is_valid to check if a constraint belongs to a model and has not been deleted.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con, 2x <= 1)\ncon : 2 x ≤ 1\n\njulia> is_valid(model, con)\ntrue\n\njulia> delete(model, con)\n\njulia> is_valid(model, con)\nfalse","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Deleting a constraint does not unregister the symbolic reference from the model. Therefore, creating a new constraint of the same name will throw an error:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, con, 2x <= 1)\nERROR: An object of name con is already attached to this model. If this\n is intended, consider using the anonymous construction syntax, for example,\n `x = @variable(model, [1:N], ...)` where the name of the object does\n not appear inside the macro.\n\n Alternatively, use `unregister(model, :con)` to first unregister\n the existing name from the model. Note that this will not delete the\n object; it will just remove the reference at `model[:con]`.\n[...]","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"After calling delete, call unregister to remove the symbolic reference:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> unregister(model, :con)\n\njulia> @constraint(model, con, 2x <= 1)\ncon : 2 x ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"info: Info\ndelete does not automatically unregister because we do not distinguish between names that are automatically registered by JuMP macros, and names that are manually registered by the user by setting values in object_dictionary. In addition, deleting a constraint and then adding a new constraint of the same name is an easy way to introduce bugs into your code.","category":"page"},{"location":"manual/constraints/#Start-values","page":"Constraints","title":"Start values","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Provide a starting value (also called warmstart) for a constraint's primal and dual solutions using set_start_value and set_dual_start_value.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Query the starting value for a constraint's primal and dual solution using start_value and dual_start_value. If no start value has been set, the methods will return nothing.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, con, x >= 10)\ncon : x ≥ 10\n\njulia> start_value(con)\n\njulia> set_start_value(con, 10.0)\n\njulia> start_value(con)\n10.0\n\njulia> dual_start_value(con)\n\njulia> set_dual_start_value(con, 2)\n\njulia> dual_start_value(con)\n2.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Vector-valued constraints require a vector:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3])\n3-element Vector{VariableRef}:\n x[1]\n x[2]\n x[3]\n\njulia> @constraint(model, con, x in SecondOrderCone())\ncon : [x[1], x[2], x[3]] in MathOptInterface.SecondOrderCone(3)\n\njulia> dual_start_value(con)\n\njulia> set_dual_start_value(con, [1.0, 2.0, 3.0])\n\njulia> dual_start_value(con)\n3-element Vector{Float64}:\n 1.0\n 2.0\n 3.0","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"tip: Tip\nTo simplify setting start values for all variables and constraints in a model, see set_start_values. The Primal and dual warm-starts tutorial also gives a detailed description of how to iterate over constraints in the model to set custom start values.","category":"page"},{"location":"manual/constraints/#Constraint-containers","page":"Constraints","title":"Constraint containers","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Like Variable containers, JuMP provides a mechanism for building groups of constraints compactly. References to these groups of constraints are returned in containers. Three types of constraint containers are supported: Arrays, DenseAxisArrays, and SparseAxisArrays. We explain each of these in the following.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"tip: Tip\nYou can read more about containers in the Containers section.","category":"page"},{"location":"manual/constraints/#constraint_arrays","page":"Constraints","title":"Arrays","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"One way of adding a group of constraints compactly is the following:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con[i = 1:3], i * x <= i + 1)\n3-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n con[1] : x ≤ 2\n con[2] : 2 x ≤ 3\n con[3] : 3 x ≤ 4","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP returns references to the three constraints in an Array that is bound to the Julia variable con. This array can be accessed and sliced as you would with any Julia array:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> con[1]\ncon[1] : x ≤ 2\n\njulia> con[2:3]\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n con[2] : 2 x ≤ 3\n con[3] : 3 x ≤ 4","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Anonymous containers can also be constructed by dropping the name (for example, con) before the square brackets:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> con = @constraint(model, [i = 1:2], i * x <= i + 1)\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n x ≤ 2\n 2 x ≤ 3","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Just like @variable, JuMP will form an Array of constraints when it can determine at parse time that the indices are one-based integer ranges. Therefore con[1:b] will create an Array, but con[a:b] will not. A special case is con[Base.OneTo(n)] which will produce an Array. If JuMP cannot determine that the indices are one-based integer ranges (for example, in the case of con[a:b]), JuMP will create a DenseAxisArray instead.","category":"page"},{"location":"manual/constraints/#DenseAxisArrays","page":"Constraints","title":"DenseAxisArrays","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The syntax for constructing a DenseAxisArray of constraints is very similar to the syntax for constructing a DenseAxisArray of variables.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con[i = 1:2, j = 2:3], i * x <= j + 1)\n2-dimensional DenseAxisArray{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape},2,...} with index sets:\n Dimension 1, Base.OneTo(2)\n Dimension 2, 2:3\nAnd data, a 2×2 Matrix{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}}:\n con[1,2] : x ≤ 3 con[1,3] : x ≤ 4\n con[2,2] : 2 x ≤ 3 con[2,3] : 2 x ≤ 4","category":"page"},{"location":"manual/constraints/#SparseAxisArrays","page":"Constraints","title":"SparseAxisArrays","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The syntax for constructing a SparseAxisArray of constraints is very similar to the syntax for constructing a SparseAxisArray of variables.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x);\n\njulia> @constraint(model, con[i = 1:2, j = 1:2; i != j], i * x <= j + 1)\nJuMP.Containers.SparseAxisArray{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.ScalarAffineFunction{Float64}, MathOptInterface.LessThan{Float64}}, ScalarShape}, 2, Tuple{Int64, Int64}} with 2 entries:\n [1, 2] = con[1,2] : x ≤ 3\n [2, 1] = con[2,1] : 2 x ≤ 2","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nIf you have many index dimensions and a large amount of sparsity, read Performance considerations.","category":"page"},{"location":"manual/constraints/#Forcing-the-container-type","page":"Constraints","title":"Forcing the container type","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"When creating a container of constraints, JuMP will attempt to choose the tightest container type that can store the constraints. However, because this happens at parse time, it does not always make the best choice. Just like in @variable, you can force the type of container using the container keyword. For syntax and the reason behind this, take a look at the variable docs.","category":"page"},{"location":"manual/constraints/#Constraints-with-similar-indices","page":"Constraints","title":"Constraints with similar indices","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Containers are often used to create constraints over a set of indices. However, you'll often have cases in which you are repeating the indices:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> @variable(model, y[1:2]);\n\njulia> @constraints(model, begin\n [i=1:2, j=1:2, k=1:2], i * x[j] <= k\n [i=1:2, j=1:2, k=1:2], i * y[j] <= k\n end);","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"This is hard to read and leads to a lot of copy-paste. A more readable way is to use a for-loop:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> for i=1:2, j=1:2, k=1:2\n @constraints(model, begin\n i * x[j] <= k\n i * y[j] <= k\n end)\n end","category":"page"},{"location":"manual/constraints/#Accessing-constraints-from-a-model","page":"Constraints","title":"Accessing constraints from a model","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Query the types of function-in-set constraints in a model using list_of_constraint_types:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[i=1:2] >= i, Int);\n\njulia> @constraint(model, x[1] + x[2] <= 1);\n\njulia> list_of_constraint_types(model)\n3-element Vector{Tuple{Type, Type}}:\n (AffExpr, MathOptInterface.LessThan{Float64})\n (VariableRef, MathOptInterface.GreaterThan{Float64})\n (VariableRef, MathOptInterface.Integer)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For a given combination of function and set type, use num_constraints to access the number of constraints and all_constraints to access a list of their references:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> num_constraints(model, VariableRef, MOI.Integer)\n2\n\njulia> cons = all_constraints(model, VariableRef, MOI.Integer)\n2-element Vector{ConstraintRef{Model, MathOptInterface.ConstraintIndex{MathOptInterface.VariableIndex, MathOptInterface.Integer}, ScalarShape}}:\n x[1] integer\n x[2] integer","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"You can also count the total number of constraints in the model, but you must explicitly choose whether to count VariableRef constraints such as bound and integrality constraints:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> num_constraints(model; count_variable_in_set_constraints = true)\n5\n\njulia> num_constraints(model; count_variable_in_set_constraints = false)\n1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The same also applies for all_constraints:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> all_constraints(model; include_variable_in_set_constraints = true)\n5-element Vector{ConstraintRef}:\n x[1] + x[2] ≤ 1\n x[1] ≥ 1\n x[2] ≥ 2\n x[1] integer\n x[2] integer\n\njulia> all_constraints(model; include_variable_in_set_constraints = false)\n1-element Vector{ConstraintRef}:\n x[1] + x[2] ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If you need finer-grained control on which constraints to include, use a variant of:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> sum(\n num_constraints(model, F, S) for\n (F, S) in list_of_constraint_types(model) if F != VariableRef\n )\n1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Use constraint_object to get an instance of an AbstractConstraint object that stores the constraint data:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> con = constraint_object(cons[1])\nScalarConstraint{VariableRef, MathOptInterface.Integer}(x[1], MathOptInterface.Integer())\n\njulia> con.func\nx[1]\n\njulia> con.set\nMathOptInterface.Integer()","category":"page"},{"location":"manual/constraints/#MathOptInterface-constraints","page":"Constraints","title":"MathOptInterface constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Because JuMP is based on MathOptInterface, you can add any constraints supported by MathOptInterface using the function-in-set syntax. For a list of supported functions and sets, read Standard form problem.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"note: Note\nWe use MOI as an alias for the MathOptInterface module. This alias is defined by using JuMP. You may also define it in your code as follows:import MathOptInterface as MOI","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For example, the following two constraints are equivalent:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3]);\n\njulia> @constraint(model, 2 * x[1] <= 1)\n2 x[1] ≤ 1\n\njulia> @constraint(model, 2 * x[1] in MOI.LessThan(1.0))\n2 x[1] ≤ 1","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"You can also use any set defined by MathOptInterface:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x - [1; 2; 3] in MOI.Nonnegatives(3))\n[x[1] - 1, x[2] - 2, x[3] - 3] ∈ MathOptInterface.Nonnegatives(3)\n\njulia> @constraint(model, x in MOI.ExponentialCone())\n[x[1], x[2], x[3]] ∈ MathOptInterface.ExponentialCone()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"info: Info\nSimilar to how JuMP defines the <= and >= syntax as a convenience way to specify MOI.LessThan and MOI.GreaterThan constraints, the remaining sections in this page describe functions and syntax that have been added for the convenience of common modeling situations.","category":"page"},{"location":"manual/constraints/#Set-inequality-syntax","page":"Constraints","title":"Set inequality syntax","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For modeling convenience, the syntax @constraint(model, x >= y, Set()) is short-hand for @constraint(model, x - y in Set()).","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Therefore, the following calls are equivalent:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> y = [0.5, 0.75];\n\njulia> @constraint(model, x >= y, MOI.Nonnegatives(2))\n[x[1] - 0.5, x[2] - 0.75] ∈ MathOptInterface.Nonnegatives(2)\n\njulia> @constraint(model, x - y in MOI.Nonnegatives(2))\n[x[1] - 0.5, x[2] - 0.75] ∈ MathOptInterface.Nonnegatives(2)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Non-zero constants are not supported in this syntax:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x >= 1, MOI.Nonnegatives(2))\nERROR: Operation `sub_mul` between `Vector{VariableRef}` and `Int64` is not allowed. This most often happens when you write a constraint like `x >= y` where `x` is an array and `y` is a constant. Use the broadcast syntax `x .- y >= 0` instead.\nStacktrace:\n[...]","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Use instead:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x .- 1 >= 0, MOI.Nonnegatives(2))\n[x[1] - 1, x[2] - 1] ∈ MathOptInterface.Nonnegatives(2)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nThe syntax @constraint(model, y <= x, Set()) is supported, but it is not recommended because the value of the primal and dual solutions associated with the constraint may be the negative of what you expect.","category":"page"},{"location":"manual/constraints/#Second-order-cone-constraints","page":"Constraints","title":"Second-order cone constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"A SecondOrderCone constrains the variables t and x to the set:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"x_2 le t","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"and t ge 0. It can be added as follows:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, t)\nt\n\njulia> @variable(model, x[1:2])\n2-element Vector{VariableRef}:\n x[1]\n x[2]\n\njulia> @constraint(model, [t; x] in SecondOrderCone())\n[t, x[1], x[2]] ∈ MathOptInterface.SecondOrderCone(3)","category":"page"},{"location":"manual/constraints/#Rotated-second-order-cone-constraints","page":"Constraints","title":"Rotated second-order cone constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"A RotatedSecondOrderCone constrains the variables t, u, and x to the set:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"x_2^2 le 2 t cdot u","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"and t u ge 0. It can be added as follows:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, t)\nt\n\njulia> @variable(model, u)\nu\n\njulia> @variable(model, x[1:2])\n2-element Vector{VariableRef}:\n x[1]\n x[2]\n\njulia> @constraint(model, [t; u; x] in RotatedSecondOrderCone())\n[t, u, x[1], x[2]] ∈ MathOptInterface.RotatedSecondOrderCone(4)","category":"page"},{"location":"manual/constraints/#Special-Ordered-Sets-of-Type-1","page":"Constraints","title":"Special Ordered Sets of Type 1","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In a Special Ordered Set of Type 1 (often denoted SOS-I or SOS1), at most one element can take a non-zero value.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Construct SOS-I constraints using the SOS1 set:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:3])\n3-element Vector{VariableRef}:\n x[1]\n x[2]\n x[3]\n\njulia> @constraint(model, x in SOS1())\n[x[1], x[2], x[3]] in MathOptInterface.SOS1{Float64}([1.0, 2.0, 3.0])","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Although not required for feasibility, solvers can benefit from an ordering of the variables (for example, the variables represent different factories to build, at most one factory can be built, and the factories can be ordered according to cost). To induce an ordering, a vector of weights can be provided, and the variables are ordered according to their corresponding weight.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For example, in the constraint:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x in SOS1([3.1, 1.2, 2.3]))\n[x[1], x[2], x[3]] in MathOptInterface.SOS1{Float64}([3.1, 1.2, 2.3])","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"the variables x have precedence x[2], x[3], x[1].","category":"page"},{"location":"manual/constraints/#Special-Ordered-Sets-of-Type-2","page":"Constraints","title":"Special Ordered Sets of Type 2","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In a Special Ordered Set of Type 2 (SOS-II), at most two elements can be non-zero, and if there are two non-zeros, they must be consecutive according to the ordering induced by a weight vector.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Construct SOS-II constraints using the SOS2 set:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x in SOS2([3.0, 1.0, 2.0]))\n[x[1], x[2], x[3]] in MathOptInterface.SOS2{Float64}([3.0, 1.0, 2.0])","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The possible non-zero pairs are (x[1], x[3]) and (x[2], x[3]):","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If the weight vector is omitted, JuMP induces an ordering from 1:length(x):","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, x in SOS2())\n[x[1], x[2], x[3]] in MathOptInterface.SOS2{Float64}([1.0, 2.0, 3.0])","category":"page"},{"location":"manual/constraints/#Indicator-constraints","page":"Constraints","title":"Indicator constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Indicator constraints consist of a binary variable and a linear constraint. The constraint holds when the binary variable takes the value 1. The constraint may or may not hold when the binary variable takes the value 0.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To enforce the constraint x + y <= 1 when the binary variable a is 1, use:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x)\nx\n\njulia> @variable(model, y)\ny\n\njulia> @variable(model, a, Bin)\na\n\njulia> @constraint(model, a --> {x + y <= 1})\na --> {x + y ≤ 1}","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"If the constraint must hold when a is zero, add ! or ¬ before the binary variable;","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, !a --> {x + y <= 1})\n!a --> {x + y ≤ 1}","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nYou cannot use an expression for the left-hand side of an indicator constraint.","category":"page"},{"location":"manual/constraints/#Semidefinite-constraints","page":"Constraints","title":"Semidefinite constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To constrain a matrix to be positive semidefinite (PSD), use PSDCone:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, X[1:2, 1:2])\n2×2 Matrix{VariableRef}:\n X[1,1] X[1,2]\n X[2,1] X[2,2]\n\njulia> @constraint(model, X >= 0, PSDCone())\n[X[1,1] X[1,2]\n X[2,1] X[2,2]] ∈ PSDCone()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"tip: Tip\nWhere possible, prefer constructing a matrix of Semidefinite variables using the @variable macro, rather than adding a constraint like @constraint(model, X >= 0, PSDCone()). In some solvers, adding the constraint via @constraint is less efficient, and can result in additional intermediate variables and constraints being added to the model.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The inequality X >= Y between two square matrices X and Y is understood as constraining X - Y to be positive semidefinite.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> Y = [1 2; 2 1]\n2×2 Matrix{Int64}:\n 1 2\n 2 1\n\njulia> @constraint(model, X >= Y, PSDCone())\n[X[1,1] - 1 X[1,2] - 2\n X[2,1] - 2 X[2,2] - 1] ∈ PSDCone()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"warning: Warning\nThe syntax @constraint(model, Y <= X, PSDCone()) is supported, but it is not recommended because the value of the primal and dual solutions associated with the constraint may be the negative of what you expect.","category":"page"},{"location":"manual/constraints/#Symmetry","page":"Constraints","title":"Symmetry","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Solvers supporting PSD constraints usually expect to be given a matrix that is symbolically symmetric, that is, for which the expression in corresponding off-diagonal entries are the same. In our example, the expressions of entries (1, 2) and (2, 1) are respectively X[1,2] - 2 and X[2,1] - 2 which are different.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"To bridge the gap between the constraint modeled and what the solver expects, solvers may add an equality constraint X[1,2] - 2 == X[2,1] - 2 to force symmetry. Use LinearAlgebra.Symmetric to explicitly tell the solver that the matrix is symmetric:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> import LinearAlgebra\n\njulia> Z = [X[1, 1] X[1, 2]; X[1, 2] X[2, 2]]\n2×2 Matrix{VariableRef}:\n X[1,1] X[1,2]\n X[1,2] X[2,2]\n\njulia> @constraint(model, LinearAlgebra.Symmetric(Z) >= 0, PSDCone())\n[X[1,1] X[1,2]\n ⋯ X[2,2]] ∈ PSDCone()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Note that the lower triangular entries are ignored even if they are different so use it with caution:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, LinearAlgebra.Symmetric(X) >= 0, PSDCone())\n[X[1,1] X[1,2]\n ⋯ X[2,2]] ∈ PSDCone()","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"(Note that no error is thrown, even though X is not symmetric.)","category":"page"},{"location":"manual/constraints/#Complementarity-constraints","page":"Constraints","title":"Complementarity constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"A mixed complementarity constraint F(x) ⟂ x consists of finding x in the interval [lb, ub], such that the following holds:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"F(x) == 0 if lb < x < ub\nF(x) >= 0 if lb == x\nF(x) <= 0 if x == ub","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"JuMP supports mixed complementarity constraints via complements(F(x), x) or F(x) ⟂ x in the @constraint macro. The interval set [lb, ub] is obtained from the variable bounds on x.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"For example, to define the problem 2x - 1 ⟂ x with x ∈ [0, ∞), do:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x >= 0)\nx\n\njulia> @constraint(model, 2x - 1 ⟂ x)\n[2 x - 1, x] ∈ MathOptInterface.Complements(2)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"This problem has a unique solution at x = 0.5.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"The perp operator ⟂ can be entered in most editors (and the Julia REPL) by typing \\perp.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"An alternative approach that does not require the ⟂ symbol uses the complements function as follows:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @constraint(model, complements(2x - 1, x))\n[2 x - 1, x] ∈ MathOptInterface.Complements(2)","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"In both cases, the mapping F(x) is supplied as the first argument, and the matching variable x is supplied as the second.","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Vector-valued complementarity constraints are also supported:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> @variable(model, -2 <= y[1:2] <= 2)\n2-element Vector{VariableRef}:\n y[1]\n y[2]\n\njulia> M = [1 2; 3 4]\n2×2 Matrix{Int64}:\n 1 2\n 3 4\n\njulia> q = [5, 6]\n2-element Vector{Int64}:\n 5\n 6\n\njulia> @constraint(model, M * y + q ⟂ y)\n[y[1] + 2 y[2] + 5, 3 y[1] + 4 y[2] + 6, y[1], y[2]] ∈ MathOptInterface.Complements(4)","category":"page"},{"location":"manual/constraints/#Boolean-constraints","page":"Constraints","title":"Boolean constraints","text":"","category":"section"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Add a Boolean constraint (a MOI.EqualTo{Bool} set) using the := operator with a Bool right-hand side term:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = GenericModel{Bool}();\n\njulia> @variable(model, x[1:2]);\n\njulia> @constraint(model, x[1] || x[2] := true)\nx[1] || x[2] = true\n\njulia> @constraint(model, x[1] && x[2] := false)\nx[1] && x[2] = false\n\njulia> model\nA JuMP Model\n├ value_type: Bool\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 2\n├ num_constraints: 2\n│ └ GenericNonlinearExpr{GenericVariableRef{Bool}} in MOI.EqualTo{Bool}: 2\n└ Names registered in the model\n └ :x","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"Boolean constraints should not be added using the == operator because JuMP will rewrite the constraint as lhs - rhs = 0, and because constraints like a == b == c require parentheses to disambiguate between (a == b) == c and a == (b == c). In contrast, a == b := c is equivalent to (a == b) := c:","category":"page"},{"location":"manual/constraints/","page":"Constraints","title":"Constraints","text":"julia> model = Model();\n\njulia> @variable(model, x[1:2]);\n\njulia> rhs = false\nfalse\n\njulia> @constraint(model, (x[1] == x[2]) == rhs)\n(x[1] == x[2]) - 0.0 = 0\n\njulia> @constraint(model, x[1] == x[2] := rhs)\nx[1] == x[2] = false","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"EditURL = \"power_systems.jl\"","category":"page"},{"location":"tutorials/applications/power_systems/#Power-Systems","page":"Power Systems","title":"Power Systems","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"This tutorial was originally contributed by Yury Dvorkin and Miles Lubin.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"This tutorial demonstrates how to formulate basic power systems engineering models in JuMP.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"We will consider basic \"economic dispatch\" and \"unit commitment\" models without taking into account transmission constraints.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"For this tutorial, we use the following packages:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"using JuMP\nimport DataFrames\nimport HiGHS\nimport Plots\nimport StatsPlots","category":"page"},{"location":"tutorials/applications/power_systems/#Economic-dispatch","page":"Power Systems","title":"Economic dispatch","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Economic dispatch (ED) is an optimization problem that minimizes the cost of supplying energy demand subject to operational constraints on power system assets. In its simplest modification, ED is an LP problem solved for an aggregated load and wind forecast and for a single infinitesimal moment.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Mathematically, the ED problem can be written as follows:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"min sum_i in I c^g_i cdot g_i + c^w cdot w","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"where c_i and g_i are the incremental cost ($/MWh) and power output (MW) of the i^th generator, respectively, and c^w and w are the incremental cost ($/MWh) and wind power injection (MW), respectively.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Subject to the constraints:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Minimum (g^min) and maximum (g^max) limits on power outputs of generators: g^min_i leq g_i leq g^max_i\nConstraint on the wind power injection: 0 leq w leq w^f where w and w^f are the wind power injection and wind power forecast, respectively.\nPower balance constraint: sum_i in I g_i + w = d^f where d^f is the demand forecast.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Further reading on ED models can be found in A. J. Wood, B. F. Wollenberg, and G. B. Sheblé, \"Power Generation, Operation and Control,\" Wiley, 2013.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Define some input data about the test system.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"We define some thermal generators:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function ThermalGenerator(\n min::Float64,\n max::Float64,\n fixed_cost::Float64,\n variable_cost::Float64,\n)\n return (\n min = min,\n max = max,\n fixed_cost = fixed_cost,\n variable_cost = variable_cost,\n )\nend\n\ngenerators = [\n ThermalGenerator(0.0, 1000.0, 1000.0, 50.0),\n ThermalGenerator(300.0, 1000.0, 0.0, 100.0),\n]","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"A wind generator","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"WindGenerator(variable_cost::Float64) = (variable_cost = variable_cost,)\n\nwind_generator = WindGenerator(50.0)","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"And a scenario","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function Scenario(demand::Float64, wind::Float64)\n return (demand = demand, wind = wind)\nend\n\nscenario = Scenario(1500.0, 200.0)","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Create a function solve_economic_dispatch, which solves the economic dispatch problem for a given set of input parameters.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function solve_economic_dispatch(generators::Vector, wind, scenario)\n # Define the economic dispatch (ED) model\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n # Define decision variables\n # power output of generators\n N = length(generators)\n @variable(model, generators[i].min <= g[i = 1:N] <= generators[i].max)\n # wind power injection\n @variable(model, 0 <= w <= scenario.wind)\n # Define the objective function\n @objective(\n model,\n Min,\n sum(generators[i].variable_cost * g[i] for i in 1:N) +\n wind.variable_cost * w,\n )\n # Define the power balance constraint\n @constraint(model, sum(g[i] for i in 1:N) + w == scenario.demand)\n # Solve statement\n optimize!(model)\n @assert is_solved_and_feasible(model)\n # return the optimal value of the objective function and its minimizers\n return (\n g = value.(g),\n w = value(w),\n wind_spill = scenario.wind - value(w),\n total_cost = objective_value(model),\n )\nend","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Solve the economic dispatch problem","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"solution = solve_economic_dispatch(generators, wind_generator, scenario);\n\nprintln(\"Dispatch of Generators: \", solution.g, \" MW\")\nprintln(\"Dispatch of Wind: \", solution.w, \" MW\")\nprintln(\"Wind spillage: \", solution.wind_spill, \" MW\")\nprintln(\"Total cost: \\$\", solution.total_cost)","category":"page"},{"location":"tutorials/applications/power_systems/#Economic-dispatch-with-adjustable-incremental-costs","page":"Power Systems","title":"Economic dispatch with adjustable incremental costs","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"In the following exercise we adjust the incremental cost of generator G1 and observe its impact on the total cost.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function scale_generator_cost(g, scale)\n return ThermalGenerator(g.min, g.max, g.fixed_cost, scale * g.variable_cost)\nend\n\nstart = time()\nc_g_scale_df = DataFrames.DataFrame(;\n # Scale factor\n scale = Float64[],\n # Dispatch of Generator 1 [MW]\n dispatch_G1 = Float64[],\n # Dispatch of Generator 2 [MW]\n dispatch_G2 = Float64[],\n # Dispatch of Wind [MW]\n dispatch_wind = Float64[],\n # Spillage of Wind [MW]\n spillage_wind = Float64[],\n # Total cost [$]\n total_cost = Float64[],\n)\nfor c_g1_scale in 0.5:0.1:3.0\n # Update the incremental cost of the first generator at every iteration.\n new_generators = scale_generator_cost.(generators, [c_g1_scale, 1.0])\n # Solve the economic-dispatch problem with the updated incremental cost\n sol = solve_economic_dispatch(new_generators, wind_generator, scenario)\n push!(\n c_g_scale_df,\n (c_g1_scale, sol.g[1], sol.g[2], sol.w, sol.wind_spill, sol.total_cost),\n )\nend\nprint(string(\"elapsed time: \", time() - start, \" seconds\"))","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"c_g_scale_df","category":"page"},{"location":"tutorials/applications/power_systems/#Modifying-the-JuMP-model-in-place","page":"Power Systems","title":"Modifying the JuMP model in-place","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Note that in the previous exercise we entirely rebuilt the optimization model at every iteration of the internal loop, which incurs an additional computational burden. This burden can be alleviated if instead of re-building the entire model, we modify the constraints or objective function, as it shown in the example below.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Compare the computing time in case of the above and below models.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function solve_economic_dispatch_inplace(\n generators::Vector,\n wind,\n scenario,\n scale::AbstractVector{Float64},\n)\n obj_out = Float64[]\n w_out = Float64[]\n g1_out = Float64[]\n g2_out = Float64[]\n # This function only works for two generators\n @assert length(generators) == 2\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n N = length(generators)\n @variable(model, generators[i].min <= g[i = 1:N] <= generators[i].max)\n @variable(model, 0 <= w <= scenario.wind)\n @objective(\n model,\n Min,\n sum(generators[i].variable_cost * g[i] for i in 1:N) +\n wind.variable_cost * w,\n )\n @constraint(model, sum(g[i] for i in 1:N) + w == scenario.demand)\n for c_g1_scale in scale\n @objective(\n model,\n Min,\n c_g1_scale * generators[1].variable_cost * g[1] +\n generators[2].variable_cost * g[2] +\n wind.variable_cost * w,\n )\n optimize!(model)\n @assert is_solved_and_feasible(model)\n push!(obj_out, objective_value(model))\n push!(w_out, value(w))\n push!(g1_out, value(g[1]))\n push!(g2_out, value(g[2]))\n end\n df = DataFrames.DataFrame(;\n scale = scale,\n dispatch_G1 = g1_out,\n dispatch_G2 = g2_out,\n dispatch_wind = w_out,\n spillage_wind = scenario.wind .- w_out,\n total_cost = obj_out,\n )\n return df\nend\n\nstart = time()\ninplace_df = solve_economic_dispatch_inplace(\n generators,\n wind_generator,\n scenario,\n 0.5:0.1:3.0,\n)\nprint(string(\"elapsed time: \", time() - start, \" seconds\"))","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"For small models, adjusting specific constraints or the objective function is sometimes faster and sometimes slower than re-building the entire model. However, as the problem size increases, updating the model in-place is usually faster.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"inplace_df","category":"page"},{"location":"tutorials/applications/power_systems/#Inefficient-usage-of-wind-generators","page":"Power Systems","title":"Inefficient usage of wind generators","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"The economic dispatch problem does not perform commitment decisions and, thus, assumes that all generators must be dispatched at least at their minimum power output limit. This approach is not cost efficient and may lead to absurd decisions. For example, if d = sum_i in I g^min_i, the wind power injection must be zero, that is, all available wind generation is spilled, to meet the minimum power output constraints on generators.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"In the following example, we adjust the total demand and observed how it affects wind spillage.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"demand_scale_df = DataFrames.DataFrame(;\n demand = Float64[],\n dispatch_G1 = Float64[],\n dispatch_G2 = Float64[],\n dispatch_wind = Float64[],\n spillage_wind = Float64[],\n total_cost = Float64[],\n)\n\nfunction scale_demand(scenario, scale)\n return Scenario(scale * scenario.demand, scenario.wind)\nend\n\nfor demand_scale in 0.2:0.1:1.4\n new_scenario = scale_demand(scenario, demand_scale)\n sol = solve_economic_dispatch(generators, wind_generator, new_scenario)\n push!(\n demand_scale_df,\n (\n new_scenario.demand,\n sol.g[1],\n sol.g[2],\n sol.w,\n sol.wind_spill,\n sol.total_cost,\n ),\n )\nend\n\ndemand_scale_df","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"dispatch_plot = StatsPlots.@df(\n demand_scale_df,\n Plots.plot(\n :demand,\n [:dispatch_G1, :dispatch_G2],\n labels = [\"G1\" \"G2\"],\n title = \"Thermal Dispatch\",\n legend = :bottomright,\n linewidth = 3,\n xlabel = \"Demand\",\n ylabel = \"Dispatch [MW]\",\n ),\n)\n\nwind_plot = StatsPlots.@df(\n demand_scale_df,\n Plots.plot(\n :demand,\n [:dispatch_wind, :spillage_wind],\n labels = [\"Dispatch\" \"Spillage\"],\n title = \"Wind\",\n legend = :bottomright,\n linewidth = 3,\n xlabel = \"Demand [MW]\",\n ylabel = \"Energy [MW]\",\n ),\n)\n\nPlots.plot(dispatch_plot, wind_plot)","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"This particular drawback can be overcome by introducing binary decisions on the \"on/off\" status of generators. This model is called unit commitment and considered later in these notes.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"For further reading on the interplay between wind generation and the minimum power output constraints of generators, we refer interested readers to R. Baldick, \"Wind and energy markets: a case study of Texas,\" IEEE Systems Journal, vol. 6, pp. 27-34, 2012.","category":"page"},{"location":"tutorials/applications/power_systems/#Unit-commitment","page":"Power Systems","title":"Unit commitment","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"The Unit Commitment (UC) model can be obtained from ED model by introducing binary variable associated with each generator. This binary variable can attain two values: if it is \"1,\" the generator is synchronized and, thus, can be dispatched, otherwise, that is, if the binary variable is \"0,\" that generator is not synchronized and its power output is set to 0.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"To obtain the mathematical formulation of the UC model, we will modify the constraints of the ED model as follows:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"g^min_i cdot u_ti leq g_i leq g^max_i cdot u_ti","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"where u_i in 01 In this constraint, if u_i = 0, then g_i = 0. On the other hand, if u_i = 1, then g^min_i leq g_i leq g^max_i.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"For further reading on the UC problem we refer interested readers to G. Morales-Espana, J. M. Latorre, and A. Ramos, \"Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem,\" IEEE Transactions on Power Systems, vol. 28, pp. 4897-4908, 2013.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"In the following example we convert the ED model explained above to the UC model.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"function solve_unit_commitment(generators::Vector, wind, scenario)\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n N = length(generators)\n @variable(model, 0 <= g[i = 1:N] <= generators[i].max)\n @variable(model, 0 <= w <= scenario.wind)\n @constraint(model, sum(g[i] for i in 1:N) + w == scenario.demand)\n # !!! New: add binary on-off variables for each generator\n @variable(model, u[i = 1:N], Bin)\n @constraint(model, [i = 1:N], g[i] <= generators[i].max * u[i])\n @constraint(model, [i = 1:N], g[i] >= generators[i].min * u[i])\n @objective(\n model,\n Min,\n sum(generators[i].variable_cost * g[i] for i in 1:N) +\n wind.variable_cost * w +\n # !!! new\n sum(generators[i].fixed_cost * u[i] for i in 1:N)\n )\n optimize!(model)\n status = termination_status(model)\n if status != OPTIMAL\n return (status = status,)\n end\n @assert primal_status(model) == FEASIBLE_POINT\n return (\n status = status,\n g = value.(g),\n w = value(w),\n wind_spill = scenario.wind - value(w),\n u = value.(u),\n total_cost = objective_value(model),\n )\nend","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Solve the unit commitment problem","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"solution = solve_unit_commitment(generators, wind_generator, scenario)\n\nprintln(\"Dispatch of Generators: \", solution.g, \" MW\")\nprintln(\"Commitments of Generators: \", solution.u)\nprintln(\"Dispatch of Wind: \", solution.w, \" MW\")\nprintln(\"Wind spillage: \", solution.wind_spill, \" MW\")\nprintln(\"Total cost: \\$\", solution.total_cost)","category":"page"},{"location":"tutorials/applications/power_systems/#Unit-commitment-as-a-function-of-demand","page":"Power Systems","title":"Unit commitment as a function of demand","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"After implementing the unit commitment model, we can now assess the interplay between the minimum power output constraints on generators and wind generation.","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"uc_df = DataFrames.DataFrame(;\n demand = Float64[],\n commitment_G1 = Float64[],\n commitment_G2 = Float64[],\n dispatch_G1 = Float64[],\n dispatch_G2 = Float64[],\n dispatch_wind = Float64[],\n spillage_wind = Float64[],\n total_cost = Float64[],\n)\n\nfor demand_scale in 0.2:0.1:1.4\n new_scenario = scale_demand(scenario, demand_scale)\n sol = solve_unit_commitment(generators, wind_generator, new_scenario)\n if sol.status == OPTIMAL\n push!(\n uc_df,\n (\n new_scenario.demand,\n sol.u[1],\n sol.u[2],\n sol.g[1],\n sol.g[2],\n sol.w,\n sol.wind_spill,\n sol.total_cost,\n ),\n )\n end\n println(\"Status: $(sol.status) for demand_scale = $(demand_scale)\")\nend","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"uc_df","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"commitment_plot = StatsPlots.@df(\n uc_df,\n Plots.plot(\n :demand,\n [:commitment_G1, :commitment_G2],\n labels = [\"G1\" \"G2\"],\n title = \"Commitment\",\n legend = :bottomright,\n linewidth = 3,\n xlabel = \"Demand [MW]\",\n ylabel = \"Commitment decision {0, 1}\",\n ),\n)\n\ndispatch_plot = StatsPlots.@df(\n uc_df,\n Plots.plot(\n :demand,\n [:dispatch_G1, :dispatch_G2, :dispatch_wind],\n labels = [\"G1\" \"G2\" \"Wind\"],\n title = \"Dispatch [MW]\",\n legend = :bottomright,\n linewidth = 3,\n xlabel = \"Demand\",\n ylabel = \"Dispatch [MW]\",\n ),\n)\n\nPlots.plot(commitment_plot, dispatch_plot)","category":"page"},{"location":"tutorials/applications/power_systems/#Nonlinear-economic-dispatch","page":"Power Systems","title":"Nonlinear economic dispatch","text":"","category":"section"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"As a final example, we modify our economic dispatch problem in two ways:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"The thermal cost function is user-defined\nThe output of the wind is only the square-root of the dispatch","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"import Ipopt\n\n\"\"\"\n thermal_cost_function(g)\n\nA user-defined thermal cost function in pure-Julia! You can include\nnonlinearities, and even things like control flow.\n\n!!! warning\n It's still up to you to make sure that the function has a meaningful\n derivative.\n\"\"\"\nfunction thermal_cost_function(g)\n if g <= 500\n return g\n else\n return g + 1e-2 * (g - 500)^2\n end\nend\n\nfunction solve_nonlinear_economic_dispatch(\n generators::Vector,\n wind,\n scenario;\n silent::Bool = false,\n)\n model = Model(Ipopt.Optimizer)\n if silent\n set_silent(model)\n end\n @operator(model, op_tcf, 1, thermal_cost_function)\n N = length(generators)\n @variable(model, generators[i].min <= g[i = 1:N] <= generators[i].max)\n @variable(model, 0 <= w <= scenario.wind)\n @objective(\n model,\n Min,\n sum(generators[i].variable_cost * op_tcf(g[i]) for i in 1:N) +\n wind.variable_cost * w,\n )\n @constraint(model, sum(g[i] for i in 1:N) + sqrt(w) == scenario.demand)\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return (\n g = value.(g),\n w = value(w),\n wind_spill = scenario.wind - value(w),\n total_cost = objective_value(model),\n )\nend\n\nsolution =\n solve_nonlinear_economic_dispatch(generators, wind_generator, scenario)","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"Now let's see how the wind is dispatched as a function of the cost:","category":"page"},{"location":"tutorials/applications/power_systems/","page":"Power Systems","title":"Power Systems","text":"wind_cost = 0.0:1:100\nwind_dispatch = Float64[]\nfor c in wind_cost\n sol = solve_nonlinear_economic_dispatch(\n generators,\n WindGenerator(c),\n scenario;\n silent = true,\n )\n push!(wind_dispatch, sol.w)\nend\n\nPlots.plot(\n wind_cost,\n wind_dispatch;\n xlabel = \"Cost\",\n ylabel = \"Dispatch [MW]\",\n label = false,\n)","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"EditURL = \"logistic_regression.jl\"","category":"page"},{"location":"tutorials/conic/logistic_regression/#Example:-logistic-regression","page":"Example: logistic regression","title":"Example: logistic regression","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"This tutorial was originally contributed by François Pacaud.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"This tutorial shows how to solve a logistic regression problem with JuMP. Logistic regression is a well known method in machine learning, useful when we want to classify binary variables with the help of a given set of features. To this goal, we find the optimal combination of features maximizing the (log)-likelihood onto a training set.","category":"page"},{"location":"tutorials/conic/logistic_regression/#Required-packages","page":"Example: logistic regression","title":"Required packages","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"using JuMP\nimport MathOptInterface as MOI\nimport Random\nimport SCS\n\nRandom.seed!(2713);\nnothing #hide","category":"page"},{"location":"tutorials/conic/logistic_regression/#Formulating-the-logistic-regression-problem","page":"Example: logistic regression","title":"Formulating the logistic regression problem","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"Suppose we have a set of training data-point i = 1 cdots n, where for each i we have a vector of features x_i in mathbbR^p and a categorical observation y_i in -1 1.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"The log-likelihood is given by","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"l(theta) = sum_i=1^n log(dfrac11 + exp(-y_i theta^top x_i))","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"and the optimal theta minimizes the logistic loss function:","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"min_theta sum_i=1^n log(1 + exp(-y_i theta^top x_i))","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"Most of the time, instead of solving directly the previous optimization problem, we prefer to add a regularization term:","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"min_theta sum_i=1^n log(1 + exp(-y_i theta^top x_i)) + lambda theta ","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"with lambda in mathbbR_+ a penalty and a norm function. By adding such a regularization term, we avoid overfitting on the training set and usually achieve a greater score in cross-validation.","category":"page"},{"location":"tutorials/conic/logistic_regression/#Reformulation-as-a-conic-optimization-problem","page":"Example: logistic regression","title":"Reformulation as a conic optimization problem","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"By introducing auxiliary variables t_1 cdots t_n and r, the optimization problem is equivalent to","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"beginaligned\nmin_t r theta sum_i=1^n t_i + lambda r \ntextsubject to quad t_i geq log(1 + exp(- y_i theta^top x_i)) \n quad r geq theta\nendaligned","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"Now, the trick is to reformulate the constraints t_i geq log(1 + exp(- y_i theta^top x_i)) with the help of the exponential cone","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"K_exp = (x y z) in mathbbR^3 y exp(x y) leq z ","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"Indeed, by passing to the exponential, we see that for all i=1 cdots n, the constraint t_i geq log(1 + exp(- y_i theta^top x_i)) is equivalent to","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"exp(-t_i) + exp(u_i - t_i) leq 1","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"with u_i = -y_i theta^top x_i. Then, by adding two auxiliary variables z_i1 and z_i2 such that z_i1 geq exp(u_i-t_i) and z_i2 geq exp(-t_i), we get the equivalent formulation","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"left\nbeginaligned\n(u_i -t_i 1 z_i1) in K_exp \n(-t_i 1 z_i2) in K_exp \nz_i1 + z_i2 leq 1\nendaligned\nright","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"In this setting, the conic version of the logistic regression problems writes out","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"beginaligned\nmin_t z r theta sum_i=1^n t_i + lambda r \ntextsubject to quad (u_i -t_i 1 z_i1) in K_exp \n quad (-t_i 1 z_i2) in K_exp \n quad z_i1 + z_i2 leq 1 \n quad u_i = -y_i x_i^top theta \n quad r geq theta\nendaligned","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"and thus encompasses 3n + p + 1 variables and 3n + 1 constraints (u_i = -y_i theta^top x_i is only a virtual constraint used to clarify the notation). Thus, if n gg 1, we get a large number of variables and constraints.","category":"page"},{"location":"tutorials/conic/logistic_regression/#Fitting-logistic-regression-with-a-conic-solver","page":"Example: logistic regression","title":"Fitting logistic regression with a conic solver","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"We start by implementing a function to generate a fake dataset, and where we could tune the correlation between the feature variables. The function is a direct transcription of the one used in this blog post.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"function generate_dataset(n_samples = 100, n_features = 10; shift = 0.0)\n X = randn(n_samples, n_features)\n w = randn(n_features)\n y = sign.(X * w)\n X .+= 0.8 * randn(n_samples, n_features) # add noise\n X .+= shift # shift the points in the feature space\n X = hcat(X, ones(n_samples, 1))\n return X, y\nend","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"We write a softplus function to formulate each constraint t geq log(1 + exp(u)) with two exponential cones.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"function softplus(model, t, u)\n z = @variable(model, [1:2], lower_bound = 0.0)\n @constraint(model, sum(z) <= 1.0)\n @constraint(model, [u - t, 1, z[1]] in MOI.ExponentialCone())\n @constraint(model, [-t, 1, z[2]] in MOI.ExponentialCone())\nend","category":"page"},{"location":"tutorials/conic/logistic_regression/#\\ell_2-regularized-logistic-regression","page":"Example: logistic regression","title":"ell_2 regularized logistic regression","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"Then, with the help of the softplus function, we could write our optimization model. In the ell_2 regularization case, the constraint r geq theta_2 rewrites as a second order cone constraint.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"function build_logit_model(X, y, λ)\n n, p = size(X)\n model = Model()\n @variable(model, θ[1:p])\n @variable(model, t[1:n])\n for i in 1:n\n u = -(X[i, :]' * θ) * y[i]\n softplus(model, t[i], u)\n end\n # Add ℓ2 regularization\n @variable(model, 0.0 <= reg)\n @constraint(model, [reg; θ] in SecondOrderCone())\n # Define objective\n @objective(model, Min, sum(t) + λ * reg)\n return model\nend","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"We generate the dataset.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"warning: Warning\nBe careful here, for large n and p SCS could fail to converge.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"n, p = 200, 10\nX, y = generate_dataset(n, p; shift = 10.0);\n\n# We could now solve the logistic regression problem\nλ = 10.0\nmodel = build_logit_model(X, y, λ)\nset_optimizer(model, SCS.Optimizer)\nset_silent(model)\noptimize!(model)\n@assert is_solved_and_feasible(model)","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"θ♯ = value.(model[:θ])","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"It appears that the speed of convergence is not that impacted by the correlation of the dataset, nor by the penalty lambda.","category":"page"},{"location":"tutorials/conic/logistic_regression/#\\ell_1-regularized-logistic-regression","page":"Example: logistic regression","title":"ell_1 regularized logistic regression","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"We now formulate the logistic problem with a ell_1 regularization term. The ell_1 regularization ensures sparsity in the optimal solution of the resulting optimization problem. Luckily, the ell_1 norm is implemented as a set in MathOptInterface. Thus, we could formulate the sparse logistic regression problem with the help of a MOI.NormOneCone set.","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"function build_sparse_logit_model(X, y, λ)\n n, p = size(X)\n model = Model()\n @variable(model, θ[1:p])\n @variable(model, t[1:n])\n for i in 1:n\n u = -(X[i, :]' * θ) * y[i]\n softplus(model, t[i], u)\n end\n # Add ℓ1 regularization\n @variable(model, 0.0 <= reg)\n @constraint(model, [reg; θ] in MOI.NormOneCone(p + 1))\n # Define objective\n @objective(model, Min, sum(t) + λ * reg)\n return model\nend\n\n# Auxiliary function to count non-null components:\ncount_nonzero(v::Vector; tol = 1e-6) = sum(abs.(v) .>= tol)\n\n# We solve the sparse logistic regression problem on the same dataset as before.\nλ = 10.0\nsparse_model = build_sparse_logit_model(X, y, λ)\nset_optimizer(sparse_model, SCS.Optimizer)\nset_silent(sparse_model)\noptimize!(sparse_model)\n@assert is_solved_and_feasible(sparse_model)","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"θ♯ = value.(sparse_model[:θ])\nprintln(\n \"Number of non-zero components: \",\n count_nonzero(θ♯),\n \" (out of \",\n p,\n \" features)\",\n)","category":"page"},{"location":"tutorials/conic/logistic_regression/#Extensions","page":"Example: logistic regression","title":"Extensions","text":"","category":"section"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"A direct extension would be to consider the sparse logistic regression with hard thresholding, which, on contrary to the soft version using a ell_1 regularization, adds an explicit cardinality constraint in its formulation:","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"beginaligned\nmin_theta sum_i=1^n log(1 + exp(-y_i theta^top x_i)) + lambda theta _2^2 \ntextsubject to quad theta _0 = k\nendaligned","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"where k is the maximum number of non-zero components in the vector theta, and _0 is the ell_0 pseudo-norm:","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":" x_0 = i x_i neq 0","category":"page"},{"location":"tutorials/conic/logistic_regression/","page":"Example: logistic regression","title":"Example: logistic regression","text":"The cardinality constraint theta_0 leq k could be reformulated with binary variables. Thus the hard sparse regression problem could be solved by any solver supporting mixed integer conic problems.","category":"page"},{"location":"moi/background/motivation/","page":"Motivation","title":"Motivation","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/background/motivation.md\"","category":"page"},{"location":"moi/background/motivation/#Motivation","page":"Motivation","title":"Motivation","text":"","category":"section"},{"location":"moi/background/motivation/","page":"Motivation","title":"Motivation","text":"MathOptInterface (MOI) is a replacement for MathProgBase, the first-generation abstraction layer for mathematical optimization previously used by JuMP and Convex.jl.","category":"page"},{"location":"moi/background/motivation/","page":"Motivation","title":"Motivation","text":"To address a number of limitations of MathProgBase, MOI is designed to:","category":"page"},{"location":"moi/background/motivation/","page":"Motivation","title":"Motivation","text":"Be simple and extensible\nunifying linear, quadratic, and conic optimization,\nseamlessly facilitating extensions to essentially arbitrary constraints and functions (for example, indicator constraints, complementarity constraints, and piecewise-linear functions)\nBe fast\nby allowing access to a solver's in-memory representation of a problem without writing intermediate files (when possible)\nby using multiple dispatch and avoiding requiring containers of non-concrete types\nAllow a solver to return multiple results (for example, a pool of solutions)\nAllow a solver to return extra arbitrary information via attributes (for example, variable- and constraint-wise membership in an irreducible inconsistent subset for infeasibility analysis)\nProvide a greatly expanded set of status codes explaining what happened during the optimization procedure\nEnable a solver to more precisely specify which problem classes it supports\nEnable both primal and dual warm starts\nEnable adding and removing both variables and constraints by indices that are not required to be consecutive\nEnable any modification that the solver supports to an existing model\nAvoid requiring the solver wrapper to store an additional copy of the problem data","category":"page"},{"location":"tutorials/conic/introduction/#Introduction","page":"Introduction","title":"Introduction","text":"","category":"section"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"Conic programs are a class of convex nonlinear optimization problems which use cones to represent the nonlinearities. They have the form:","category":"page"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"beginalign\n min_x in mathbbR^n f_0(x) \n textst f_j(x) in mathcalS_j j = 1 ldots m\nendalign","category":"page"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"Mixed-integer conic programs (MICPs) are extensions of conic programs in which some (or all) of the decision variables take discrete values.","category":"page"},{"location":"tutorials/conic/introduction/#How-to-choose-a-solver","page":"Introduction","title":"How to choose a solver","text":"","category":"section"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"JuMP supports a range of conic solvers, although support differs on what types of cones each solver supports. In the list of Supported solvers, \"SOCP\" denotes solvers supporting second-order cones and \"SDP\" denotes solvers supporting semidefinite cones. In addition, solvers such as SCS and Mosek have support for the exponential cone. Moreover, due to the bridging system in MathOptInterface, many of these solvers support a much wider range of exotic cones than they natively support. Solvers supporting discrete variables start with \"(MI)\" in the list of Supported solvers.","category":"page"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"tip: Tip\nDuality plays a large role in solving conic optimization models. Depending on the solver, it can be more efficient to solve the dual instead of the primal. If performance is an issue, see the Dualization tutorial for more details.","category":"page"},{"location":"tutorials/conic/introduction/#How-these-tutorials-are-structured","page":"Introduction","title":"How these tutorials are structured","text":"","category":"section"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"Having a high-level overview of how this part of the documentation is structured will help you know where to look for certain things.","category":"page"},{"location":"tutorials/conic/introduction/","page":"Introduction","title":"Introduction","text":"The following tutorials are worked examples that present a problem in words, then formulate it in mathematics, and then solve it in JuMP. This usually involves some sort of visualization of the solution. Start here if you are new to JuMP.\nExample: experiment design\nExample: logistic regression\nThe Modeling with cones tutorial contains a number of helpful reformulations and tricks you can use when modeling conic programs. Look here if you are stuck trying to formulate a problem as a conic program.\nThe remaining tutorials are less verbose and styled in the form of short code examples. These tutorials have less explanation, but may contain useful code snippets, particularly if they are similar to a problem you are trying to solve.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/tutorials/manipulating_expressions.md\"","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Manipulating-expressions","page":"Manipulating expressions","title":"Manipulating expressions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"This guide highlights a syntactically appealing way to build expressions at the MOI level, but also to look at their contents. It may be especially useful when writing models or bridge code.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Creating-functions","page":"Manipulating expressions","title":"Creating functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"This section details the ways to create functions with MathOptInterface.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Creating-scalar-affine-functions","page":"Manipulating expressions","title":"Creating scalar affine functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"The simplest scalar function is simply a variable:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> x = MOI.add_variable(model) # Create the variable x\nMOI.VariableIndex(1)","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"This type of function is extremely simple; to express more complex functions, other types must be used. For instance, a ScalarAffineFunction is a sum of linear terms (a factor times a variable) and a constant. Such an object can be built using the standard constructor:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> f = MOI.ScalarAffineFunction([MOI.ScalarAffineTerm(1, x)], 2) # x + 2\n(2) + (1) MOI.VariableIndex(1)","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"However, you can also use operators to build the same scalar function:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> f = x + 2\n(2) + (1) MOI.VariableIndex(1)","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Creating-scalar-quadratic-functions","page":"Manipulating expressions","title":"Creating scalar quadratic functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"Scalar quadratic functions are stored in ScalarQuadraticFunction objects, in a way that is highly similar to scalar affine functions. You can obtain a quadratic function as a product of affine functions:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> 1 * x * x\n(0) + 1.0 MOI.VariableIndex(1)²\n\njulia> f * f # (x + 2)²\n(4) + (2) MOI.VariableIndex(1) + (2) MOI.VariableIndex(1) + 1.0 MOI.VariableIndex(1)²\n\njulia> f^2 # (x + 2)² too\n(4) + (2) MOI.VariableIndex(1) + (2) MOI.VariableIndex(1) + 1.0 MOI.VariableIndex(1)²","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Creating-vector-functions","page":"Manipulating expressions","title":"Creating vector functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"A vector function is a function with several values, irrespective of the number of input variables. Similarly to scalar functions, there are three main types of vector functions: VectorOfVariables, VectorAffineFunction, and VectorQuadraticFunction.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"The easiest way to create a vector function is to stack several scalar functions using Utilities.vectorize. It takes a vector as input, and the generated vector function (of the most appropriate type) has each dimension corresponding to a dimension of the vector.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> g = MOI.Utilities.vectorize([f, 2 * f])\n┌ ┐\n│(2) + (1) MOI.VariableIndex(1)│\n│(4) + (2) MOI.VariableIndex(1)│\n└ ┘","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"warning: Warning\nUtilities.vectorize only takes a vector of similar scalar functions: you cannot mix VariableIndex and ScalarAffineFunction, for instance. In practice, it means that Utilities.vectorize([x, f]) does not work; you should rather use Utilities.vectorize([1 * x, f]) instead to only have ScalarAffineFunction objects.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Canonicalizing-functions","page":"Manipulating expressions","title":"Canonicalizing functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"In more advanced use cases, you might need to ensure that a function is \"canonical.\" Functions are stored as an array of terms, but there is no check that these terms are redundant: a ScalarAffineFunction object might have two terms with the same variable, like x + x + 1. These terms could be merged without changing the semantics of the function: 2x + 1.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"Working with these objects might be cumbersome. Canonicalization helps maintain redundancy to zero.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"Utilities.is_canonical checks whether a function is already in its canonical form:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> MOI.Utilities.is_canonical(f + f) # (x + 2) + (x + 2) is stored as x + x + 4\nfalse","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"Utilities.canonical returns the equivalent canonical version of the function:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> MOI.Utilities.canonical(f + f) # Returns 2x + 4\n(4) + (2) MOI.VariableIndex(1)","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Exploring-functions","page":"Manipulating expressions","title":"Exploring functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"At some point, you might need to dig into a function, for instance to map it into solver constructs.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/#Vector-functions","page":"Manipulating expressions","title":"Vector functions","text":"","category":"section"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"Utilities.scalarize returns a vector of scalar functions from a vector function:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> MOI.Utilities.scalarize(g) # Returns a vector [f, 2 * f].\n2-element Vector{MathOptInterface.ScalarAffineFunction{Int64}}:\n (2) + (1) MOI.VariableIndex(1)\n (4) + (2) MOI.VariableIndex(1)","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"note: Note\nUtilities.eachscalar returns an iterator on the dimensions, which serves the same purpose as Utilities.scalarize.","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"output_dimension returns the number of dimensions of the output of a function:","category":"page"},{"location":"moi/tutorials/manipulating_expressions/","page":"Manipulating expressions","title":"Manipulating expressions","text":"julia> MOI.output_dimension(g)\n2","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"EditURL = \"https://github.com/jump-dev/MosekTools.jl/blob/v0.15.1/README.md\"","category":"page"},{"location":"packages/MosekTools/#MosekTools.jl","page":"jump-dev/MosekTools.jl","title":"MosekTools.jl","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"MosekTools.jl is the MathOptInterface.jl implementation for the MOSEK solver.","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"The low-level solver API for MOSEK is found in the package Mosek.jl.","category":"page"},{"location":"packages/MosekTools/#Affiliation","page":"jump-dev/MosekTools.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"MosekTools.jl is maintained by the JuMP community and is not officially supported by MOSEK. However, Mosek.jl is an officially supported product of MOSEK.","category":"page"},{"location":"packages/MosekTools/#License","page":"jump-dev/MosekTools.jl","title":"License","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"MosekTools.jl is licensed under the MIT License.","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"The underlying solver is a closed-source commercial product for which you must obtain a license.","category":"page"},{"location":"packages/MosekTools/#Installation","page":"jump-dev/MosekTools.jl","title":"Installation","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"The latest release of this package and the master branch are to be used with the latest release of Mosek.jl (which uses MOSEK v10).","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"To use MOSEK v9 (resp. v8), use the v0.12.x (resp. v0.7.x) releases of this package, and the mosekv9 (resp. mosekv8) branch and v1.2.x (resp. v0.9.x) releases of Mosek.jl.","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"See the following table for a summary:","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"MOSEK Mosek.jl MosekTools.jl release MosekTools.jl branch\nv10 v10 v0.13 master\nv9 v0.12 v0.12 mosekv9\nv8 v0.9 v0.7 mosekv8","category":"page"},{"location":"packages/MosekTools/#Use-with-JuMP","page":"jump-dev/MosekTools.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"using JuMP\nusing MosekTools\nmodel = Model(Mosek.Optimizer)\nset_attribute(model, \"QUIET\", true)\nset_attribute(model, \"INTPNT_CO_TOL_DFEAS\", 1e-7)","category":"page"},{"location":"packages/MosekTools/#Options","page":"jump-dev/MosekTools.jl","title":"Options","text":"","category":"section"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"The parameter QUIET is a special parameter that when set to true disables all Mosek printing output.","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"All other parameters can be found in the Mosek documentation.","category":"page"},{"location":"packages/MosekTools/","page":"jump-dev/MosekTools.jl","title":"jump-dev/MosekTools.jl","text":"Note that the prefix MSK_IPAR_ (for integer parameters), MSK_DPAR_ (for floating point parameters) or MSK_SPAR_ (for string parameters) are optional. If they are not given, they are inferred from the type of the value. For example, in the example above, as 1e-7 is a floating point number, the parameters name used is MSK_DPAR_INTPNT_CO_TOL_DFEAS.","category":"page"},{"location":"developers/style/#Style-guide-and-design-principles","page":"Style Guide","title":"Style guide and design principles","text":"","category":"section"},{"location":"developers/style/#Style-guide","page":"Style Guide","title":"Style guide","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This section describes the coding style rules that apply to JuMP code and that we recommend for JuMP models and surrounding Julia code. The motivations for a style guide include:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"conveying best practices for writing readable and maintainable code\nreducing the amount of time spent on bike-shedding by establishing basic naming and formatting conventions\nlowering the barrier for new contributors by codifying the existing practices (for example, you can be more confident your code will pass review if you follow the style guide)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"In some cases, the JuMP style guide diverges from the Julia style guide. All such cases will be explicitly noted and justified.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"The JuMP style guide adopts many recommendations from the Google style guides.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"info: Info\nThe style guide is always a work in progress, and not all JuMP code follows the rules. When modifying JuMP, please fix the style violations of the surrounding code (that is, leave the code tidier than when you started). If large changes are needed, consider separating them into another PR.","category":"page"},{"location":"developers/style/#JuliaFormatter","page":"Style Guide","title":"JuliaFormatter","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"JuMP uses JuliaFormatter.jl as an auto-formatting tool.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"We use the options contained in .JuliaFormatter.toml.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"To format code, cd to the JuMP directory, then run:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"] add JuliaFormatter@1\nusing JuliaFormatter\nformat(\"docs\")\nformat(\"src\")\nformat(\"test\")","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"info: Info\nA continuous integration check verifies that all PRs made to JuMP have passed the formatter.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"The following sections outline extra style guide points that are not fixed automatically by JuliaFormatter.","category":"page"},{"location":"developers/style/#Abstract-types-and-composition","page":"Style Guide","title":"Abstract types and composition","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Specifying types for method arguments is mostly optional in Julia. The benefit of abstract method arguments is that it enables functions and types from one package to be used with functions and types from another package via multiple dispatch.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"However, abstractly typed methods have two main drawbacks:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"It's possible to find out that you are working with unexpected types deep in the call chain, potentially leading to hard-to-diagnose MethodErrors.\nUntyped function arguments can lead to correctness problems if the user's choice of input type does not satisfy the assumptions made by the author of the function.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"As a motivating example, consider the following function:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> function my_sum(x)\n y = 0.0\n for i in 1:length(x)\n y += x[i]\n end\n return y\n end\nmy_sum (generic function with 1 method)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This function contains a number of implicit assumptions about the type of x:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"x supports 1-based getindex and implements length\nThe element type of x supports addition with 0.0, and then with the result of x + 0.0.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"info: Info\nAs a motivating example for the second point, VariableRef plus Float64 produces an AffExpr. Do not assume that +(::A, ::B) produces an instance of the type A or B.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"my_sum works as expected if the user passes in Vector{Float64}:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum([1.0, 2.0, 3.0])\n6.0","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"but it doesn't respect input types, for example returning a Float64 if the user passes Vector{Int}:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum([1, 2, 3])\n6.0","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"but it throws a MethodError if the user passes String:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum(\"abc\")\nERROR: MethodError: no method matching +(::Float64, ::Char)\n[...]","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This particular MethodError is hard to debug, particularly for new users, because it mentions +, Float64, and Char, none of which were called or passed by the user.","category":"page"},{"location":"developers/style/#Dealing-with-MethodErrors","page":"Style Guide","title":"Dealing with MethodErrors","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This section diverges from the Julia style guide, as well as other common guides like SciML. The following suggestions are intended to provide a friendlier experience for novice Julia programmers, at the cost of limiting the power and flexibility of advanced Julia programmers.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Code should follow the MethodError principle:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"info: The MethodError principle\nA user should see a MethodError only for methods that they called directly.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"_internal_function(x::Integer) = x + 1\n# The user sees a MethodError for _internal_function when calling\n# public_function(\"a string\"). This is not very helpful.\npublic_function(x) = _internal_function(x)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"_internal_function(x::Integer) = x + 1\n# The user sees a MethodError for public_function when calling\n# public_function(\"a string\"). This is easy to understand.\npublic_function(x::Integer) = _internal_function(x)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"If it is hard to provide an error message at the top of the call chain, then the following pattern is also ok:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"_internal_function(x::Integer) = x + 1\nfunction _internal_function(x)\n error(\n \"Internal error. This probably means that you called \" *\n \"`public_function()`s with the wrong type.\",\n )\nend\npublic_function(x) = _internal_function(x)","category":"page"},{"location":"developers/style/#Dealing-with-correctness","page":"Style Guide","title":"Dealing with correctness","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Dealing with correctness is harder, because Julia has no way of formally specifying interfaces that abstract types must implement. Instead, here are two options that you can use when writing and interacting with generic code:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Option 1: use concrete types and let users extend new methods.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"In this option, explicitly restrict input arguments to concrete types that are tested and have been validated for correctness. For example:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> function my_sum_option_1(x::Vector{Float64})\n y = 0.0\n for i in 1:length(x)\n y += x[i]\n end\n return y\n end\nmy_sum_option_1 (generic function with 1 method)\n\njulia> my_sum_option_1([1.0, 2.0, 3.0])\n6.0","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Using concrete types satisfies the MethodError principle:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum_option_1(\"abc\")\nERROR: MethodError: no method matching my_sum_option_1(::String)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"and it allows other types to be supported in future by defining new methods:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> function my_sum_option_1(x::Array{T,N}) where {T<:Number,N}\n y = zero(T)\n for i in eachindex(x)\n y += x[i]\n end\n return y\n end\nmy_sum_option_1 (generic function with 2 methods)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Importantly, these methods do not have to be defined in the original package.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"info: Info\nSome usage of abstract types is okay. For example, in my_sum_option_1, we allowed the element type, T, to be a subtype of Number. This is fairly safe, but it still has an implicit assumption that T supports zero(T) and +(::T, ::T).","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Option 2: program defensively, and validate all assumptions.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"An alternative is to program defensively, and to rigorously document and validate all assumptions that the code makes. In particular:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"All assumptions on abstract types that aren't guaranteed by the definition of the abstract type (for example, optional methods without a fallback) should be documented.\nIf practical, the assumptions should be checked in code, and informative error messages should be provided to the user if the assumptions are not met. In general, these checks may be expensive, so you should prefer to do this once, at the highest level of the call-chain.\nTests should cover for a range of corner cases and argument types.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For example:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"\"\"\"\n test_my_sum_defensive_assumptions(x::AbstractArray{T}) where {T}\n\nTest the assumptions made by `my_sum_defensive`.\n\"\"\"\nfunction test_my_sum_defensive_assumptions(x::AbstractArray{T}) where {T}\n try\n # Some types may not define zero.\n @assert zero(T) isa T\n # Check iteration supported\n @assert iterate(x) isa Union{Nothing,Tuple{T,Int}}\n # Check that + is defined\n @assert +(zero(T), zero(T)) isa Any\n catch err\n error(\n \"Unable to call my_sum_defensive(::$(typeof(x))) because \" *\n \"it failed an internal assumption\",\n )\n end\n return\nend\n\n\"\"\"\n my_sum_defensive(x::AbstractArray{T}) where {T}\n\nReturn the sum of the elements in the abstract array `x`.\n\n## Assumptions\n\nThis function makes the following assumptions:\n\n * That `zero(T)` is defined\n * That `x` supports the iteration interface\n * That `+(::T, ::T)` is defined\n\"\"\"\nfunction my_sum_defensive(x::AbstractArray{T}) where {T}\n test_my_sum_defensive_assumptions(x)\n y = zero(T)\n for xi in x\n y += xi\n end\n return y\nend\n\n# output\n\nmy_sum_defensive","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This function works on Vector{Float64}:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum_defensive([1.0, 2.0, 3.0])\n6.0","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"as well as Matrix{Rational{Int}}:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum_defensive([(1//2) + (4//3)im; (6//5) + (7//11)im])\n17//10 + 65//33*im","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"and it throws an error when the assumptions aren't met:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"julia> my_sum_defensive(['a', 'b', 'c'])\nERROR: Unable to call my_sum_defensive(::Vector{Char}) because it failed an internal assumption\n[...]","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"As an alternative, you may choose not to call test_my_sum_defensive_assumptions within my_sum_defensive, and instead ask users of my_sum_defensive to call it in their tests.","category":"page"},{"location":"developers/style/#Juxtaposed-multiplication","page":"Style Guide","title":"Juxtaposed multiplication","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Only use juxtaposed multiplication when the right-hand side is a symbol.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"2x # Acceptable if there are space constraints.\n2 * x # This is preferred if space is not an issue.\n2 * (x + 1)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"2(x + 1)","category":"page"},{"location":"developers/style/#Empty-vectors","page":"Style Guide","title":"Empty vectors","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For a type T, T[] and Vector{T}() are equivalent ways to create an empty vector with element type T. Prefer T[] because it is more concise.","category":"page"},{"location":"developers/style/#Comments","page":"Style Guide","title":"Comments","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For non-native speakers and for general clarity, comments in code must be proper English sentences with appropriate punctuation.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"# This is a comment demonstrating a good comment.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"# a bad comment","category":"page"},{"location":"developers/style/#JuMP-macro-syntax","page":"Style Guide","title":"JuMP macro syntax","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For consistency, always use parentheses.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable(model, x >= 0)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable model x >= 0","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For consistency, always use constant * variable as opposed to variable * constant. This makes it easier to read models in ambiguous cases like a * x.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"a = 4\n@constraint(model, 3 * x <= 1)\n@constraint(model, a * x <= 1)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"a = 4\n@constraint(model, x * 3 <= 1)\n@constraint(model, x * a <= 1)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"In order to reduce boilerplate code, prefer the plural form of macros over lots of repeated calls to singular forms.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Good:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variables(model, begin\n x >= 0\n y >= 1\n z <= 2\nend)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Bad:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable(model, x >= 0)\n@variable(model, y >= 1)\n@variable(model, z <= 2)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"An exception is made for calls with many keyword arguments, since these need to be enclosed in parentheses in order to parse properly.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Acceptable:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable(model, x >= 0, start = 0.0, base_name = \"my_x\")\n@variable(model, y >= 1, start = 2.0)\n@variable(model, z <= 2, start = -1.0)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Also acceptable:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variables(model, begin\n x >= 0, (start = 0.0, base_name = \"my_x\")\n y >= 1, (start = 2.0)\n z <= 2, (start = -1.0)\nend)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"While we always use in for for-loops, it is acceptable to use = in the container declarations of JuMP macros.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Okay:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable(model, x[i=1:3])","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Also okay:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@variable(model, x[i in 1:3])","category":"page"},{"location":"developers/style/#Naming","page":"Style Guide","title":"Naming","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"module SomeModule end\nfunction some_function end\nconst SOME_CONSTANT = ...\nstruct SomeStruct\n some_field::SomeType\nend\n@enum SomeEnum ENUM_VALUE_A ENUM_VALUE_B\nsome_local_variable = ...\nsome_file.jl # Except for ModuleName.jl.","category":"page"},{"location":"developers/style/#Exported-and-non-exported-names","page":"Style Guide","title":"Exported and non-exported names","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Begin private module level functions and constants with an underscore. All other objects in the scope of a module should be exported. (See JuMP.jl for an example of how to do this.)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Names beginning with an underscore should only be used for distinguishing between exported (public) and non-exported (private) objects. Therefore, never begin the name of a local variable with an underscore.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"module MyModule\n\nexport public_function, PUBLIC_CONSTANT\n\nfunction _private_function()\n local_variable = 1\n return\nend\n\nfunction public_function end\n\nconst _PRIVATE_CONSTANT = 3.14159\nconst PUBLIC_CONSTANT = 1.41421\n\nend","category":"page"},{"location":"developers/style/#Use-of-underscores-within-names","page":"Style Guide","title":"Use of underscores within names","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"The Julia style guide recommends avoiding underscores \"when readable,\" for example, haskey, isequal, remotecall, and remotecall_fetch. This convention creates the potential for unnecessary bikeshedding and also forces the user to recall the presence/absence of an underscore, for example, \"was that argument named basename or base_name?\". For consistency, always use underscores in variable names and function names to separate words.","category":"page"},{"location":"developers/style/#Use-of-!","page":"Style Guide","title":"Use of !","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Julia has a convention of appending ! to a function name if the function modifies its arguments. We recommend to:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Omit ! when the name itself makes it clear that modification is taking place, for example, add_constraint and set_name. We depart from the Julia style guide because ! does not provide a reader with any additional information in this case, and adherence to this convention is not uniform even in base Julia itself (consider Base.println and Base.finalize).\nUse ! in all other cases. In particular it can be used to distinguish between modifying and non-modifying variants of the same function like scale and scale!.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Note that ! is not a self-documenting feature because it is still ambiguous which arguments are modified when multiple arguments are present. Be sure to document which arguments are modified in the method's docstring.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"See also the Julia style guide recommendations for ordering of function arguments.","category":"page"},{"location":"developers/style/#Abbreviations","page":"Style Guide","title":"Abbreviations","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Abbreviate names to make the code more readable, not to save typing. Don't arbitrarily delete letters from a word to abbreviate it (for example, indx). Use abbreviations consistently within a body of code (for example, do not mix con and constr, idx and indx).","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Common abbreviations:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"num for number\ncon for constraint","category":"page"},{"location":"developers/style/#No-one-letter-variable-names","page":"Style Guide","title":"No one-letter variable names","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Where possible, avoid one-letter variable names.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Use model = Model() instead of m = Model()","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Exceptions are made for indices in loops.","category":"page"},{"location":"developers/style/#@enum-vs.-Symbol","page":"Style Guide","title":"@enum vs. Symbol","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"The @enum macro lets you define types with a finite number of values that are explicitly enumerated (like enum in C/C++). Symbols are lightweight strings that are used to represent identifiers in Julia (for example, :x).","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"@enum provides type safety and can have docstrings attached to explain the possible values. Use @enums when applicable, for example, for reporting statuses. Use strings to provide long-form additional information like error messages.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Use of Symbol should typically be reserved for identifiers, for example, for lookup in the JuMP model (model[:my_variable]).","category":"page"},{"location":"developers/style/#using-vs.-import","page":"Style Guide","title":"using vs. import","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"using ModuleName brings all symbols exported by the module ModuleName into scope, while import ModuleName brings only the module itself into scope. (See the Julia manual) for examples and more details.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"For the same reason that from import * is not recommended in python (PEP 8), avoid using ModuleName except in throw-away scripts or at the REPL. The using statement makes it harder to track where symbols come from and exposes the code to ambiguities when two modules export the same symbol.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Prefer using ModuleName: x, p to import ModuleName.x, ModuleName.p and import MyModule: x, p because the import versions allow method extension without qualifying with the module name.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Similarly, using ModuleName: ModuleName is an acceptable substitute for import ModuleName, because it does not bring all symbols exported by ModuleName into scope. However, we prefer import ModuleName for consistency.","category":"page"},{"location":"developers/style/#Documentation","page":"Style Guide","title":"Documentation","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"This section describes the writing style that should be used when writing documentation for JuMP (and supporting packages).","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"We can recommend the documentation style guides by Divio, Google, and Write the Docs as general reading for those writing documentation. This guide delegates a thorough handling of the topic to those guides and instead elaborates on the points more specific to Julia and documentation that use Documenter.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Be concise\nUse lists instead of long sentences\nUse numbered lists when describing a sequence, for example, (1) do X, (2) then Y\nUse bullet points when the items are not ordered\nExample code should be covered by doctests\nWhen a word is a Julia symbol and not an English word, enclose it with backticks. In addition, if it has a docstring in this doc add a link using @ref. If it is a plural, add the \"s\" after the closing backtick. For example,\n[`VariableRef`](@ref)s\nUse @meta blocks for TODOs and other comments that shouldn't be visible to readers. For example,\n```@meta\n# TODO: Mention also X, Y, and Z.\n```","category":"page"},{"location":"developers/style/#Docstrings","page":"Style Guide","title":"Docstrings","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Every exported object needs a docstring\nAll examples in docstrings should be jldoctests\nAlways use complete English sentences with proper punctuation\nDo not terminate lists with punctuation (for example, as in this doc)","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Here is an example:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"\"\"\"\n signature(args; kwargs...)\n\nShort sentence describing the function.\n\nOptional: add a slightly longer paragraph describing the function.\n\n## Notes\n\n - List any notes that the user should be aware of\n\n## Example\n\n```jldoctest\njulia> 1 + 1\n2\n```\n\"\"\"","category":"page"},{"location":"developers/style/#Testing","page":"Style Guide","title":"Testing","text":"","category":"section"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Use a module to encapsulate tests, and structure all tests as functions. This avoids leaking local variables between tests.","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Here is a basic skeleton:","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"module TestPkg\n\nusing Test\n\nfunction runtests()\n for name in names(@__MODULE__; all = true)\n if startswith(\"$(name)\", \"test_\")\n @testset \"$(name)\" begin\n getfield(@__MODULE__, name)()\n end\n end\n end\n return\nend\n\n_helper_function() = 2\n\nfunction test_addition()\n @test 1 + 1 == _helper_function()\n return\nend\n\nend # module TestPkg\n\nTestPkg.runtests()","category":"page"},{"location":"developers/style/","page":"Style Guide","title":"Style Guide","text":"Break the tests into multiple files, with one module per file, so that subsets of the codebase can be tested by calling include with the relevant file.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/submodules/Bridges/implementation.md\"","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/submodules/Bridges/implementation/#Implementing-a-bridge","page":"Implementation","title":"Implementing a bridge","text":"","category":"section"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"The easiest way to implement a bridge is to follow an existing example. There are three locations of bridges in the source code:","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Constraint bridges are stored in src/Bridges/Constraint/bridges\nObjective bridges are stored in src/Bridges/Objective/bridges\nVariable bridges are stored in src/Bridges/Variable/bridges","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"The Implementing a constraint bridge tutorial has a more detailed guide on what is required to implement a bridge.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"When opening a pull request that adds a new bridge, use the checklist Adding a new bridge.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"If you need help or advice, please contact the Developer Chatroom.","category":"page"},{"location":"moi/submodules/Bridges/implementation/#SetMap-bridges","page":"Implementation","title":"SetMap bridges","text":"","category":"section"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"For constraint and variable bridges, a common reformulation is that f(x) in F is reformulated to g(x) in G. In this case, no additional variables and constraints are added, and the bridge needs only a way to map between the functions f and g and the sets F and G.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"To implementation a bridge of this form, subtype the abstract type Bridges.Constraint.SetMapBridge or Bridges.Variable.SetMapBridge and implement the API described in the docstring of each type.","category":"page"},{"location":"moi/submodules/Bridges/implementation/#final_touch","page":"Implementation","title":"final_touch","text":"","category":"section"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Some bridges require information from other parts of the model. One set of examples are the various combinatorial ToMILP bridges, such as Bridges.Constraint.SOS1ToMILPBridge, which require knowledge of the variable bounds.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Bridges requiring information from other parts of the model should implement Bridges.final_touch and Bridges.needs_final_touch.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"During the bridge's construction, store the function and set and make no changes to the underlying model. Then, in Bridges.final_touch, query the additional information and add the reformulated problem to the model.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"When implementing, you must consider that:","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Bridges.final_touch may be called multiple times, so that your reformulation should be applied only if necessary. Sometimes the additional data will be the same, and sometimes it may be different.\nWe do not currently support final_touch bridges that introduce constraints which also require a final_touch bridge. Therefore, you should implement final_touch only if necessary, and we recommend that you contact the Developer Chatroom for advice before doing so.","category":"page"},{"location":"moi/submodules/Bridges/implementation/#Testing","page":"Implementation","title":"Testing","text":"","category":"section"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Use the Bridges.runtests function to test a bridge. It takes three arguments: the type of the bridge, the input model as a string, and the output model as a string.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Here is an example:","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"julia> MOI.Bridges.runtests(\n MOI.Bridges.Constraint.GreaterToLessBridge,\n \"\"\"\n variables: x\n x >= 1.0\n \"\"\",\n \"\"\"\n variables: x\n -1.0 * x <= -1.0\n \"\"\",\n )","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"There are a number of other useful keyword arguments.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"eltype can be used to specify the element type of the model (and bridge). It defaults to Float64.\nvariable_start and constraint_start are used as the values to set the VariablePrimalStart and ConstraintPrimalStart attributes to. They default to 1.2. If you use a different eltype, you must set appropriate starting values of the same type. The default 1.2 was chosen to minimize the risk that the starting point is undefined, which could happen for common situations like 0.0 and 1.0. The tests associated with the starting values do not necessarily check for correctness, only that they can be set and get to produce the same result.\nprint_inner_model can be used to print the reformulated output model from the bridge. This is especially helpful during debugging to see what the bridge is doing, and to spot mistakes. It defaults to false.","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"Here is an example:","category":"page"},{"location":"moi/submodules/Bridges/implementation/","page":"Implementation","title":"Implementation","text":"julia> MOI.Bridges.runtests(\n MOI.Bridges.Constraint.GreaterToLessBridge,\n \"\"\"\n variables: x\n x >= 1\n \"\"\",\n \"\"\"\n variables: x\n ::Int: -1 * x <= -1\n \"\"\";\n eltype = Int,\n print_inner_model = true,\n variable_start = 2,\n constraint_start = 2,\n )\nFeasibility\n\nSubject to:\n\nScalarAffineFunction{Int64}-in-LessThan{Int64}\n (0) - (1) x <= (-1)","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/submodules/Test/overview.md\"","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/submodules/Test/overview/#test_module","page":"Overview","title":"The Test submodule","text":"","category":"section"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"The Test submodule provides tools to help solvers implement unit tests in order to ensure they implement the MathOptInterface API correctly, and to check for solver-correctness.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"We use a centralized repository of tests, so that if we find a bug in one solver, instead of adding a test to that particular repository, we add it here so that all solvers can benefit.","category":"page"},{"location":"moi/submodules/Test/overview/#How-to-test-a-solver","page":"Overview","title":"How to test a solver","text":"","category":"section"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"The skeleton below can be used for the wrapper test file of a solver named FooBar.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"# ============================ /test/MOI_wrapper.jl ============================\nmodule TestFooBar\n\nimport FooBar\nusing Test\n\nimport MathOptInterface as MOI\n\nconst OPTIMIZER = MOI.instantiate(\n MOI.OptimizerWithAttributes(FooBar.Optimizer, MOI.Silent() => true),\n)\n\nconst BRIDGED = MOI.instantiate(\n MOI.OptimizerWithAttributes(FooBar.Optimizer, MOI.Silent() => true),\n with_bridge_type = Float64,\n)\n\n# See the docstring of MOI.Test.Config for other arguments.\nconst CONFIG = MOI.Test.Config(\n # Modify tolerances as necessary.\n atol = 1e-6,\n rtol = 1e-6,\n # Use MOI.LOCALLY_SOLVED for local solvers.\n optimal_status = MOI.OPTIMAL,\n # Pass attributes or MOI functions to `exclude` to skip tests that\n # rely on this functionality.\n exclude = Any[MOI.VariableName, MOI.delete],\n)\n\n\"\"\"\n runtests()\n\nThis function runs all functions in the this Module starting with `test_`.\n\"\"\"\nfunction runtests()\n for name in names(@__MODULE__; all = true)\n if startswith(\"$(name)\", \"test_\")\n @testset \"$(name)\" begin\n getfield(@__MODULE__, name)()\n end\n end\n end\nend\n\n\"\"\"\n test_runtests()\n\nThis function runs all the tests in MathOptInterface.Test.\n\nPass arguments to `exclude` to skip tests for functionality that is not\nimplemented or that your solver doesn't support.\n\"\"\"\nfunction test_runtests()\n MOI.Test.runtests(\n BRIDGED,\n CONFIG,\n exclude = [\n \"test_attribute_NumberOfThreads\",\n \"test_quadratic_\",\n ],\n # This argument is useful to prevent tests from failing on future\n # releases of MOI that add new tests. Don't let this number get too far\n # behind the current MOI release though. You should periodically check\n # for new tests to fix bugs and implement new features.\n exclude_tests_after = v\"0.10.5\",\n )\n return\nend\n\n\"\"\"\n test_SolverName()\n\nYou can also write new tests for solver-specific functionality. Write each new\ntest as a function with a name beginning with `test_`.\n\"\"\"\nfunction test_SolverName()\n @test MOI.get(FooBar.Optimizer(), MOI.SolverName()) == \"FooBar\"\n return\nend\n\nend # module TestFooBar\n\n# This line at tne end of the file runs all the tests!\nTestFooBar.runtests()","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Then modify your runtests.jl file to include the MOI_wrapper.jl file:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"# ============================ /test/runtests.jl ============================\n\nusing Test\n\n@testset \"MOI\" begin\n include(\"test/MOI_wrapper.jl\")\nend","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"info: Info\nThe optimizer BRIDGED constructed with instantiate automatically bridges constraints that are not supported by OPTIMIZER using the bridges listed in Bridges. It is recommended for an implementation of MOI to only support constraints that are natively supported by the solver and let bridges transform the constraint to the appropriate form. For this reason it is expected that tests may not pass if OPTIMIZER is used instead of BRIDGED.","category":"page"},{"location":"moi/submodules/Test/overview/#How-to-debug-a-failing-test","page":"Overview","title":"How to debug a failing test","text":"","category":"section"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"When writing a solver, it's likely that you will initially fail many tests. Some failures will be bugs, but other failures you may choose to exclude.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"There are two ways to exclude tests:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Exclude tests whose names contain a string using:\nMOI.Test.runtests(\n model,\n config;\n exclude = String[\"test_to_exclude\", \"test_conic_\"],\n)\nThis will exclude tests whose name contains either of the two strings provided.\nExclude tests which rely on specific functionality using:\nMOI.Test.Config(exclude = Any[MOI.VariableName, MOI.optimize!])\nThis will exclude tests which use the MOI.VariableName attribute, or which call MOI.optimize!.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Each test that fails can be independently called as:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"model = FooBar.Optimizer()\nconfig = MOI.Test.Config()\nMOI.empty!(model)\nMOI.Test.test_category_name_that_failed(model, config)","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"You can look-up the source code of the test that failed by searching for it in the src/Test/test_category.jl file.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"tip: Tip\nEach test function also has a docstring that explains what the test is for. Use ? MOI.Test.test_category_name_that_failed from the REPL to read it.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Periodically, you should re-run excluded tests to see if they now pass. The easiest way to do this is to swap the exclude keyword argument of runtests to include. For example:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"MOI.Test.runtests(\n model,\n config;\n exclude = String[\"test_to_exclude\", \"test_conic_\"],\n)","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"becomes","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"MOI.Test.runtests(\n model,\n config;\n include = String[\"test_to_exclude\", \"test_conic_\"],\n)","category":"page"},{"location":"moi/submodules/Test/overview/#How-to-add-a-test","page":"Overview","title":"How to add a test","text":"","category":"section"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"To detect bugs in solvers, we add new tests to MOI.Test.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"As an example, ECOS errored calling optimize! twice in a row. (See ECOS.jl PR #72.) We could add a test to ECOS.jl, but that would only stop us from re-introducing the bug to ECOS.jl in the future, but it would not catch other solvers in the ecosystem with the same bug. Instead, if we add a test to MOI.Test, then all solvers will also check that they handle a double optimize call.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"For this test, we care about correctness, rather than performance. therefore, we don't expect solvers to efficiently decide that they have already solved the problem, only that calling optimize! twice doesn't throw an error or give the wrong answer.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Step 1","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Install the MathOptInterface julia package in dev mode:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"julia> ]\n(@v1.6) pkg> dev MathOptInterface","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Step 2","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"From here on, proceed with making the following changes in the ~/.julia/dev/MathOptInterface folder (or equivalent dev path on your machine).","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Step 3","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Since the double-optimize error involves solving an optimization problem, add a new test to src/Test/test_solve.jl:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"\"\"\"\n test_unit_optimize!_twice(model::MOI.ModelLike, config::Config)\n\nTest that calling `MOI.optimize!` twice does not error.\n\nThis problem was first detected in ECOS.jl PR#72:\nhttps://github.com/jump-dev/ECOS.jl/pull/72\n\"\"\"\nfunction test_unit_optimize!_twice(\n model::MOI.ModelLike,\n config::Config{T},\n) where {T}\n # Use the `@requires` macro to check conditions that the test function\n # requires to run. Models failing this `@requires` check will silently skip\n # the test.\n @requires MOI.supports_constraint(\n model,\n MOI.VariableIndex,\n MOI.GreaterThan{Float64},\n )\n @requires _supports(config, MOI.optimize!)\n # If needed, you can test that the model is empty at the start of the test.\n # You can assume that this will be the case for tests run via `runtests`.\n # User's calling tests individually need to call `MOI.empty!` themselves.\n @test MOI.is_empty(model)\n # Create a simple model. Try to make this as simple as possible so that the\n # majority of solvers can run the test.\n x = MOI.add_variable(model)\n MOI.add_constraint(model, x, MOI.GreaterThan(one(T)))\n MOI.set(model, MOI.ObjectiveSense(), MOI.MIN_SENSE)\n MOI.set(\n model,\n MOI.ObjectiveFunction{MOI.VariableIndex}(),\n x,\n )\n # The main component of the test: does calling `optimize!` twice error?\n MOI.optimize!(model)\n MOI.optimize!(model)\n # Check we have a solution.\n @test MOI.get(model, MOI.TerminationStatus()) == MOI.OPTIMAL\n # There is a three-argument version of `Base.isapprox` for checking\n # approximate equality based on the tolerances defined in `config`:\n @test isapprox(MOI.get(model, MOI.VariablePrimal(), x), one(T), config)\n # For code-style, these tests should always `return` `nothing`.\n return\nend","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"info: Info\nMake sure the function is agnostic to the number type T; don't assume it is a Float64 capable solver.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"We also need to write a test for the test. Place this function immediately below the test you just wrote in the same file:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"function setup_test(\n ::typeof(test_unit_optimize!_twice),\n model::MOI.Utilities.MockOptimizer,\n ::Config,\n)\n MOI.Utilities.set_mock_optimize!(\n model,\n (mock::MOI.Utilities.MockOptimizer) -> MOIU.mock_optimize!(\n mock,\n MOI.OPTIMAL,\n (MOI.FEASIBLE_POINT, [1.0]),\n ),\n )\n return\nend","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Finally, you also need to implement Test.version_added. If we added this test when the latest released version of MOI was v0.10.5, define:","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"version_added(::typeof(test_unit_optimize!_twice)) = v\"0.10.6\"","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Step 6","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"Commit the changes to git from ~/.julia/dev/MathOptInterface and submit the PR for review.","category":"page"},{"location":"moi/submodules/Test/overview/","page":"Overview","title":"Overview","text":"tip: Tip\nIf you need help writing a test, open an issue on GitHub, or ask the Developer Chatroom.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"EditURL = \"pdhg.jl\"","category":"page"},{"location":"tutorials/algorithms/pdhg/#Writing-a-solver-interface","page":"Writing a solver interface","title":"Writing a solver interface","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The purpose of this tutorial is to demonstrate how to implement a basic solver interface to MathOptInterface. As a motivating example, we implement the Primal Dual Hybrid Gradient (PDHG) method. PDHG is a first-order method that can solve convex optimization problems.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Google has a good introduction to the math behind PDLP, which is a variant of PDHG specialized for linear programs.","category":"page"},{"location":"tutorials/algorithms/pdhg/#Required-packages","page":"Writing a solver interface","title":"Required packages","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"This tutorial requires the following packages:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"using JuMP\nimport LinearAlgebra\nimport MathOptInterface as MOI\nimport Printf\nimport SparseArrays","category":"page"},{"location":"tutorials/algorithms/pdhg/#Primal-Dual-Hybrid-Gradient","page":"Writing a solver interface","title":"Primal Dual Hybrid Gradient","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The following function is a pedagogical implementation of PDHG that solves the linear program:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"beginaligned\ntextmin c^top x \ntextsubject to Ax = b \n x ge 0\nendaligned","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Note that this implementation is intentionally kept simple. It is not robust nor efficient, and it does not incorporate the theoretical improvements in the PDLP paper. It does use two workspace vectors so that the body of the iteration loop is non-allocating.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function solve_pdhg(\n A::SparseArrays.SparseMatrixCSC{Float64,Int},\n b::Vector{Float64},\n c::Vector{Float64};\n maximum_iterations::Int = 100_000,\n tol::Float64 = 1e-4,\n verbose::Bool = true,\n log_frequency::Int = 1_000,\n)\n printf(x::Float64) = Printf.@sprintf(\"% 1.6e\", x)\n printf(x::Int) = Printf.@sprintf(\"%6d\", x)\n m, n = size(A)\n η = τ = 1 / LinearAlgebra.norm(A) - 1e-6\n x, x_next, y, k, status = zeros(n), zeros(n), zeros(m), 0, MOI.OTHER_ERROR\n m_workspace, n_workspace = zeros(m), zeros(n)\n if verbose\n println(\n \" iter pobj dobj pfeas dfeas objfeas\",\n )\n end\n while status == MOI.OTHER_ERROR\n k += 1\n # =====================================================================\n # This block computes x_next = max.(0.0, x - η * (A' * y + c))\n LinearAlgebra.mul!(x_next, A', y)\n LinearAlgebra.axpby!(-η, c, -η, x_next)\n x_next .+= x\n x_next .= max.(0.0, x_next)\n # =====================================================================\n # This block computes y += τ * (A * (2 * x_next - x) - b)\n copy!(n_workspace, x_next)\n LinearAlgebra.axpby!(-1.0, x, 2.0, n_workspace)\n LinearAlgebra.mul!(y, A, n_workspace, τ, 1.0)\n LinearAlgebra.axpy!(-τ, b, y)\n # =====================================================================\n copy!(x, x_next)\n # =====================================================================\n # This block computes pfeas = LinearAlgebra.norm(A * x - b)\n LinearAlgebra.mul!(m_workspace, A, x)\n m_workspace .-= b\n pfeas = LinearAlgebra.norm(m_workspace)\n # =====================================================================\n # This block computes dfeas = LinearAlgebra.norm(min.(0.0, A' * y + c))\n LinearAlgebra.mul!(n_workspace, A', y)\n n_workspace .+= c\n n_workspace .= min.(0.0, n_workspace)\n dfeas = LinearAlgebra.norm(n_workspace)\n # =====================================================================\n objfeas = abs(LinearAlgebra.dot(c, x) + LinearAlgebra.dot(b, y))\n if pfeas <= tol && dfeas <= tol && objfeas <= tol\n status = MOI.OPTIMAL\n elseif k == maximum_iterations\n status = MOI.ITERATION_LIMIT\n end\n if verbose && (mod(k, log_frequency) == 0 || status != MOI.OTHER_ERROR)\n logs = printf.((k, c' * x, -b' * y, pfeas, dfeas, objfeas))\n println(join(logs, \" \"))\n end\n end\n return status, k, x, y\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Here's an example:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"A = [0.0 -1.0 -1.0 0.0 0.0; 6.0 8.0 0.0 -1.0 0.0; 7.0 12.0 0.0 0.0 -1.0]\nb = [-3.0, 100.0, 120.0]\nc = [12.0, 20.0, 0.0, 0.0, 0.0]\nstatus, k, x, y = solve_pdhg(SparseArrays.sparse(A), b, c);\nnothing #hide","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The termination status is:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"status","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The solve took the following number of iterations:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"k","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The primal solution is:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"x","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The dual multipliers are:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"y","category":"page"},{"location":"tutorials/algorithms/pdhg/#The-MOI-interface","page":"Writing a solver interface","title":"The MOI interface","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Converting a linear program from the modeler's form into the A, b, and c matrices of the standard form required by our implementation of PDHG is tedious and error-prone. This section walks through how to implement a basic interface to MathOptInterface, so that we can use our algorithm from JuMP.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"For a more comprehensive guide, see Implementing a solver interface.","category":"page"},{"location":"tutorials/algorithms/pdhg/#The-Optimizer-type","page":"Writing a solver interface","title":"The Optimizer type","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Create an optimizer by subtyping MOI.AbstractOptimizer. By convention, the name of this type is Optimizer, and most optimizers are available as PackageName.Optimizer.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The fields inside the optimizer are arbitrary. Store whatever is useful.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"\"\"\"\n Optimizer()\n\nCreate a new optimizer for PDHG.\n\"\"\"\nmutable struct Optimizer <: MOI.AbstractOptimizer\n # A mapping from variable to column\n x_to_col::Dict{MOI.VariableIndex,Int}\n # A mapping from constraint to rows\n ci_to_rows::Dict{\n MOI.ConstraintIndex{MOI.VectorAffineFunction{Float64},MOI.Zeros},\n Vector{Int},\n }\n # Information from solve_pdhg\n status::MOI.TerminationStatusCode\n iterations::Int\n x::Vector{Float64}\n y::Vector{Float64}\n # Other useful quantities\n solve_time::Float64\n obj_value::Float64\n\n function Optimizer()\n F = MOI.VectorAffineFunction{Float64}\n return new(\n Dict{MOI.VariableIndex,Int}(),\n Dict{MOI.ConstraintIndex{F,MOI.Zeros},Vector{Int}}(),\n MOI.OPTIMIZE_NOT_CALLED,\n 0,\n Float64[],\n Float64[],\n 0.0,\n 0.0,\n )\n end\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Now that we have an Optimizer, we need to implement two methods: MOI.is_empty and MOI.empty!. These are called whenever MOI needs to ensure that the optimizer is in a clean state.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.is_empty(model::Optimizer)\n # You might want to check every field, not just a few\n return isempty(model.x_to_col) && model.status == MOI.OPTIMIZE_NOT_CALLED\nend\n\nfunction MOI.empty!(model::Optimizer)\n empty!(model.x_to_col)\n empty!(model.ci_to_rows)\n model.status = MOI.OPTIMIZE_NOT_CALLED\n model.iterations = 0\n model.solve_time = 0.0\n model.obj_value = 0.0\n empty!(model.x)\n empty!(model.y)\n return\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Next, we need to define what constraints the optimizer supports. Since our standard form was Ax = b, we support only Ax + b in 0, which is a MOI.VectorAffineFunction in MOI.Zeros constraint. Note that you might have expected Ax - b in 0. We'll address the difference in the sign of b in a few places later on.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.supports_constraint(\n ::Optimizer,\n ::Type{MOI.VectorAffineFunction{Float64}},\n ::Type{MOI.Zeros},\n)\n return true\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"By default, MOI assumes that it can add free variables. This isn't true for our standard form, because we support only x ge 0. Let's tell MOI that:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.supports_add_constrained_variables(::Optimizer, ::Type{MOI.Reals}) = false\n\nfunction MOI.supports_add_constrained_variables(\n ::Optimizer,\n ::Type{MOI.Nonnegatives},\n)\n return true\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The objective function that we support is MOI.ScalarAffineFunction:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.supports(\n ::Optimizer,\n ::MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}},\n)\n return true\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Finally, we'll implement MOI.SolverName so that MOI knows how to print the name of our optimizer:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.get(::Optimizer, ::MOI.SolverName) = \"PDHG\"","category":"page"},{"location":"tutorials/algorithms/pdhg/#GenericModel","page":"Writing a solver interface","title":"GenericModel","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The simplest way to solve a problem with your optimizer is to implement the method MOI.optimize!(dest::Optimizer, src::MOI.ModelLike), where src is an input model and dest is your empty optimizer.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"To implement this method you would need to query the variables and constraints in src and the convert these into the matrix data expected by solve_pdhg. Since matrix input is a common requirement of solvers, MOI includes utilities to simplify the process.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"The downside of the utilities is that they involve a highly parameterized type with a large number of possible configurations.The upside of the utilities is that, once setup, they requires few lines of code to extract the problem matrices.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"First, we need to define the set of sets that our standard form supports. For PDHG, we support only Ax + b in {0}:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.Utilities.@product_of_sets(SetOfZeros, MOI.Zeros)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Then, we define a MOI.Utilities.GenericModel. This is the highly parameterized type that can be customized.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"const CacheModel = MOI.Utilities.GenericModel{\n # The coefficient type is Float64\n Float64,\n # We use the default objective container\n MOI.Utilities.ObjectiveContainer{Float64},\n # We use the default variable container\n MOI.Utilities.VariablesContainer{Float64},\n # We use a Matrix of Constraints to represent `A * x + b in K`\n MOI.Utilities.MatrixOfConstraints{\n # The number type is Float64\n Float64,\n # The matrix type `A` is a sparse matrix\n MOI.Utilities.MutableSparseMatrixCSC{\n # ... with Float64 coefficients\n Float64,\n # ... Int64 row and column indices\n Int,\n # ... and it uses one-based indexing\n MOI.Utilities.OneBasedIndexing,\n },\n # The vector type `b` is a Julia `Vector`\n Vector{Float64},\n # The set type `K` is the SetOfZeros type we defined above\n SetOfZeros{Float64},\n },\n}","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"As one example of possible alternate configuration, if you were interfacing with a solver written in C that expected zero-based indices, you might use instead:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.Utilities.MutableSparseMatrixCSC{\n Cdouble,\n Cint,\n MOI.Utilities.ZeroBasedIndexing,\n}","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"tip: Tip\nThe best place to look at how to configure GenericModel is to find an existing solver with the same input standard form that you require.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"We need to make one modification to CacheModel to tell MOI that x in mathbbR_+ is equivalent to adding variables in MOI.GreaterThan:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.add_constrained_variables(model::CacheModel, set::MOI.Nonnegatives)\n x = MOI.add_variables(model, MOI.dimension(set))\n MOI.add_constraint.(model, x, MOI.GreaterThan(0.0))\n ci = MOI.ConstraintIndex{MOI.VectorOfVariables,MOI.Nonnegatives}(x[1].value)\n return x, ci\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/#The-optimize-method","page":"Writing a solver interface","title":"The optimize method","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Now we define the most important method for our optimizer.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.optimize!(dest::Optimizer, src::MOI.ModelLike)\n # In addition to the values returned by `solve_pdhg`, it may be useful to\n # record other attributes, such as the solve time.\n start_time = time()\n # Construct a cache to store our problem data:\n cache = CacheModel()\n # MOI includes a utility to copy an arbitrary `src` model into `cache`. The\n # return, `index_map`, is a mapping from indices in `src` to indices in\n # `dest`.\n index_map = MOI.copy_to(cache, src)\n # Now we can access the `A` matrix:\n A = convert(\n SparseArrays.SparseMatrixCSC{Float64,Int},\n cache.constraints.coefficients,\n )\n # and the b vector (note that MOI models Ax = b as Ax + b in {0}, so b\n # differs by -):\n b = -cache.constraints.constants\n # The `c` vector is more involved, because we need to account for the\n # objective sense:\n sense = ifelse(cache.objective.sense == MOI.MAX_SENSE, -1, 1)\n F = MOI.ScalarAffineFunction{Float64}\n obj = MOI.get(src, MOI.ObjectiveFunction{F}())\n c = zeros(size(A, 2))\n for term in obj.terms\n c[term.variable.value] += sense * term.coefficient\n end\n # Now we can solve the problem with PDHG and record the solution:\n dest.status, dest.iterations, dest.x, dest.y = solve_pdhg(A, b, c)\n # To help assign the values of the x and y vectors to the appropriate\n # variables and constrats, we need a map of the constraint indices to their\n # row in the `dest` matrix and a map of the variable indices to their\n # column in the `dest` matrix:\n F, S = MOI.VectorAffineFunction{Float64}, MOI.Zeros\n for src_ci in MOI.get(src, MOI.ListOfConstraintIndices{F,S}())\n dest.ci_to_rows[index_map[src_ci]] =\n MOI.Utilities.rows(cache.constraints.sets, index_map[src_ci])\n end\n for (i, src_x) in enumerate(MOI.get(src, MOI.ListOfVariableIndices()))\n dest.x_to_col[index_map[src_x]] = i\n end\n # We can now record two derived quantities: the primal objective value and\n # the solve time.\n dest.obj_value = obj.constant + sense * c' * dest.x\n dest.solve_time = time() - start_time\n # We need to return the index map, and `false`, to indicate to MOI that we\n # do not support incremental modification of the model.\n return index_map, false\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/#Solutions","page":"Writing a solver interface","title":"Solutions","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Now that we know how to solve a model, let's implement the required solution attributes.","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"First, we need to tell MOI how many solutions we found via MOI.ResultCount:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.get(model::Optimizer, ::MOI.ResultCount)\n return model.status == MOI.OPTIMAL ? 1 : 0\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"and implement MOI.RawStatusString to provide a user-readable string that describes what happened:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.get(model::Optimizer, ::MOI.RawStatusString)\n if model.status == MOI.OPTIMAL\n return \"found a primal-dual optimal solution (subject to tolerances)\"\n end\n return \"failed to solve\"\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Then, we need to implement the three types of problem status: MOI.TerminationStatus, MOI.PrimalStatus and MOI.DualStatus:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.get(model::Optimizer, ::MOI.TerminationStatus) = model.status\n\nfunction MOI.get(model::Optimizer, attr::Union{MOI.PrimalStatus,MOI.DualStatus})\n if attr.result_index == 1 && model.status == MOI.OPTIMAL\n return MOI.FEASIBLE_POINT\n end\n return MOI.NO_SOLUTION\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Now we can implement MOI.ObjectiveValue, MOI.VariablePrimal, and MOI.ConstraintDual:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"function MOI.get(model::Optimizer, attr::MOI.ObjectiveValue)\n MOI.check_result_index_bounds(model, attr)\n return model.obj_value\nend\n\nfunction MOI.get(\n model::Optimizer,\n attr::MOI.VariablePrimal,\n x::MOI.VariableIndex,\n)\n MOI.check_result_index_bounds(model, attr)\n return model.x[model.x_to_col[x]]\nend\n\nfunction MOI.get(\n model::Optimizer,\n attr::MOI.ConstraintDual,\n ci::MOI.ConstraintIndex{MOI.VectorAffineFunction{Float64},MOI.Zeros},\n)\n MOI.check_result_index_bounds(model, attr)\n # MOI models Ax = b as Ax + b in {0}, so the dual differs by -\n return -model.y[model.ci_to_rows[ci]]\nend","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Some other useful result quantities are MOI.SolveTimeSec and MOI.BarrierIterations:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"MOI.get(model::Optimizer, ::MOI.SolveTimeSec) = model.solve_time\nMOI.get(model::Optimizer, ::MOI.BarrierIterations) = model.iterations","category":"page"},{"location":"tutorials/algorithms/pdhg/#A-JuMP-example","page":"Writing a solver interface","title":"A JuMP example","text":"","category":"section"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Now we can solve an arbitrary linear program with JuMP. Here's the same standard form as before:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"model = Model(Optimizer)\n@variable(model, x[1:5] >= 0)\n@objective(model, Min, c' * x)\n@constraint(model, c3, A * x == b)\noptimize!(model)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"solution_summary(model; verbose = true)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"But we could also have written:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"model = Model(Optimizer)\n@variable(model, x >= 0)\n@variable(model, 0 <= y <= 3)\n@objective(model, Min, 12x + 20y)\n@constraint(model, c1, 6x + 8y >= 100)\n@constraint(model, c2, 7x + 12y >= 120)\noptimize!(model)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"solution_summary(model; verbose = true)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Other variations are also possible:","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"model = Model(Optimizer)\n@variable(model, x[1:5] >= 0)\n@objective(model, Max, -c' * x)\n@constraint(model, c4, A * x .== b)\noptimize!(model)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"solution_summary(model; verbose = true)","category":"page"},{"location":"tutorials/algorithms/pdhg/","page":"Writing a solver interface","title":"Writing a solver interface","text":"Behind the scenes, JuMP and MathOptInterface reformulate the problem from the modeller's form into the standard form defined by our Optimizer.","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/submodules/Utilities/reference.md\"","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/submodules/Utilities/reference/#Utilities.Model","page":"API Reference","title":"Utilities.Model","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.Model","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.Model","page":"API Reference","title":"MathOptInterface.Utilities.Model","text":"MOI.Utilities.Model{T}() where {T}\n\nAn implementation of ModelLike that supports all functions and sets defined in MOI. It is parameterized by the coefficient type.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Utilities.Model{Float64}()\nMOIU.Model{Float64}\n├ ObjectiveSense: FEASIBILITY_SENSE\n├ ObjectiveFunctionType: MOI.ScalarAffineFunction{Float64}\n├ NumberOfVariables: 0\n└ NumberOfConstraints: 0\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#Utilities.UniversalFallback","page":"API Reference","title":"Utilities.UniversalFallback","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.UniversalFallback","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.UniversalFallback","page":"API Reference","title":"MathOptInterface.Utilities.UniversalFallback","text":"UniversalFallback\n\nThe UniversalFallback can be applied on a MOI.ModelLike model to create the model UniversalFallback(model) supporting any constraint and attribute. This allows to have a specialized implementation in model for performance critical constraints and attributes while still supporting other attributes with a small performance penalty. Note that model is unaware of constraints and attributes stored by UniversalFallback so this is not appropriate if model is an optimizer (for this reason, MOI.optimize! has not been implemented). In that case, optimizer bridges should be used instead.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#Utilities.@model","page":"API Reference","title":"Utilities.@model","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.@model\nUtilities.GenericModel\nUtilities.GenericOptimizer","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.@model","page":"API Reference","title":"MathOptInterface.Utilities.@model","text":"macro model(\n model_name,\n scalar_sets,\n typed_scalar_sets,\n vector_sets,\n typed_vector_sets,\n scalar_functions,\n typed_scalar_functions,\n vector_functions,\n typed_vector_functions,\n is_optimizer = false\n)\n\nCreates a type model_name implementing the MOI model interface and supporting all combinations of the provided functions and sets.\n\nEach typed_ scalar/vector sets/functions argument is a tuple of types. A type is \"typed\" if it has a coefficient {T} as the first type parameter.\n\nTuple syntax\n\nTo give no set/function, write (). To give one set or function X, write (X,).\n\nis_optimizer\n\nIf is_optimizer = true, the resulting struct is a of GenericOptimizer, which is a subtype of MOI.AbstractOptimizer, otherwise, it is a GenericModel, which is a subtype of MOI.ModelLike.\n\nVariableIndex\n\nThe function MOI.VariableIndex must not be given in scalar_functions.\nThe model supports MOI.VariableIndex-in-S constraints where S is MOI.EqualTo, MOI.GreaterThan, MOI.LessThan, MOI.Interval, MOI.Integer, MOI.ZeroOne, MOI.Semicontinuous or MOI.Semiinteger.\nThe sets supported with MOI.VariableIndex cannot be controlled from the macro; use UniversalFallback to support more sets.\n\nExample\n\nThe model describing a linear program would be:\n\n@model(\n LPModel, # model_name\n (), # untyped scalar sets\n (MOI.EqualTo, MOI.GreaterThan, MOI.LessThan, MOI.Interval), # typed scalar sets\n (MOI.Zeros, MOI.Nonnegatives, MOI.Nonpositives), # untyped vector sets\n (), # typed vector sets\n (), # untyped scalar functions\n (MOI.ScalarAffineFunction,), # typed scalar functions\n (MOI.VectorOfVariables,), # untyped vector functions\n (MOI.VectorAffineFunction,), # typed vector functions\n false, # is_optimizer\n)\n\n\n\n\n\n","category":"macro"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.GenericModel","page":"API Reference","title":"MathOptInterface.Utilities.GenericModel","text":"mutable struct GenericModel{T,O,V,C} <: AbstractModelLike{T}\n\nImplements a model supporting coefficients of type T and:\n\nAn objective function stored in .objective::O\nVariables and VariableIndex constraints stored in .variable_bounds::V\nF-in-S constraints (excluding VariableIndex constraints) stored in .constraints::C\n\nAll interactions take place via the MOI interface, so the types O, V, and C must implement the API as needed for their functionality.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.GenericOptimizer","page":"API Reference","title":"MathOptInterface.Utilities.GenericOptimizer","text":"mutable struct GenericOptimizer{T,O,V,C} <: AbstractOptimizer{T}\n\nImplements a model supporting coefficients of type T and:\n\nAn objective function stored in .objective::O\nVariables and VariableIndex constraints stored in .variable_bounds::V\nF-in-S constraints (excluding VariableIndex constraints) stored in .constraints::C\n\nAll interactions take place via the MOI interface, so the types O, V, and C must implement the API as needed for their functionality.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.objective","page":"API Reference","title":".objective","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.ObjectiveContainer","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ObjectiveContainer","page":"API Reference","title":"MathOptInterface.Utilities.ObjectiveContainer","text":"ObjectiveContainer{T}\n\nA helper struct to simplify the handling of objective functions in Utilities.Model.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.variables","page":"API Reference","title":".variables","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.VariablesContainer\nUtilities.FreeVariables","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.VariablesContainer","page":"API Reference","title":"MathOptInterface.Utilities.VariablesContainer","text":"struct VariablesContainer{T} <: AbstractVectorBounds\n set_mask::Vector{UInt16}\n lower::Vector{T}\n upper::Vector{T}\nend\n\nA struct for storing variables and VariableIndex-related constraints. Used in MOI.Utilities.Model by default.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.FreeVariables","page":"API Reference","title":"MathOptInterface.Utilities.FreeVariables","text":"mutable struct FreeVariables <: MOI.ModelLike\n n::Int64\n FreeVariables() = new(0)\nend\n\nA struct for storing free variables that can be used as the variables field of GenericModel or GenericModel. It represents a model that does not support any constraint nor objective function.\n\nExample\n\nThe following model type represents a conic model in geometric form. As opposed to VariablesContainer, FreeVariables does not support constraint bounds so they are bridged into an affine constraint in the MOI.Nonnegatives cone as expected for the geometric conic form.\n\njulia> MOI.Utilities.@product_of_sets(\n Cones,\n MOI.Zeros,\n MOI.Nonnegatives,\n MOI.SecondOrderCone,\n MOI.PositiveSemidefiniteConeTriangle,\n);\n\njulia> const ConicModel{T} = MOI.Utilities.GenericOptimizer{\n T,\n MOI.Utilities.ObjectiveContainer{T},\n MOI.Utilities.FreeVariables,\n MOI.Utilities.MatrixOfConstraints{\n T,\n MOI.Utilities.MutableSparseMatrixCSC{\n T,\n Int,\n MOI.Utilities.OneBasedIndexing,\n },\n Vector{T},\n Cones{T},\n },\n};\n\njulia> model = MOI.instantiate(ConicModel{Float64}, with_bridge_type=Float64);\n\njulia> x = MOI.add_variable(model)\nMathOptInterface.VariableIndex(1)\n\njulia> c = MOI.add_constraint(model, x, MOI.GreaterThan(1.0))\nMathOptInterface.ConstraintIndex{MathOptInterface.VariableIndex, MathOptInterface.GreaterThan{Float64}}(1)\n\njulia> MOI.Bridges.is_bridged(model, c)\ntrue\n\njulia> bridge = MOI.Bridges.bridge(model, c)\nMathOptInterface.Bridges.Constraint.VectorizeBridge{Float64, MathOptInterface.VectorAffineFunction{Float64}, MathOptInterface.Nonnegatives, MathOptInterface.VariableIndex}(MathOptInterface.ConstraintIndex{MathOptInterface.VectorAffineFunction{Float64}, MathOptInterface.Nonnegatives}(1), 1.0)\n\njulia> bridge.vector_constraint\nMathOptInterface.ConstraintIndex{MathOptInterface.VectorAffineFunction{Float64}, MathOptInterface.Nonnegatives}(1)\n\njulia> MOI.Bridges.is_bridged(model, bridge.vector_constraint)\nfalse\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.constraints","page":"API Reference","title":".constraints","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.VectorOfConstraints\nUtilities.StructOfConstraints\nUtilities.@struct_of_constraints_by_function_types\nUtilities.@struct_of_constraints_by_set_types\nUtilities.struct_of_constraint_code","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.VectorOfConstraints","page":"API Reference","title":"MathOptInterface.Utilities.VectorOfConstraints","text":"mutable struct VectorOfConstraints{\n F<:MOI.AbstractFunction,\n S<:MOI.AbstractSet,\n} <: MOI.ModelLike\n constraints::CleverDicts.CleverDict{\n MOI.ConstraintIndex{F,S},\n Tuple{F,S},\n typeof(CleverDicts.key_to_index),\n typeof(CleverDicts.index_to_key),\n }\nend\n\nA struct storing F-in-S constraints as a mapping between the constraint indices to the corresponding tuple of function and set.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.StructOfConstraints","page":"API Reference","title":"MathOptInterface.Utilities.StructOfConstraints","text":"abstract type StructOfConstraints <: MOI.ModelLike end\n\nA struct storing a subfields other structs storing constraints of different types.\n\nSee Utilities.@struct_of_constraints_by_function_types and Utilities.@struct_of_constraints_by_set_types.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.@struct_of_constraints_by_function_types","page":"API Reference","title":"MathOptInterface.Utilities.@struct_of_constraints_by_function_types","text":"Utilities.@struct_of_constraints_by_function_types(name, func_types...)\n\nGiven a vector of n function types (F1, F2,..., Fn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of function type Fi.\n\nThe expression Fi can also be a union in which case any constraint for which the function type is in the union is stored in the field with type Ci.\n\n\n\n\n\n","category":"macro"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.@struct_of_constraints_by_set_types","page":"API Reference","title":"MathOptInterface.Utilities.@struct_of_constraints_by_set_types","text":"Utilities.@struct_of_constraints_by_set_types(name, func_types...)\n\nGiven a vector of n set types (S1, S2,..., Sn) in func_types, defines a subtype of StructOfConstraints of name name and which type parameters {T, C1, C2, ..., Cn}. It contains n field where the ith field has type Ci and stores the constraints of set type Si. The expression Si can also be a union in which case any constraint for which the set type is in the union is stored in the field with type Ci. This can be useful if Ci is a MatrixOfConstraints in order to concatenate the coefficients of constraints of several different set types in the same matrix.\n\n\n\n\n\n","category":"macro"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.struct_of_constraint_code","page":"API Reference","title":"MathOptInterface.Utilities.struct_of_constraint_code","text":"struct_of_constraint_code(struct_name, types, field_types = nothing)\n\nGiven a vector of n Union{SymbolFun,_UnionSymbolFS{SymbolFun}} or Union{SymbolSet,_UnionSymbolFS{SymbolSet}} in types, defines a subtype of StructOfConstraints of name name and which type parameters {T, F1, F2, ..., Fn} if field_types is nothing and a {T} otherwise. It contains n field where the ith field has type Ci if field_types is nothing and type field_types[i] otherwise. If types is vector of Union{SymbolFun,_UnionSymbolFS{SymbolFun}} (resp. Union{SymbolSet,_UnionSymbolFS{SymbolSet}}) then the constraints of that function (resp. set) type are stored in the corresponding field.\n\nThis function is used by the macros @model, @struct_of_constraints_by_function_types and @struct_of_constraints_by_set_types.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Caching-optimizer","page":"API Reference","title":"Caching optimizer","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.CachingOptimizer\nUtilities.attach_optimizer\nUtilities.reset_optimizer\nUtilities.drop_optimizer\nUtilities.state\nUtilities.mode","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.CachingOptimizer","page":"API Reference","title":"MathOptInterface.Utilities.CachingOptimizer","text":"CachingOptimizer\n\nCachingOptimizer is an intermediate layer that stores a cache of the model and links it with an optimizer. It supports incremental model construction and modification even when the optimizer doesn't.\n\nConstructors\n\n CachingOptimizer(cache::MOI.ModelLike, optimizer::AbstractOptimizer)\n\nCreates a CachingOptimizer in AUTOMATIC mode, with the optimizer optimizer.\n\nThe type of the optimizer returned is CachingOptimizer{typeof(optimizer), typeof(cache)} so it does not support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.\n\n CachingOptimizer(cache::MOI.ModelLike, mode::CachingOptimizerMode)\n\nCreates a CachingOptimizer in the NO_OPTIMIZER state and mode mode.\n\nThe type of the optimizer returned is CachingOptimizer{MOI.AbstractOptimizer,typeof(cache)} so it does support the function reset_optimizer(::CachingOptimizer, new_optimizer) if the type of new_optimizer is different from the type of optimizer.\n\nAbout the type\n\nStates\n\nA CachingOptimizer may be in one of three possible states (CachingOptimizerState):\n\nNO_OPTIMIZER: The CachingOptimizer does not have any optimizer.\nEMPTY_OPTIMIZER: The CachingOptimizer has an empty optimizer. The optimizer is not synchronized with the cached model.\nATTACHED_OPTIMIZER: The CachingOptimizer has an optimizer, and it is synchronized with the cached model.\n\nModes\n\nA CachingOptimizer has two modes of operation (CachingOptimizerMode):\n\nMANUAL: The only methods that change the state of the CachingOptimizer are Utilities.reset_optimizer, Utilities.drop_optimizer, and Utilities.attach_optimizer. Attempting to perform an operation in the incorrect state results in an error.\nAUTOMATIC: The CachingOptimizer changes its state when necessary. For example, optimize! will automatically call attach_optimizer (an optimizer must have been previously set). Attempting to add a constraint or perform a modification not supported by the optimizer results in a drop to EMPTY_OPTIMIZER mode.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.attach_optimizer","page":"API Reference","title":"MathOptInterface.Utilities.attach_optimizer","text":"attach_optimizer(model::CachingOptimizer)\n\nAttaches the optimizer to model, copying all model data into it. Can be called only from the EMPTY_OPTIMIZER state. If the copy succeeds, the CachingOptimizer will be in state ATTACHED_OPTIMIZER after the call, otherwise an error is thrown; see MOI.copy_to for more details on which errors can be thrown.\n\n\n\n\n\nMOIU.attach_optimizer(model::GenericModel)\n\nCall MOIU.attach_optimizer on the backend of model.\n\nCannot be called in direct mode.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.reset_optimizer","page":"API Reference","title":"MathOptInterface.Utilities.reset_optimizer","text":"reset_optimizer(m::CachingOptimizer, optimizer::MOI.AbstractOptimizer)\n\nSets or resets m to have the given empty optimizer optimizer.\n\nCan be called from any state. An assertion error will be thrown if optimizer is not empty.\n\nThe CachingOptimizer m will be in state EMPTY_OPTIMIZER after the call.\n\n\n\n\n\nreset_optimizer(m::CachingOptimizer)\n\nDetaches and empties the current optimizer. Can be called from ATTACHED_OPTIMIZER or EMPTY_OPTIMIZER state. The CachingOptimizer will be in state EMPTY_OPTIMIZER after the call.\n\n\n\n\n\nMOIU.reset_optimizer(model::GenericModel, optimizer::MOI.AbstractOptimizer)\n\nCall MOIU.reset_optimizer on the backend of model.\n\nCannot be called in direct mode.\n\n\n\n\n\nMOIU.reset_optimizer(model::GenericModel)\n\nCall MOIU.reset_optimizer on the backend of model.\n\nCannot be called in direct mode.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.drop_optimizer","page":"API Reference","title":"MathOptInterface.Utilities.drop_optimizer","text":"drop_optimizer(m::CachingOptimizer)\n\nDrops the optimizer, if one is present. Can be called from any state. The CachingOptimizer will be in state NO_OPTIMIZER after the call.\n\n\n\n\n\nMOIU.drop_optimizer(model::GenericModel)\n\nCall MOIU.drop_optimizer on the backend of model.\n\nCannot be called in direct mode.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.state","page":"API Reference","title":"MathOptInterface.Utilities.state","text":"state(m::CachingOptimizer)::CachingOptimizerState\n\nReturns the state of the CachingOptimizer m. See Utilities.CachingOptimizer.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.mode","page":"API Reference","title":"MathOptInterface.Utilities.mode","text":"mode(m::CachingOptimizer)::CachingOptimizerMode\n\nReturns the operating mode of the CachingOptimizer m. See Utilities.CachingOptimizer.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Mock-optimizer","page":"API Reference","title":"Mock optimizer","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.MockOptimizer","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.MockOptimizer","page":"API Reference","title":"MathOptInterface.Utilities.MockOptimizer","text":"MockOptimizer\n\nMockOptimizer is a fake optimizer especially useful for testing. Its main feature is that it can store the values that should be returned for each attribute.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#Printing","page":"API Reference","title":"Printing","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.latex_formulation","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.latex_formulation","page":"API Reference","title":"MathOptInterface.Utilities.latex_formulation","text":"latex_formulation(model::MOI.ModelLike; kwargs...)\n\nWrap model in a type so that it can be pretty-printed as text/latex in a notebook like IJulia, or in Documenter.\n\nTo render the model, end the cell with latex_formulation(model), or call display(latex_formulation(model)) in to force the display of the model from inside a function.\n\nPossible keyword arguments are:\n\nsimplify_coefficients : Simplify coefficients if possible by omitting them or removing trailing zeros.\ndefault_name : The name given to variables with an empty name.\nprint_types : Print the MOI type of each function and set for clarity.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Copy-utilities","page":"API Reference","title":"Copy utilities","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.default_copy_to\nUtilities.IndexMap\nUtilities.identity_index_map\nUtilities.ModelFilter\nUtilities.loadfromstring!","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.default_copy_to","page":"API Reference","title":"MathOptInterface.Utilities.default_copy_to","text":"default_copy_to(dest::MOI.ModelLike, src::MOI.ModelLike)\n\nA default implementation of MOI.copy_to(dest, src) for models that implement the incremental interface, that is, MOI.supports_incremental_interface returns true.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.IndexMap","page":"API Reference","title":"MathOptInterface.Utilities.IndexMap","text":"IndexMap()\n\nThe dictionary-like object returned by MOI.copy_to.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.identity_index_map","page":"API Reference","title":"MathOptInterface.Utilities.identity_index_map","text":"identity_index_map(model::MOI.ModelLike)\n\nReturn an IndexMap that maps all variable and constraint indices of model to themselves.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ModelFilter","page":"API Reference","title":"MathOptInterface.Utilities.ModelFilter","text":"ModelFilter(filter::Function, model::MOI.ModelLike)\n\nA layer to filter out various components of model.\n\nThe filter function takes a single argument, which is each element from the list returned by the attributes below. It returns true if the element should be visible in the filtered model and false otherwise.\n\nThe components that are filtered are:\n\nEntire constraint types via:\nMOI.ListOfConstraintTypesPresent\nIndividual constraints via:\nMOI.ListOfConstraintIndices{F,S}\nSpecific attributes via:\nMOI.ListOfModelAttributesSet\nMOI.ListOfConstraintAttributesSet\nMOI.ListOfVariableAttributesSet\n\nwarning: Warning\nThe list of attributes filtered may change in a future release. You should write functions that are generic and not limited to the five types listed above. Thus, you should probably define a fallback filter(::Any) = true.\n\nSee below for examples of how this works.\n\nnote: Note\nThis layer has a limited scope. It is intended by be used in conjunction with MOI.copy_to.\n\nExample: copy model excluding integer constraints\n\nUse the do syntax to provide a single function.\n\nfiltered_src = MOI.Utilities.ModelFilter(src) do item\n return item != (MOI.VariableIndex, MOI.Integer)\nend\nMOI.copy_to(dest, filtered_src)\n\nExample: copy model excluding names\n\nUse type dispatch to simplify the implementation:\n\nmy_filter(::Any) = true # Note the generic fallback\nmy_filter(::MOI.VariableName) = false\nmy_filter(::MOI.ConstraintName) = false\nfiltered_src = MOI.Utilities.ModelFilter(my_filter, src)\nMOI.copy_to(dest, filtered_src)\n\nExample: copy irreducible infeasible subsystem\n\nmy_filter(::Any) = true # Note the generic fallback\nfunction my_filter(ci::MOI.ConstraintIndex)\n status = MOI.get(dest, MOI.ConstraintConflictStatus(), ci)\n return status != MOI.NOT_IN_CONFLICT\nend\nfiltered_src = MOI.Utilities.ModelFilter(my_filter, src)\nMOI.copy_to(dest, filtered_src)\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.loadfromstring!","page":"API Reference","title":"MathOptInterface.Utilities.loadfromstring!","text":"loadfromstring!(model, s)\n\nA utility function to aid writing tests.\n\nwarning: Warning\nThis function is not intended for widespread use. It is mainly used as a tool to simplify writing tests in MathOptInterface. Do not use it as an exchange format for storing or transmitting problem instances. Use the FileFormats submodule instead.\n\nExample\n\njulia> model = MOI.Utilities.Model{Float64}();\n\njulia> MOI.Utilities.loadfromstring!(model, \"\"\"\n variables: x, y, z\n constrainedvariable: [a, b, c] in Nonnegatives(3)\n minobjective::Float64: 2x + 3y\n con1: x + y <= 1.0\n con2: [x, y] in Nonnegatives(2)\n x >= 0.0\n \"\"\")\n\nNotes\n\nSpecial labels are:\n\nvariables\nminobjective\nmaxobjectives\n\nEverything else denotes a constraint with a name.\n\nAppend ::T to use an element type of T when parsing the function.\n\nDo not name VariableIndex constraints.\n\nExceptions\n\nx - y does NOT currently parse. Instead, write x + -1.0 * y.\nx^2 does NOT currently parse. Instead, write x * x.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Penalty-relaxation","page":"API Reference","title":"Penalty relaxation","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.PenaltyRelaxation\nUtilities.ScalarPenaltyRelaxation","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.PenaltyRelaxation","page":"API Reference","title":"MathOptInterface.Utilities.PenaltyRelaxation","text":"PenaltyRelaxation(\n penalties = Dict{MOI.ConstraintIndex,Float64}();\n default::Union{Nothing,T} = 1.0,\n)\n\nA problem modifier that, when passed to MOI.modify, destructively modifies the model in-place to create a penalized relaxation of the constraints.\n\nwarning: Warning\nThis is a destructive routine that modifies the model in-place. If you don't want to modify the original model, use JuMP.copy_model to create a copy before calling MOI.modify.\n\nReformulation\n\nSee Utilities.ScalarPenaltyRelaxation for details of the reformulation.\n\nFor each constraint ci, the penalty passed to Utilities.ScalarPenaltyRelaxation is get(penalties, ci, default). If the value is nothing, because ci does not exist in penalties and default = nothing, then the constraint is skipped.\n\nReturn value\n\nMOI.modify(model, PenaltyRelaxation()) returns a Dict{MOI.ConstraintIndex,MOI.ScalarAffineFunction} that maps each constraint index to the corresponding y + z as a MOI.ScalarAffineFunction. In an optimal solution, query the value of these functions to compute the violation of each constraint.\n\nRelax a subset of constraints\n\nTo relax a subset of constraints, pass a penalties dictionary and set default = nothing.\n\nSupported constraint types\n\nThe penalty relaxation is currently limited to modifying MOI.ScalarAffineFunction and MOI.ScalarQuadraticFunction constraints in the linear sets MOI.LessThan, MOI.GreaterThan, MOI.EqualTo and MOI.Interval.\n\nIt does not include variable bound or integrality constraints, because these cannot be modified in-place.\n\nTo modify variable bounds, rewrite them as linear constraints.\n\nExample\n\njulia> model = MOI.Utilities.Model{Float64}();\n\njulia> x = MOI.add_variable(model);\n\njulia> c = MOI.add_constraint(model, 1.0 * x, MOI.LessThan(2.0));\n\njulia> map = MOI.modify(model, MOI.Utilities.PenaltyRelaxation(default = 2.0));\n\njulia> print(model)\nMinimize ScalarAffineFunction{Float64}:\n 0.0 + 2.0 v[2]\n\nSubject to:\n\nScalarAffineFunction{Float64}-in-LessThan{Float64}\n 0.0 + 1.0 v[1] - 1.0 v[2] <= 2.0\n\nVariableIndex-in-GreaterThan{Float64}\n v[2] >= 0.0\n\njulia> map[c] isa MOI.ScalarAffineFunction{Float64}\ntrue\n\njulia> model = MOI.Utilities.Model{Float64}();\n\njulia> x = MOI.add_variable(model);\n\njulia> c = MOI.add_constraint(model, 1.0 * x, MOI.LessThan(2.0));\n\njulia> map = MOI.modify(model, MOI.Utilities.PenaltyRelaxation(Dict(c => 3.0)));\n\njulia> print(model)\nMinimize ScalarAffineFunction{Float64}:\n 0.0 + 3.0 v[2]\n\nSubject to:\n\nScalarAffineFunction{Float64}-in-LessThan{Float64}\n 0.0 + 1.0 v[1] - 1.0 v[2] <= 2.0\n\nVariableIndex-in-GreaterThan{Float64}\n v[2] >= 0.0\n\njulia> map[c] isa MOI.ScalarAffineFunction{Float64}\ntrue\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ScalarPenaltyRelaxation","page":"API Reference","title":"MathOptInterface.Utilities.ScalarPenaltyRelaxation","text":"ScalarPenaltyRelaxation(penalty::T) where {T}\n\nA problem modifier that, when passed to MOI.modify, destructively modifies the constraint in-place to create a penalized relaxation of the constraint.\n\nwarning: Warning\nThis is a destructive routine that modifies the constraint in-place. If you don't want to modify the original model, use JuMP.copy_model to create a copy before calling MOI.modify.\n\nReformulation\n\nThe penalty relaxation modifies constraints of the form f(x) in S into f(x) + y - z in S, where y z ge 0, and then it introduces a penalty term into the objective of a times (y + z) (if minimizing, else -a), where a is penalty\n\nWhen S is MOI.LessThan or MOI.GreaterThan, we omit y or z respectively as a performance optimization.\n\nReturn value\n\nMOI.modify(model, ci, ScalarPenaltyRelaxation(penalty)) returns y + z as a MOI.ScalarAffineFunction. In an optimal solution, query the value of this function to compute the violation of the constraint.\n\nExample\n\njulia> model = MOI.Utilities.Model{Float64}();\n\njulia> x = MOI.add_variable(model);\n\njulia> c = MOI.add_constraint(model, 1.0 * x, MOI.LessThan(2.0));\n\njulia> f = MOI.modify(model, c, MOI.Utilities.ScalarPenaltyRelaxation(2.0));\n\njulia> print(model)\nMinimize ScalarAffineFunction{Float64}:\n 0.0 + 2.0 v[2]\n\nSubject to:\n\nScalarAffineFunction{Float64}-in-LessThan{Float64}\n 0.0 + 1.0 v[1] - 1.0 v[2] <= 2.0\n\nVariableIndex-in-GreaterThan{Float64}\n v[2] >= 0.0\n\njulia> f isa MOI.ScalarAffineFunction{Float64}\ntrue\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MatrixOfConstraints","page":"API Reference","title":"MatrixOfConstraints","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.MatrixOfConstraints","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.MatrixOfConstraints","page":"API Reference","title":"MathOptInterface.Utilities.MatrixOfConstraints","text":"mutable struct MatrixOfConstraints{T,AT,BT,ST} <: MOI.ModelLike\n coefficients::AT\n constants::BT\n sets::ST\n caches::Vector{Any}\n are_indices_mapped::Vector{BitSet}\n final_touch::Bool\nend\n\nRepresent ScalarAffineFunction and VectorAffinefunction constraints in a matrix form where the linear coefficients of the functions are stored in the coefficients field, the constants of the functions or sets are stored in the constants field. Additional information about the sets are stored in the sets field.\n\nThis model can only be used as the constraints field of a MOI.Utilities.AbstractModel.\n\nWhen the constraints are added, they are stored in the caches field. They are only loaded in the coefficients and constants fields once MOI.Utilities.final_touch is called. For this reason, MatrixOfConstraints should not be used by an incremental interface. Use MOI.copy_to instead.\n\nThe constraints can be added in two different ways:\n\nWith add_constraint, in which case a canonicalized copy of the function is stored in caches.\nWith pass_nonvariable_constraints, in which case the functions and sets are stored themselves in caches without mapping the variable indices. The corresponding index in caches is added in are_indices_mapped. This avoids doing a copy of the function in case the getter of CanonicalConstraintFunction does not make a copy for the source model, for example, this is the case of VectorOfConstraints.\n\nWe illustrate this with an example. Suppose a model is copied from a src::MOI.Utilities.Model to a bridged model with a MatrixOfConstraints. For all the types that are not bridged, the constraints will be copied with pass_nonvariable_constraints. Hence the functions stored in caches are exactly the same as the ones stored in src. This is ok since this is only during the copy_to operation during which src cannot be modified. On the other hand, for the types that are bridged, the functions added may contain duplicates even if the functions did not contain duplicates in src so duplicates are removed with MOI.Utilities.canonical.\n\nInterface\n\nThe .coefficients::AT type must implement:\n\nAT()\nMOI.empty(::AT)!\nMOI.Utilities.add_column\nMOI.Utilities.set_number_of_rows\nMOI.Utilities.allocate_terms\nMOI.Utilities.load_terms\nMOI.Utilities.final_touch\n\nThe .constants::BT type must implement:\n\nBT()\nBase.empty!(::BT)\nBase.resize(::BT)\nMOI.Utilities.load_constants\nMOI.Utilities.function_constants\nMOI.Utilities.set_from_constants\n\nThe .sets::ST type must implement:\n\nST()\nMOI.is_empty(::ST)\nMOI.empty(::ST)\nMOI.dimension(::ST)\nMOI.is_valid(::ST, ::MOI.ConstraintIndex)\nMOI.get(::ST, ::MOI.ListOfConstraintTypesPresent)\nMOI.get(::ST, ::MOI.NumberOfConstraints)\nMOI.get(::ST, ::MOI.ListOfConstraintIndices)\nMOI.Utilities.set_types\nMOI.Utilities.set_index\nMOI.Utilities.add_set\nMOI.Utilities.rows\nMOI.Utilities.final_touch\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.coefficients","page":"API Reference","title":".coefficients","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.add_column\nUtilities.allocate_terms\nUtilities.set_number_of_rows\nUtilities.load_terms\nUtilities.final_touch\nUtilities.extract_function","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.add_column","page":"API Reference","title":"MathOptInterface.Utilities.add_column","text":"add_column(coefficients)::Nothing\n\nTell coefficients to pre-allocate datastructures as needed to store one column.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.allocate_terms","page":"API Reference","title":"MathOptInterface.Utilities.allocate_terms","text":"allocate_terms(coefficients, index_map, func)::Nothing\n\nTell coefficients that the terms of the function func where the variable indices are mapped with index_map will be loaded with load_terms.\n\nThe function func must be canonicalized before calling allocate_terms. See is_canonical.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_number_of_rows","page":"API Reference","title":"MathOptInterface.Utilities.set_number_of_rows","text":"set_number_of_rows(coefficients, n)::Nothing\n\nTell coefficients to pre-allocate datastructures as needed to store n rows.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.load_terms","page":"API Reference","title":"MathOptInterface.Utilities.load_terms","text":"load_terms(coefficients, index_map, func, offset)::Nothing\n\nLoads the terms of func to coefficients, mapping the variable indices with index_map.\n\nThe ith dimension of func is loaded at the (offset + i)th row of coefficients.\n\nThe function must be allocated first with allocate_terms.\n\nThe function func must be canonicalized, see is_canonical.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.final_touch","page":"API Reference","title":"MathOptInterface.Utilities.final_touch","text":"final_touch(coefficients)::Nothing\n\nInforms the coefficients that all functions have been added with load_terms. No more modification is allowed unless MOI.empty! is called.\n\nfinal_touch(sets)::Nothing\n\nInforms the sets that all functions have been added with add_set. No more modification is allowed unless MOI.empty! is called.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.extract_function","page":"API Reference","title":"MathOptInterface.Utilities.extract_function","text":"extract_function(coefficients, row::Integer, constant::T) where {T}\n\nReturn the MOI.ScalarAffineFunction{T} function corresponding to row row in coefficients.\n\nextract_function(\n coefficients,\n rows::UnitRange,\n constants::Vector{T},\n) where{T}\n\nReturn the MOI.VectorAffineFunction{T} function corresponding to rows rows in coefficients.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.MutableSparseMatrixCSC\nUtilities.AbstractIndexing\nUtilities.ZeroBasedIndexing\nUtilities.OneBasedIndexing","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.MutableSparseMatrixCSC","page":"API Reference","title":"MathOptInterface.Utilities.MutableSparseMatrixCSC","text":"mutable struct MutableSparseMatrixCSC{Tv,Ti<:Integer,I<:AbstractIndexing}\n indexing::I\n m::Int\n n::Int\n colptr::Vector{Ti}\n rowval::Vector{Ti}\n nzval::Vector{Tv}\n nz_added::Vector{Ti}\nend\n\nMatrix type loading sparse matrices in the Compressed Sparse Column format. The indexing used is indexing, see AbstractIndexing. The other fields have the same meaning than for SparseArrays.SparseMatrixCSC except that the indexing is different unless indexing is OneBasedIndexing. In addition, nz_added is used to cache the number of non-zero terms that have been added to each column due to the incremental nature of load_terms.\n\nThe matrix is loaded in 5 steps:\n\nMOI.empty! is called.\nMOI.Utilities.add_column and MOI.Utilities.allocate_terms are called in any order.\nMOI.Utilities.set_number_of_rows is called.\nMOI.Utilities.load_terms is called for each affine function.\nMOI.Utilities.final_touch is called.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.AbstractIndexing","page":"API Reference","title":"MathOptInterface.Utilities.AbstractIndexing","text":"abstract type AbstractIndexing end\n\nIndexing to be used for storing the row and column indices of MutableSparseMatrixCSC. See ZeroBasedIndexing and OneBasedIndexing.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ZeroBasedIndexing","page":"API Reference","title":"MathOptInterface.Utilities.ZeroBasedIndexing","text":"struct ZeroBasedIndexing <: AbstractIndexing end\n\nZero-based indexing: the ith row or column has index i - 1. This is useful when the vectors of row and column indices need to be communicated to a library using zero-based indexing such as C libraries.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.OneBasedIndexing","page":"API Reference","title":"MathOptInterface.Utilities.OneBasedIndexing","text":"struct ZeroBasedIndexing <: AbstractIndexing end\n\nOne-based indexing: the ith row or column has index i. This enables an allocation-free conversion of MutableSparseMatrixCSC to SparseArrays.SparseMatrixCSC.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.constants","page":"API Reference","title":".constants","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.load_constants\nUtilities.function_constants\nUtilities.set_from_constants\nUtilities.modify_constants","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.load_constants","page":"API Reference","title":"MathOptInterface.Utilities.load_constants","text":"load_constants(constants, offset, func_or_set)::Nothing\n\nThis function loads the constants of func_or_set in constants at an offset of offset. Where offset is the sum of the dimensions of the constraints already loaded. The storage should be preallocated with resize! before calling this function.\n\nThis function should be implemented to be usable as storage of constants for MatrixOfConstraints.\n\nThe constants are loaded in three steps:\n\nBase.empty! is called.\nBase.resize! is called with the sum of the dimensions of all constraints.\nMOI.Utilities.load_constants is called for each function for vector constraint or set for scalar constraint.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.function_constants","page":"API Reference","title":"MathOptInterface.Utilities.function_constants","text":"function_constants(constants, rows)\n\nThis function returns the function constants that were loaded with load_constants at the rows rows.\n\nThis function should be implemented to be usable as storage of constants for MatrixOfConstraints.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_from_constants","page":"API Reference","title":"MathOptInterface.Utilities.set_from_constants","text":"set_from_constants(constants, S::Type, rows)::S\n\nThis function returns an instance of the set S for which the constants where loaded with load_constants at the rows rows.\n\nThis function should be implemented to be usable as storage of constants for MatrixOfConstraints.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.modify_constants","page":"API Reference","title":"MathOptInterface.Utilities.modify_constants","text":"modify_constants(constants, row::Integer, new_constant::T) where {T}\nmodify_constants(\n constants,\n rows::AbstractVector{<:Integer},\n new_constants::AbstractVector{T},\n) where {T}\n\nModify constants in-place to store new_constant in the row row, or rows rows.\n\nThis function must be implemented to enable MOI.ScalarConstantChange and MOI.VectorConstantChange for MatrixOfConstraints.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.Hyperrectangle","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.Hyperrectangle","page":"API Reference","title":"MathOptInterface.Utilities.Hyperrectangle","text":"struct Hyperrectangle{T} <: AbstractVectorBounds\n lower::Vector{T}\n upper::Vector{T}\nend\n\nA struct for the .constants field in MatrixOfConstraints.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#.sets","page":"API Reference","title":".sets","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.set_index\nUtilities.set_types\nUtilities.add_set\nUtilities.rows\nUtilities.num_rows\nUtilities.set_with_dimension","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_index","page":"API Reference","title":"MathOptInterface.Utilities.set_index","text":"set_index(sets, ::Type{S})::Union{Int,Nothing} where {S<:MOI.AbstractSet}\n\nReturn an integer corresponding to the index of the set type in the list given by set_types.\n\nIf S is not part of the list, return nothing.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_types","page":"API Reference","title":"MathOptInterface.Utilities.set_types","text":"set_types(sets)::Vector{Type}\n\nReturn the list of the types of the sets allowed in sets.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.add_set","page":"API Reference","title":"MathOptInterface.Utilities.add_set","text":"add_set(sets, i)::Int64\n\nAdd a scalar set of type index i.\n\nadd_set(sets, i, dim)::Int64\n\nAdd a vector set of type index i and dimension dim.\n\nBoth methods return a unique Int64 of the set that can be used to reference this set.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.rows","page":"API Reference","title":"MathOptInterface.Utilities.rows","text":"rows(sets, ci::MOI.ConstraintIndex)::Union{Int,UnitRange{Int}}\n\nReturn the rows in 1:MOI.dimension(sets) corresponding to the set of id ci.value.\n\nFor scalar sets, this returns an Int. For vector sets, this returns an UnitRange{Int}.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.num_rows","page":"API Reference","title":"MathOptInterface.Utilities.num_rows","text":"num_rows(sets::OrderedProductOfSets, ::Type{S}) where {S}\n\nReturn the number of rows corresponding to a set of type S. That is, it is the sum of the dimensions of the sets of type S.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_with_dimension","page":"API Reference","title":"MathOptInterface.Utilities.set_with_dimension","text":"set_with_dimension(::Type{S}, dim) where {S<:MOI.AbstractVectorSet}\n\nReturns the instance of S of MOI.dimension dim. This needs to be implemented for sets of type S to be useable with MatrixOfConstraints.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.ProductOfSets\nUtilities.MixOfScalarSets\nUtilities.@mix_of_scalar_sets\nUtilities.OrderedProductOfSets\nUtilities.@product_of_sets","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ProductOfSets","page":"API Reference","title":"MathOptInterface.Utilities.ProductOfSets","text":"abstract type ProductOfSets{T} end\n\nRepresents a cartesian product of sets of given types.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.MixOfScalarSets","page":"API Reference","title":"MathOptInterface.Utilities.MixOfScalarSets","text":"abstract type MixOfScalarSets{T} <: ProductOfSets{T} end\n\nProduct of scalar sets in the order the constraints are added, mixing the constraints of different types.\n\nUse @mix_of_scalar_sets to generate a new subtype.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.@mix_of_scalar_sets","page":"API Reference","title":"MathOptInterface.Utilities.@mix_of_scalar_sets","text":"@mix_of_scalar_sets(name, set_types...)\n\nGenerate a new MixOfScalarSets subtype.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.Utilities.@mix_of_scalar_sets(\n MixedIntegerLinearProgramSets,\n MOI.GreaterThan{T},\n MOI.LessThan{T},\n MOI.EqualTo{T},\n MOI.Integer,\n )\n\n\n\n\n\n","category":"macro"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.OrderedProductOfSets","page":"API Reference","title":"MathOptInterface.Utilities.OrderedProductOfSets","text":"abstract type OrderedProductOfSets{T} <: ProductOfSets{T} end\n\nProduct of sets in the order the constraints are added, grouping the constraints of the same types contiguously.\n\nUse @product_of_sets to generate new subtypes.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.@product_of_sets","page":"API Reference","title":"MathOptInterface.Utilities.@product_of_sets","text":"@product_of_sets(name, set_types...)\n\nGenerate a new OrderedProductOfSets subtype.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.Utilities.@product_of_sets(\n LinearOrthants,\n MOI.Zeros,\n MOI.Nonnegatives,\n MOI.Nonpositives,\n MOI.ZeroOne,\n )\n\n\n\n\n\n","category":"macro"},{"location":"moi/submodules/Utilities/reference/#Fallbacks","page":"API Reference","title":"Fallbacks","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.get_fallback","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.get_fallback","page":"API Reference","title":"MathOptInterface.Utilities.get_fallback","text":"get_fallback(model::MOI.ModelLike, ::MOI.ObjectiveValue)\n\nCompute the objective function value using the VariablePrimal results and the ObjectiveFunction value.\n\n\n\n\n\nget_fallback(\n model::MOI.ModelLike,\n ::MOI.DualObjectiveValue,\n ::Type{T},\n)::T where {T}\n\nCompute the dual objective value of type T using the ConstraintDual results and the ConstraintFunction and ConstraintSet values.\n\nNote that the nonlinear part of the model is ignored.\n\n\n\n\n\nget_fallback(\n model::MOI.ModelLike,\n ::MOI.ConstraintPrimal,\n constraint_index::MOI.ConstraintIndex,\n)\n\nCompute the value of the function of the constraint of index constraint_index using the VariablePrimal results and the ConstraintFunction values.\n\n\n\n\n\nget_fallback(\n model::MOI.ModelLike,\n attr::MOI.ConstraintDual,\n ci::MOI.ConstraintIndex{Union{MOI.VariableIndex,MOI.VectorOfVariables}},\n ::Type{T} = Float64,\n) where {T}\n\nCompute the dual of the constraint of index ci using the ConstraintDual of other constraints and the ConstraintFunction values.\n\nThrows an error if some constraints are quadratic or if there is one another MOI.VariableIndex-in-S or MOI.VectorOfVariables-in-S constraint with one of the variables in the function of the constraint ci.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Function-utilities","page":"API Reference","title":"Function utilities","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following utilities are available for functions:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.eval_variables\nUtilities.map_indices\nUtilities.substitute_variables\nUtilities.filter_variables\nUtilities.remove_variable\nUtilities.all_coefficients\nUtilities.unsafe_add\nUtilities.isapprox_zero\nUtilities.modify_function\nUtilities.zero_with_output_dimension","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.eval_variables","page":"API Reference","title":"MathOptInterface.Utilities.eval_variables","text":"eval_variables(value_fn::Function, f::MOI.AbstractFunction)\n\nReturns the value of function f if each variable index vi is evaluated as value_fn(vi).\n\nNote that value_fn must return a Number. See substitute_variables for a similar function where value_fn returns an MOI.AbstractScalarFunction.\n\nwarning: Warning\nThe two-argument version of eval_variables is deprecated and may be removed in MOI v2.0.0. Use the three-argument method eval_variables(::Function, ::MOI.ModelLike, ::MOI.AbstractFunction) instead.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.map_indices","page":"API Reference","title":"MathOptInterface.Utilities.map_indices","text":"map_indices(index_map::Function, attr::MOI.AnyAttribute, x::X)::X where {X}\n\nSubstitute any MOI.VariableIndex (resp. MOI.ConstraintIndex) in x by the MOI.VariableIndex (resp. MOI.ConstraintIndex) of the same type given by index_map(x).\n\nWhen to implement this method for new types X\n\nThis function is used by implementations of MOI.copy_to on constraint functions, attribute values and submittable values. If you define a new attribute whose values x::X contain variable or constraint indices, you must also implement this function.\n\n\n\n\n\nmap_indices(\n variable_map::AbstractDict{T,T},\n x::X,\n)::X where {T<:MOI.Index,X}\n\nShortcut for map_indices(vi -> variable_map[vi], x).\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.substitute_variables","page":"API Reference","title":"MathOptInterface.Utilities.substitute_variables","text":"substitute_variables(variable_map::Function, x)\n\nSubstitute any MOI.VariableIndex in x by variable_map(x). The variable_map function returns either MOI.VariableIndex or MOI.ScalarAffineFunction, see eval_variables for a similar function where variable_map returns a number.\n\nThis function is used by bridge optimizers on constraint functions, attribute values and submittable values when at least one variable bridge is used hence it needs to be implemented for custom types that are meant to be used as attribute or submittable value.\n\nnote: Note\nWhen implementing a new method, don't use substitute_variables(::Function, because Julia will not specialize on it. Use instead substitute_variables(::F, ...) where {F<:Function}.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.filter_variables","page":"API Reference","title":"MathOptInterface.Utilities.filter_variables","text":"filter_variables(keep::Function, f::AbstractFunction)\n\nReturn a new function f with the variable vi such that !keep(vi) removed.\n\nWARNING: Don't define filter_variables(::Function, ...) because Julia will not specialize on this. Define instead filter_variables(::F, ...) where {F<:Function}.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.remove_variable","page":"API Reference","title":"MathOptInterface.Utilities.remove_variable","text":"remove_variable(f::AbstractFunction, vi::VariableIndex)\n\nReturn a new function f with the variable vi removed.\n\n\n\n\n\nremove_variable(\n f::MOI.AbstractFunction,\n s::MOI.AbstractSet,\n vi::MOI.VariableIndex,\n)\n\nReturn a tuple (g, t) representing the constraint f-in-s with the variable vi removed. That is, the terms containing the variable vi in the function f are removed and the dimension of the set s is updated if needed (for example, when f is a VectorOfVariables with vi being one of the variables).\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.all_coefficients","page":"API Reference","title":"MathOptInterface.Utilities.all_coefficients","text":"all_coefficients(p::Function, f::MOI.AbstractFunction)\n\nDetermine whether predicate p returns true for all coefficients of f, returning false as soon as the first coefficient of f for which p returns false is encountered (short-circuiting). Similar to all.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.unsafe_add","page":"API Reference","title":"MathOptInterface.Utilities.unsafe_add","text":"unsafe_add(t1::MOI.ScalarAffineTerm, t2::MOI.ScalarAffineTerm)\n\nSums the coefficients of t1 and t2 and returns an output MOI.ScalarAffineTerm. It is unsafe because it uses the variable of t1 as the variable of the output without checking that it is equal to that of t2.\n\n\n\n\n\nunsafe_add(t1::MOI.ScalarQuadraticTerm, t2::MOI.ScalarQuadraticTerm)\n\nSums the coefficients of t1 and t2 and returns an output MOI.ScalarQuadraticTerm. It is unsafe because it uses the variable's of t1 as the variable's of the output without checking that they are the same (up to permutation) to those of t2.\n\n\n\n\n\nunsafe_add(t1::MOI.VectorAffineTerm, t2::MOI.VectorAffineTerm)\n\nSums the coefficients of t1 and t2 and returns an output MOI.VectorAffineTerm. It is unsafe because it uses the output_index and variable of t1 as the output_index and variable of the output term without checking that they are equal to those of t2.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.isapprox_zero","page":"API Reference","title":"MathOptInterface.Utilities.isapprox_zero","text":"isapprox_zero(f::MOI.AbstractFunction, tol)\n\nReturn a Bool indicating whether the function f is approximately zero using tol as a tolerance.\n\nImportant note\n\nThis function assumes that f does not contain any duplicate terms, you might want to first call canonical if that is not guaranteed.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> x = MOI.VariableIndex(1)\nMOI.VariableIndex(1)\n\njulia> f = MOI.ScalarAffineFunction(MOI.ScalarAffineTerm.([1, -1], [x, x]), 0)\n(0) + (1) MOI.VariableIndex(1) - (1) MOI.VariableIndex(1)\n\njulia> MOI.Utilities.isapprox_zero(f, 1e-8)\nfalse\n\njulia> MOI.Utilities.isapprox_zero(MOI.Utilities.canonical(f), 1e-8)\ntrue\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.modify_function","page":"API Reference","title":"MathOptInterface.Utilities.modify_function","text":"modify_function(f::AbstractFunction, change::AbstractFunctionModification)\n\nReturn a copy of the function f, modified according to change.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.zero_with_output_dimension","page":"API Reference","title":"MathOptInterface.Utilities.zero_with_output_dimension","text":"zero_with_output_dimension(::Type{T}, output_dimension::Integer) where {T}\n\nCreate an instance of type T with the output dimension output_dimension.\n\nThis is mostly useful in Bridges, when code needs to be agnostic to the type of vector-valued function that is passed in.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following functions can be used to canonicalize a function:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.is_canonical\nUtilities.canonical\nUtilities.canonicalize!","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.is_canonical","page":"API Reference","title":"MathOptInterface.Utilities.is_canonical","text":"is_canonical(f::Union{ScalarAffineFunction, VectorAffineFunction})\n\nReturns a Bool indicating whether the function is in canonical form. See canonical.\n\n\n\n\n\nis_canonical(f::Union{ScalarQuadraticFunction, VectorQuadraticFunction})\n\nReturns a Bool indicating whether the function is in canonical form. See canonical.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.canonical","page":"API Reference","title":"MathOptInterface.Utilities.canonical","text":"canonical(f::MOI.AbstractFunction)\n\nReturns the function in a canonical form, that is,\n\nA term appear only once.\nThe coefficients are nonzero.\nThe terms appear in increasing order of variable where there the order of the variables is the order of their value.\nFor a AbstractVectorFunction, the terms are sorted in ascending order of output index.\n\nThe output of canonical can be assumed to be a copy of f, even for VectorOfVariables.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> x, y, z = MOI.VariableIndex.(1:3);\n\njulia> f = MOI.ScalarAffineFunction(\n MOI.ScalarAffineTerm.(Float64[2, 1, 3, -2, -3], [y, x, z, x, z]),\n 5.0,\n )\n5.0 + 2.0 MOI.VariableIndex(2) + 1.0 MOI.VariableIndex(1) + 3.0 MOI.VariableIndex(3) - 2.0 MOI.VariableIndex(1) - 3.0 MOI.VariableIndex(3)\n\njulia> MOI.Utilities.canonical(f)\n5.0 - 1.0 MOI.VariableIndex(1) + 2.0 MOI.VariableIndex(2)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.canonicalize!","page":"API Reference","title":"MathOptInterface.Utilities.canonicalize!","text":"canonicalize!(f::Union{ScalarAffineFunction, VectorAffineFunction})\n\nConvert a function to canonical form in-place, without allocating a copy to hold the result. See canonical.\n\n\n\n\n\ncanonicalize!(f::Union{ScalarQuadraticFunction, VectorQuadraticFunction})\n\nConvert a function to canonical form in-place, without allocating a copy to hold the result. See canonical.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following functions can be used to manipulate functions with basic algebra:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.scalar_type\nUtilities.scalarize\nUtilities.eachscalar\nUtilities.promote_operation\nUtilities.operate\nUtilities.operate!\nUtilities.operate_output_index!\nUtilities.vectorize","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.scalar_type","page":"API Reference","title":"MathOptInterface.Utilities.scalar_type","text":"scalar_type(F::Type{<:MOI.AbstractVectorFunction})\n\nType of functions obtained by indexing objects obtained by calling eachscalar on functions of type F.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.scalarize","page":"API Reference","title":"MathOptInterface.Utilities.scalarize","text":"scalarize(func::MOI.VectorOfVariables, ignore_constants::Bool = false)\n\nReturns a vector of scalar functions making up the vector function in the form of a Vector{MOI.SingleVariable}.\n\nSee also eachscalar.\n\n\n\n\n\nscalarize(func::MOI.VectorAffineFunction{T}, ignore_constants::Bool = false)\n\nReturns a vector of scalar functions making up the vector function in the form of a Vector{MOI.ScalarAffineFunction{T}}.\n\nSee also eachscalar.\n\n\n\n\n\nscalarize(func::MOI.VectorQuadraticFunction{T}, ignore_constants::Bool = false)\n\nReturns a vector of scalar functions making up the vector function in the form of a Vector{MOI.ScalarQuadraticFunction{T}}.\n\nSee also eachscalar.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.eachscalar","page":"API Reference","title":"MathOptInterface.Utilities.eachscalar","text":"eachscalar(f::MOI.AbstractVectorFunction)\n\nReturns an iterator for the scalar components of the vector function.\n\nSee also scalarize.\n\n\n\n\n\neachscalar(f::MOI.AbstractVector)\n\nReturns an iterator for the scalar components of the vector.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.promote_operation","page":"API Reference","title":"MathOptInterface.Utilities.promote_operation","text":"promote_operation(\n op::Function,\n ::Type{T},\n ArgsTypes::Type{<:Union{T,AbstractVector{T},MOI.AbstractFunction}}...,\n) where {T<:Number}\n\nCompute the return type of the call operate(op, T, args...), where the types of the arguments args are ArgsTypes.\n\nOne assumption is that the element type T is invariant under each operation. That is, op(::T, ::T)::T where op is a +, -, *, and /.\n\nThere are six methods for which we implement Utilities.promote_operation:\n\n+ a. promote_operation(::typeof(+), ::Type{T}, ::Type{F1}, ::Type{F2})\n- a. promote_operation(::typeof(-), ::Type{T}, ::Type{F}) b. promote_operation(::typeof(-), ::Type{T}, ::Type{F1}, ::Type{F2})\n* a. promote_operation(::typeof(*), ::Type{T}, ::Type{T}, ::Type{F}) b. promote_operation(::typeof(*), ::Type{T}, ::Type{F}, ::Type{T}) c. promote_operation(::typeof(*), ::Type{T}, ::Type{F1}, ::Type{F2}) where F1 and F2 are VariableIndex or ScalarAffineFunction d. promote_operation(::typeof(*), ::Type{T}, ::Type{<:Diagonal{T}}, ::Type{F}\n/ a. promote_operation(::typeof(/), ::Type{T}, ::Type{F}, ::Type{T})\nvcat a. promote_operation(::typeof(vcat), ::Type{T}, ::Type{F}...)\nimag a. promote_operation(::typeof(imag), ::Type{T}, ::Type{F}) where F is VariableIndex or VectorOfVariables\n\nIn each case, F (or F1 and F2) is one of the ten supported types, with a restriction that the mathematical operation makes sense, for example, we don't define promote_operation(-, T, F1, F2) where F1 is a scalar-valued function and F2 is a vector-valued function. The ten supported types are:\n\n::T\n::VariableIndex\n::ScalarAffineFunction{T}\n::ScalarQuadraticFunction{T}\n::ScalarNonlinearFunction\n::AbstractVector{T}\n::VectorOfVariables\n::VectorAffineFunction{T}\n::VectorQuadraticFunction{T}\n::VectorNonlinearFunction\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.operate","page":"API Reference","title":"MathOptInterface.Utilities.operate","text":"operate(\n op::Function,\n ::Type{T},\n args::Union{T,MOI.AbstractFunction}...,\n)::MOI.AbstractFunction where {T<:Number}\n\nReturns an MOI.AbstractFunction representing the function resulting from the operation op(args...) on functions of coefficient type T.\n\nNo argument can be modified.\n\nMethods\n\n+ a. operate(::typeof(+), ::Type{T}, ::F1) b. operate(::typeof(+), ::Type{T}, ::F1, ::F2) c. operate(::typeof(+), ::Type{T}, ::F1...)\n- a. operate(::typeof(-), ::Type{T}, ::F) b. operate(::typeof(-), ::Type{T}, ::F1, ::F2)\n* a. operate(::typeof(*), ::Type{T}, ::T, ::F) b. operate(::typeof(*), ::Type{T}, ::F, ::T) c. operate(::typeof(*), ::Type{T}, ::F1, ::F2) where F1 and F2 are VariableIndex or ScalarAffineFunction d. operate(::typeof(*), ::Type{T}, ::Diagonal{T}, ::F)\n/ a. operate(::typeof(/), ::Type{T}, ::F, ::T)\nvcat a. operate(::typeof(vcat), ::Type{T}, ::F...)\nimag a. operate(::typeof(imag), ::Type{T}, ::F) where F is VariableIndex or VectorOfVariables\n\nOne assumption is that the element type T is invariant under each operation. That is, op(::T, ::T)::T where op is a +, -, *, and /.\n\nIn each case, F (or F1 and F2) is one of the ten supported types, with a restriction that the mathematical operation makes sense, for example, we don't define promote_operation(-, T, F1, F2) where F1 is a scalar-valued function and F2 is a vector-valued function. The ten supported types are:\n\n::T\n::VariableIndex\n::ScalarAffineFunction{T}\n::ScalarQuadraticFunction{T}\n::ScalarNonlinearFunction\n::AbstractVector{T}\n::VectorOfVariables\n::VectorAffineFunction{T}\n::VectorQuadraticFunction{T}\n::VectorNonlinearFunction\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.operate!","page":"API Reference","title":"MathOptInterface.Utilities.operate!","text":"operate!(\n op::Function,\n ::Type{T},\n args::Union{T,MOI.AbstractFunction}...,\n)::MOI.AbstractFunction where {T<:Number}\n\nReturns an MOI.AbstractFunction representing the function resulting from the operation op(args...) on functions of coefficient type T.\n\nThe first argument may be modified, in which case the return value is identical to the first argument. For operations which cannot be implemented in-place, this function returns a new object.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.operate_output_index!","page":"API Reference","title":"MathOptInterface.Utilities.operate_output_index!","text":"operate_output_index!(\n op::Union{typeof(+),typeof(-)},\n ::Type{T},\n output_index::Integer,\n f::Union{AbstractVector{T},MOI.AbstractVectorFunction}\n g::Union{T,MOI.AbstractScalarFunction}...\n) where {T<:Number}\n\nReturn an MOI.AbstractVectorFunction in which the scalar function in row output_index is the result of op(f[output_index], g).\n\nThe functions at output index different to output_index are the same as the functions at the same output index in func. The first argument may be modified.\n\nMethods\n\n+ a. operate_output_index!(+, ::Type{T}, ::Int, ::VectorF, ::ScalarF)\n- a. operate_output_index!(-, ::Type{T}, ::Int, ::VectorF, ::ScalarF)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.vectorize","page":"API Reference","title":"MathOptInterface.Utilities.vectorize","text":"vectorize(x::AbstractVector{<:Number})\n\nReturns x.\n\n\n\n\n\nvectorize(x::AbstractVector{MOI.VariableIndex})\n\nReturns the vector of scalar affine functions in the form of a MOI.VectorAffineFunction{T}.\n\n\n\n\n\nvectorize(funcs::AbstractVector{MOI.ScalarAffineFunction{T}}) where T\n\nReturns the vector of scalar affine functions in the form of a MOI.VectorAffineFunction{T}.\n\n\n\n\n\nvectorize(funcs::AbstractVector{MOI.ScalarQuadraticFunction{T}}) where T\n\nReturns the vector of scalar quadratic functions in the form of a MOI.VectorQuadraticFunction{T}.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Constraint-utilities","page":"API Reference","title":"Constraint utilities","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following utilities are available for moving the function constant to the set for scalar constraints:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.shift_constant\nUtilities.supports_shift_constant\nUtilities.normalize_and_add_constraint\nUtilities.normalize_constant","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.shift_constant","page":"API Reference","title":"MathOptInterface.Utilities.shift_constant","text":"shift_constant(set::MOI.AbstractScalarSet, offset)\n\nReturns a new scalar set new_set such that func-in-set is equivalent to func + offset-in-new_set.\n\nUse supports_shift_constant to check if the set supports shifting:\n\nif MOI.Utilities.supports_shift_constant(typeof(set))\n new_set = MOI.Utilities.shift_constant(set, -func.constant)\n func.constant = 0\n MOI.add_constraint(model, func, new_set)\nelse\n MOI.add_constraint(model, func, set)\nend\n\nNote for developers\n\nOnly define this function if it makes sense and you have implemented supports_shift_constant to return true.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> set = MOI.Interval(-2.0, 3.0)\nMathOptInterface.Interval{Float64}(-2.0, 3.0)\n\njulia> MOI.Utilities.supports_shift_constant(typeof(set))\ntrue\n\njulia> MOI.Utilities.shift_constant(set, 1.0)\nMathOptInterface.Interval{Float64}(-1.0, 4.0)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.supports_shift_constant","page":"API Reference","title":"MathOptInterface.Utilities.supports_shift_constant","text":"supports_shift_constant(::Type{S}) where {S<:MOI.AbstractSet}\n\nReturn true if shift_constant is defined for set S.\n\nSee also shift_constant.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.Utilities.supports_shift_constant(MOI.Interval{Float64})\ntrue\n\njulia> MOI.Utilities.supports_shift_constant(MOI.ZeroOne)\nfalse\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.normalize_and_add_constraint","page":"API Reference","title":"MathOptInterface.Utilities.normalize_and_add_constraint","text":"normalize_and_add_constraint(\n model::MOI.ModelLike,\n func::MOI.AbstractScalarFunction,\n set::MOI.AbstractScalarSet;\n allow_modify_function::Bool = false,\n)\n\nAdds the scalar constraint obtained by moving the constant term in func to the set in model. If allow_modify_function is true then the function func can be modified.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.normalize_constant","page":"API Reference","title":"MathOptInterface.Utilities.normalize_constant","text":"normalize_constant(\n func::MOI.AbstractScalarFunction,\n set::MOI.AbstractScalarSet;\n allow_modify_function::Bool = false,\n)\n\nReturn the func-in-set constraint in normalized form. That is, if func is MOI.ScalarQuadraticFunction or MOI.ScalarAffineFunction, the constant is moved to the set. If allow_modify_function is true then the function func can be modified.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following utility identifies those constraints imposing bounds on a given variable, and returns those bound values:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.get_bounds","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.get_bounds","page":"API Reference","title":"MathOptInterface.Utilities.get_bounds","text":"get_bounds(model::MOI.ModelLike, ::Type{T}, x::MOI.VariableIndex)\n\nReturn a tuple (lb, ub) of type Tuple{T, T}, where lb and ub are lower and upper bounds, respectively, imposed on x in model.\n\n\n\n\n\nget_bounds(\n model::MOI.ModelLike,\n bounds_cache::Dict{MOI.VariableIndex,NTuple{2,T}},\n f::MOI.ScalarAffineFunction{T},\n) where {T} --> Union{Nothing,NTuple{2,T}}\n\nReturn the lower and upper bound of f as a tuple. If the domain is not bounded, return nothing.\n\n\n\n\n\nget_bounds(\n model::MOI.ModelLike,\n bounds_cache::Dict{MOI.VariableIndex,NTuple{2,T}},\n x::MOI.VariableIndex,\n) where {T} --> Union{Nothing,NTuple{2,T}}\n\nReturn the lower and upper bound of x as a tuple. If the domain is not bounded, return nothing.\n\nSimilar to get_bounds(::MOI.ModelLike, ::Type{T}, ::MOI.VariableIndex), except that the second argument is a cache which maps variables to their bounds and avoids repeated lookups.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following utilities are useful when working with symmetric matrix cones.","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.is_diagonal_vectorized_index\nUtilities.side_dimension_for_vectorized_dimension","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.is_diagonal_vectorized_index","page":"API Reference","title":"MathOptInterface.Utilities.is_diagonal_vectorized_index","text":"is_diagonal_vectorized_index(index::Base.Integer)\n\nReturn whether index is the index of a diagonal element in a MOI.AbstractSymmetricMatrixSetTriangle set.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.side_dimension_for_vectorized_dimension","page":"API Reference","title":"MathOptInterface.Utilities.side_dimension_for_vectorized_dimension","text":"side_dimension_for_vectorized_dimension(n::Integer)\n\nReturn the dimension d such that MOI.dimension(MOI.PositiveSemidefiniteConeTriangle(d)) is n.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#Set-utilities","page":"API Reference","title":"Set utilities","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"The following utilities are available for sets:","category":"page"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.AbstractDistance\nUtilities.ProjectionUpperBoundDistance\nUtilities.distance_to_set\nUtilities.set_dot","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.AbstractDistance","page":"API Reference","title":"MathOptInterface.Utilities.AbstractDistance","text":"abstract type AbstractDistance end\n\nAn abstract type used to enable dispatch of Utilities.distance_to_set.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.ProjectionUpperBoundDistance","page":"API Reference","title":"MathOptInterface.Utilities.ProjectionUpperBoundDistance","text":"ProjectionUpperBoundDistance() <: AbstractDistance\n\nAn upper bound on the minimum distance between point and the closest feasible point in set.\n\nDefinition of distance\n\nThe minimum distance is computed as:\n\nd(x mathcalK) = min_y in mathcalK x - y \n\nwhere x is point and mathcalK is set. The norm is computed as:\n\nx = sqrtf(x x mathcalK)\n\nwhere f is Utilities.set_dot.\n\nIn the default case, where the set does not have a specialized method for Utilities.set_dot, the norm is equivalent to the Euclidean norm x = sqrtsum x_i^2.\n\nWhy an upper bound?\n\nIn most cases, distance_to_set should return the smallest upper bound, but it may return a larger value if the smallest upper bound is expensive to compute.\n\nFor example, given an epigraph from of a conic set, (t x) f(x) le t, it may be simpler to return delta such that f(x) le t + delta, rather than computing the nearest projection onto the set.\n\nIf the distance is not the smallest upper bound, the docstring of the appropriate distance_to_set method must describe the way that the distance is computed.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.distance_to_set","page":"API Reference","title":"MathOptInterface.Utilities.distance_to_set","text":"distance_to_set(\n [d::AbstractDistance = ProjectionUpperBoundDistance()],]\n point::T,\n set::MOI.AbstractScalarSet,\n) where {T}\n\ndistance_to_set(\n [d::AbstractDistance = ProjectionUpperBoundDistance(),]\n point::AbstractVector{T},\n set::MOI.AbstractVectorSet,\n) where {T}\n\nCompute the distance between point and set using the distance metric d. If point is in the set set, this function must return zero(T).\n\nIf d is omitted, the default distance is Utilities.ProjectionUpperBoundDistance.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.RotatedSecondOrderCone)\n\nLet (t, u, y...) = x. Return the 2-norm of the vector d such that in x + d, u is projected to 1 if u <= 0, and t is increased such that x + d belongs to the set.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.ExponentialCone)\n\nLet (u, v, w) = x. If v > 0, return the epigraph distance d such that (u, v, w + d) belongs to the set.\n\nIf v <= 0 return the 2-norm of the vector d such that x + d = (u, 1, z) where z satisfies the constraints.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.DualExponentialCone)\n\nLet (u, v, w) = x. If u < 0, return the epigraph distance d such that (u, v, w + d) belongs to the set.\n\nIf u >= 0 return the 2-norm of the vector d such that x + d = (u, -1, z) where z satisfies the constraints.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.GeometricMeanCone)\n\nLet (t, y...) = x. If all y are non-negative, return the epigraph distance d such that (t + d, y...) belongs to the set.\n\nIf any y are strictly negative, return the 2-norm of the vector d that projects negative y elements to 0 and t to ℝ₋.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.PowerCone)\n\nLet (a, b, c) = x. If a and b are non-negative, return the epigraph distance required to increase c such that the constraint is satisfied.\n\nIf a or b is strictly negative, return the 2-norm of the vector d such that in the vector x + d: c, and any negative a and b are projected to 0.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.DualPowerCone)\n\nLet (a, b, c) = x. If a and b are non-negative, return the epigraph distance required to increase c such that the constraint is satisfied.\n\nIf a or b is strictly negative, return the 2-norm of the vector d such that in the vector x + d: c, and any negative a and b are projected to 0.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.NormOneCone)\n\nLet (t, y...) = x. Return the epigraph distance d such that (t + d, y...) belongs to the set.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.NormInfinityCone)\n\nLet (t, y...) = x. Return the epigraph distance d such that (t + d, y...) belongs to the set.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, ::MOI.RelativeEntropyCone)\n\nLet (u, v..., w...) = x. If v and w are strictly positive, return the epigraph distance required to increase u such that the constraint is satisfied.\n\nIf any elements in v or w are non-positive, return the 2-norm of the vector d such that in the vector x + d: any non-positive elements in v and w are projected to 1, and u is projected such that the epigraph constraint holds.\n\n\n\n\n\ndistance_to_set(::ProjectionUpperBoundDistance, x, set::MOI.NormCone)\n\nLet (t, y...) = x. Return the epigraph distance d such that (t + d, y...) belongs to the set.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.set_dot","page":"API Reference","title":"MathOptInterface.Utilities.set_dot","text":"set_dot(x::AbstractVector, y::AbstractVector, set::AbstractVectorSet)\n\nReturn the scalar product between a vector x of the set set and a vector y of the dual of the set s.\n\n\n\n\n\nset_dot(x, y, set::AbstractScalarSet)\n\nReturn the scalar product between a number x of the set set and a number y of the dual of the set s.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#DoubleDicts","page":"API Reference","title":"DoubleDicts","text":"","category":"section"},{"location":"moi/submodules/Utilities/reference/","page":"API Reference","title":"API Reference","text":"Utilities.DoubleDicts.DoubleDict\nUtilities.DoubleDicts.DoubleDictInner\nUtilities.DoubleDicts.IndexDoubleDict\nUtilities.DoubleDicts.IndexDoubleDictInner\nUtilities.DoubleDicts.outer_keys\nUtilities.DoubleDicts.nonempty_outer_keys","category":"page"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.DoubleDict","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.DoubleDict","text":"DoubleDict{V}\n\nAn optimized dictionary to map MOI.ConstraintIndex to values of type V.\n\nWorks as a AbstractDict{MOI.ConstraintIndex,V} with minimal differences.\n\nIf V is also a MOI.ConstraintIndex, use IndexDoubleDict.\n\nNote that MOI.ConstraintIndex is not a concrete type, opposed to MOI.ConstraintIndex{MOI.VariableIndex, MOI.Integers}, which is a concrete type.\n\nWhen looping through multiple keys of the same Function-in-Set type, use\n\ninner = dict[F, S]\n\nto return a type-stable DoubleDictInner.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.DoubleDictInner","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.DoubleDictInner","text":"DoubleDictInner{F,S,V}\n\nA type stable inner dictionary of DoubleDict.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.IndexDoubleDict","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.IndexDoubleDict","text":"IndexDoubleDict\n\nA specialized version of [DoubleDict] in which the values are of type MOI.ConstraintIndex\n\nWhen looping through multiple keys of the same Function-in-Set type, use\n\ninner = dict[F, S]\n\nto return a type-stable IndexDoubleDictInner.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.IndexDoubleDictInner","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.IndexDoubleDictInner","text":"IndexDoubleDictInner{F,S}\n\nA type stable inner dictionary of IndexDoubleDict.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.outer_keys","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.outer_keys","text":"outer_keys(d::AbstractDoubleDict)\n\nReturn an iterator over the outer keys of the AbstractDoubleDict d. Each outer key is a Tuple{Type,Type} so that a double loop can be easily used:\n\nfor (F, S) in DoubleDicts.outer_keys(dict)\n for (k, v) in dict[F, S]\n # ...\n end\nend\n\nFor performance, it is recommended that the inner loop lies in a separate function to guarantee type-stability. Some outer keys (F, S) might lead to an empty dict[F, S]. If you want only nonempty dict[F, S], use nonempty_outer_keys.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Utilities/reference/#MathOptInterface.Utilities.DoubleDicts.nonempty_outer_keys","page":"API Reference","title":"MathOptInterface.Utilities.DoubleDicts.nonempty_outer_keys","text":"nonempty_outer_keys(d::AbstractDoubleDict)\n\nReturn a vector of outer keys of the AbstractDoubleDict d.\n\nOnly outer keys that have a nonempty set of inner keys will be returned.\n\nEach outer key is a Tuple{Type,Type} so that a double loop can be easily used\n\nfor (F, S) in DoubleDicts.nonempty_outer_keys(dict)\n for (k, v) in dict[F, S]\n # ...\n end\nend\nFor performance, it is recommended that the inner loop lies in a separate\nfunction to guarantee type-stability.\n\nIf you want an iterator of all current outer keys, use [`outer_keys`](@ref).\n\n\n\n\n\n","category":"function"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"EditURL = \"https://github.com/jump-dev/Clp.jl/blob/v1.1.0/README.md\"","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"(Image: )","category":"page"},{"location":"packages/Clp/#Clp.jl","page":"jump-dev/Clp.jl","title":"Clp.jl","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"(Image: Build Status) (Image: codecov)","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"Clp.jl is a wrapper for the COIN-OR Linear Programming solver.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"The wrapper has two components:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"a thin wrapper around the complete C API\nan interface to MathOptInterface","category":"page"},{"location":"packages/Clp/#Affiliation","page":"jump-dev/Clp.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"This wrapper is maintained by the JuMP community and is not a COIN-OR project.","category":"page"},{"location":"packages/Clp/#Getting-help","page":"jump-dev/Clp.jl","title":"Getting help","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"If you need help, please ask a question on the JuMP community forum.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"If you have a reproducible example of a bug, please open a GitHub issue.","category":"page"},{"location":"packages/Clp/#License","page":"jump-dev/Clp.jl","title":"License","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"Clp.jl is licensed under the MIT License.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"The underlying solver, coin-or/Clp, is licensed under the Eclipse public license.","category":"page"},{"location":"packages/Clp/#Installation","page":"jump-dev/Clp.jl","title":"Installation","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"Install Clp using Pkg.add:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"import Pkg\nPkg.add(\"Clp\")","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"In addition to installing the Clp.jl package, this will also download and install the Clp binaries. You do not need to install Clp separately.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"To use a custom binary, read the Custom solver binaries section of the JuMP documentation.","category":"page"},{"location":"packages/Clp/#Use-with-JuMP","page":"jump-dev/Clp.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"To use Clp with JuMP, use Clp.Optimizer:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"using JuMP, Clp\nmodel = Model(Clp.Optimizer)\nset_attribute(model, \"LogLevel\", 1)\nset_attribute(model, \"Algorithm\", 4)","category":"page"},{"location":"packages/Clp/#MathOptInterface-API","page":"jump-dev/Clp.jl","title":"MathOptInterface API","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"The Clp optimizer supports the following constraints and attributes.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"List of supported objective functions:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"List of supported variable types:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"MOI.Reals","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"List of supported constraint types:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"MOI.ScalarAffineFunction{Float64} in MOI.EqualTo{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.GreaterThan{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.Interval{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.LessThan{Float64}\nMOI.VariableIndex in MOI.EqualTo{Float64}\nMOI.VariableIndex in MOI.GreaterThan{Float64}\nMOI.VariableIndex in MOI.Interval{Float64}\nMOI.VariableIndex in MOI.LessThan{Float64}","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"List of supported model attributes:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"MOI.ObjectiveSense()","category":"page"},{"location":"packages/Clp/#Options","page":"jump-dev/Clp.jl","title":"Options","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"Options are, unfortunately, not well documented.","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"The following options are likely to be the most useful:","category":"page"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"Parameter Example Explanation\nPrimalTolerance 1e-7 Primal feasibility tolerance\nDualTolerance 1e-7 Dual feasibility tolerance\nDualObjectiveLimit 1e308 When using dual simplex (where the objective is monotonically changing), terminate when the objective exceeds this limit\nMaximumIterations 2147483647 Terminate after performing this number of simplex iterations\nMaximumSeconds -1.0 Terminate after this many seconds have passed. A negative value means no time limit\nLogLevel 1 Set to 1, 2, 3, or 4 for increasing output. Set to 0 to disable output\nPresolveType 0 Set to 1 to disable presolve\nSolveType 5 Solution method: dual simplex (0), primal simplex (1), sprint (2), barrier with crossover (3), barrier without crossover (4), automatic (5)\nInfeasibleReturn 0 Set to 1 to return as soon as the problem is found to be infeasible (by default, an infeasibility proof is computed as well)\nScaling 3 0 -off, 1 equilibrium, 2 geometric, 3 auto, 4 dynamic(later)\nPerturbation 100 switch on perturbation (50), automatic (100), don't try perturbing (102)","category":"page"},{"location":"packages/Clp/#C-API","page":"jump-dev/Clp.jl","title":"C API","text":"","category":"section"},{"location":"packages/Clp/","page":"jump-dev/Clp.jl","title":"jump-dev/Clp.jl","text":"The C API can be accessed via Clp.Clp_XXX functions, where the names and arguments are identical to the C API.","category":"page"},{"location":"background/bibliography/#Bibliography","page":"Bibliography","title":"Bibliography","text":"","category":"section"},{"location":"background/bibliography/","page":"Bibliography","title":"Bibliography","text":"Barvinok, A. (2002). A course in convexity. Vol. 54 of Graduate studies in mathematics (American Mathematical Society).\n\n\n\nBen-Tal, A. and Nemirovski, A. (2001). Lectures on Modern Convex Optimization (Society for Industrial and Applied Mathematics).\n\n\n\nBertsimas, D.; Gupta, V. and Kallus, N. (2018). Data-driven robust optimization. Mathematical Programming 167, 235–292.\n\n\n\nBetts, J. T. (2010). Practical Methods for Optimal Control and Estimation Using Nonlinear Programming. Second Edition (Society for Industrial and Applied Mathematics).\n\n\n\nBoyd, S. and Vandenberghe, L. (2004). Convex Optimization (Cambridge University Press, Cambridge).\n\n\n\nBukhsh, W. A.; Grothey, A.; McKinnon, K. I. and Trodden, P. A. (2013). Local Solutions of the Optimal Power Flow Problem. IEEE Transactions on Power Systems 28, 4780–4788.\n\n\n\nCornuéjols, G.; Peña, J. and Tütüncü, R. (2018). Optimization Methods in Finance. 2 Edition (Cambridge University Press).\n\n\n\nD’Aertrycke, G.; Ehrenmann, A.; Ralph, D. and Smeers, Y. (2017). Risk trading in capacity equilibrium models (Cambridge Working Papers in Economics (CWPE)).\n\n\n\nFerris, M. C.; Mangasarian, O. L. and Wright, S. J. (2007). Linear Programming with MATLAB (Society for Industrial and Applied Mathematics).\n\n\n\nGoemans, M. X. and Williamson, D. P. (1995). Improved Approximation Algorithms for Maximum Cut and Satisfiability Problems Using Semidefinite Programming. J. ACM 42, 1115–1145.\n\n\n\nJabr, R. A. (2012). Exploiting Sparsity in SDP Relaxations of the OPF Problem. IEEE Transactions on Power Systems 27, 1138–1139.\n\n\n\nKnuth, D. E. (1994). The sandwich theorem. The Electronic Journal of Combinatorics 1.\n\n\n\nKrasko, V. and Rebennack, S. (2017). Global Optimization: Optimal Power Flow Problem. In: Advances and Trends in Optimization with Engineering Applications, edited by Terlaky, T.; Anjos, M. F. and Ahmed, S. (Society for Industrial and Applied Mathematics, Philadelphia, PA); Chapter 15, pp. 187–205.\n\n\n\nLinial, N. (2002). Finite Metric Spaces: Combinatorics, Geometry and Algorithms. In: Proceedings of the Eighteenth Annual Symposium on Computational Geometry, SCG '02 (Association for Computing Machinery, New York, NY, USA); p. 63.\n\n\n\nMatoušek, J. (2013). Lectures on discrete geometry. Vol. 212 no. 1 of Graduate Texts in Mathematics (Springer Science & Business Media).\n\n\n\nPeng, J. and Wei, Y. (2007). Approximating K‐means‐type Clustering via Semidefinite Programming. SIAM Journal on Optimization 18, 186–205.\n\n\n\nZimmerman, R. D.; Murillo-Sánchez, C. E. and Thomas, R. J. (2011). MATPOWER: Steady-State Operations, Planning, and Analysis Tools for Power Systems Research and Education. IEEE Transactions on Power Systems 26, 12–19.\n\n\n\n","category":"page"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/index.md\"","category":"page"},{"location":"moi/#moi_documentation","page":"Introduction","title":"Introduction","text":"","category":"section"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"warning: Warning\nThis documentation in this section is a copy of the official MathOptInterface documentation available at https://jump.dev/MathOptInterface.jl/v1.34.0. It is included here to make it easier to link concepts between JuMP and MathOptInterface.","category":"page"},{"location":"moi/#What-is-MathOptInterface?","page":"Introduction","title":"What is MathOptInterface?","text":"","category":"section"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"MathOptInterface.jl (MOI) is an abstraction layer designed to provide a unified interface to mathematical optimization solvers so that users do not need to understand multiple solver-specific APIs.","category":"page"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"tip: Tip\nThis documentation is aimed at developers writing software interfaces to solvers and modeling languages using the MathOptInterface API. If you are a user interested in solving optimization problems, we encourage you instead to use MOI through a higher-level modeling interface like JuMP or Convex.jl.","category":"page"},{"location":"moi/#How-the-documentation-is-structured","page":"Introduction","title":"How the documentation is structured","text":"","category":"section"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"Having a high-level overview of how this documentation is structured will help you know where to look for certain things.","category":"page"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"The Tutorials section contains articles on how to use and implement the MathOptInteraface API. Look here if you want to write a model in MOI, or write an interface to a new solver.\nThe Manual contains short code-snippets that explain how to use the MOI API. Look here for more details on particular areas of MOI.\nThe Background section contains articles on the theory behind MathOptInterface. Look here if you want to understand why, rather than how.\nThe API Reference contains a complete list of functions and types that comprise the MOI API. Look here if you want to know how to use (or implement) a particular function.\nThe Submodules section contains stand-alone documentation for each of the submodules within MOI. These submodules are not required to interface a solver with MOI, but they make the job much easier.","category":"page"},{"location":"moi/#Citing-MathOptInterface","page":"Introduction","title":"Citing MathOptInterface","text":"","category":"section"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"If you find MathOptInterface useful in your work, we kindly request that you cite the following paper:","category":"page"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"@article{legat2021mathoptinterface,\n title={{MathOptInterface}: a data structure for mathematical optimization problems},\n author={Legat, Beno{\\^\\i}t and Dowson, Oscar and Garcia, Joaquim Dias and Lubin, Miles},\n journal={INFORMS Journal on Computing},\n year={2021},\n doi={10.1287/ijoc.2021.1067},\n publisher={INFORMS}\n}","category":"page"},{"location":"moi/","page":"Introduction","title":"Introduction","text":"A preprint of this paper is freely available.","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"EditURL = \"https://github.com/osqp/OSQP.jl/blob/v0.8.1/README.md\"","category":"page"},{"location":"packages/OSQP/#OSQP.jl","page":"osqp/OSQP.jl","title":"OSQP.jl","text":"","category":"section"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"(Image: Build Status) (Image: codecov.io)","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"OSQP.jl is a Julia wrapper for OSQP: the Operator Splitting QP Solver.","category":"page"},{"location":"packages/OSQP/#License","page":"osqp/OSQP.jl","title":"License","text":"","category":"section"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"OSQP.jl is licensed under the Apache-2.0 license.","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"The upstream solver, osqp/osqp is also licensed under the Apache-2.0 license.","category":"page"},{"location":"packages/OSQP/#Installation","page":"osqp/OSQP.jl","title":"Installation","text":"","category":"section"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"Install OSQP.jl using the Julia package manager","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"import Pkg\nPkg.add(\"OSQP\")","category":"page"},{"location":"packages/OSQP/#Problem-class","page":"osqp/OSQP.jl","title":"Problem class","text":"","category":"section"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"The OSQP (Operator Splitting Quadratic Program) solver is a numerical optimization package for solving problems in the form","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"minimize 0.5 x' P x + q' x\n\nsubject to l <= A x <= u","category":"page"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"where x in R^n is the optimization variable. The objective function is defined by a positive semidefinite matrix P in S^n_+ and vector q in R^n. The linear constraints are defined by matrix A in R^{m x n} and vectors l in R^m U {-inf}^m, u in R^m U {+inf}^m.","category":"page"},{"location":"packages/OSQP/#Documentation","page":"osqp/OSQP.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/OSQP/","page":"osqp/OSQP.jl","title":"osqp/OSQP.jl","text":"Detailed documentation is available at https://osqp.org/.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"EditURL = \"classifiers.jl\"","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Example:-classification-problems","page":"Example: classification problems","title":"Example: classification problems","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The purpose of this tutorial is to show how JuMP can be used to formulate classification problems.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Classification problems deal with constructing functions, called classifiers, that can efficiently classify data into two or more distinct sets. A common application is classifying previously unseen data points after training a classifier on known data.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The theory and models in this tutorial come from Section 9.4 of (Ferris et al., 2007).","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Required-packages","page":"Example: classification problems","title":"Required packages","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"using JuMP\nimport DelimitedFiles\nimport Ipopt\nimport LinearAlgebra\nimport Plots\nimport Random\nimport Test","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Data-and-visualisation","page":"Example: classification problems","title":"Data and visualisation","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"To start, let's generate some points to test with. The argument m is the number of 2-dimensional points:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"function generate_test_points(m; random_seed = 1)\n rng = Random.MersenneTwister(random_seed)\n return 2.0 .* rand(rng, Float64, m, 2)\nend","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"For the sake of the example, let's take m = 100:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"P = generate_test_points(100);\nnothing #hide","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The points are represented row-wise in the matrix P. Let's visualise the points using the Plots package:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"plot = Plots.scatter(\n P[:, 1],\n P[:, 2];\n xlim = (0, 2.02),\n ylim = (0, 2.02),\n color = :white,\n size = (600, 600),\n legend = false,\n)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We want to split the points into two distinct sets on either side of a dividing line. We'll then label each point depending on which side of the line it happens to fall. Based on the labels of the point, we'll show how to create a classifier using a JuMP model. We can then test how well our classifier reproduces the original labels and the boundary between them.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Let's make a line to divide the points into two sets by defining a gradient and a constant:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"w_0, g_0 = [5, 3], 8\nline(v::AbstractArray; w = w_0, g = g_0) = w' * v - g\nline(x::Real; w = w_0, g = g_0) = -(w[1] * x - g) / w[2];\nnothing #hide","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Julia's multiple dispatch feature allows us to define the vector and single-variable form of the line function under the same name.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Let's add this to the plot:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Plots.plot!(plot, line; linewidth = 5)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Now we label the points relative to which side of the line they are. It is numerically useful to have the labels +1 and -1 for the upcoming JuMP formulation.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"labels = ifelse.(line.(eachrow(P)) .>= 0, 1, -1)\nPlots.scatter!(\n plot,\n P[:, 1],\n P[:, 2];\n shape = ifelse.(labels .== 1, :cross, :xcross),\n markercolor = ifelse.(labels .== 1, :blue, :crimson),\n markersize = 8,\n)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Our goal is to show we can reconstruct the line from just the points and the labels.","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Formulation:-linear-support-vector-machine","page":"Example: classification problems","title":"Formulation: linear support vector machine","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"A classifier known as the linear support vector machine (SVM) looks for the affine function L(p) = w^top p - g that satisfies L(p) 0 for all points p with a label -1 and L(p) ge 0 for all points p with a label +1.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The linearly constrained quadratic program that implements this is:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"beginaligned\nmin_w in mathbbR^n g in mathbbR y in mathbbR^m quad frac12 w^top w + C sum_i=1^m y_i \ntextsubject to quad D cdot (P w - g) + y geq mathbf1 \n y ge 0\nendaligned","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"where D is a diagonal matrix of the labels.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We need a default value for the positive penalty parameter C:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"C_0 = 100.0;\nnothing #hide","category":"page"},{"location":"tutorials/nonlinear/classifiers/#JuMP-formulation","page":"Example: classification problems","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Here is the JuMP model:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"function solve_SVM_classifier(P::Matrix, labels::Vector; C::Float64 = C_0)\n m, n = size(P)\n model = Model(Ipopt.Optimizer)\n set_silent(model)\n @variable(model, w[1:n])\n @variable(model, g)\n @variable(model, y[1:m] >= 0)\n @objective(model, Min, 1 / 2 * w' * w + C * sum(y))\n D = LinearAlgebra.Diagonal(labels)\n @constraint(model, D * (P * w .- g) .+ y .>= 1)\n optimize!(model)\n Test.@test is_solved_and_feasible(model)\n slack = extrema(value.(y))\n println(\"Minimum slack: \", slack[1], \"\\nMaximum slack: \", slack[2])\n classifier(x) = line(x; w = value.(w), g = value(g))\n return model, classifier\nend","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Results","page":"Example: classification problems","title":"Results","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Let's recover the values that define the classifier by solving the model:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"_, classifier = solve_SVM_classifier(P, labels)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"With the solution, we can ask: was the value of the penalty constant \"sufficiently large\" for this data set? This can be judged in part by the range of the slack variables. If the slack is too large, then we need to increase the penalty constant.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Let's plot the solution and check how we did:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Plots.plot!(plot, classifier; linewidth = 5, linestyle = :dashdotdot)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We find that we have recovered the dividing line from just the information of the points and their labels.","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Nonseparable-classes-of-points","page":"Example: classification problems","title":"Nonseparable classes of points","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Now, what if the point sets are not cleanly separable by a line (or a hyperplane in higher dimensions)? Does this still work? Let's repeat the process, but this time we will simulate nonseparable classes of points by intermingling a few nearby points across the previously used line.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"nearby_indices = abs.(line.(eachrow(P))) .< 1.1\nlabels_new = ifelse.(nearby_indices, -labels, labels)\nmodel, classifier = solve_SVM_classifier(P, labels_new)\nplot = Plots.scatter(\n P[:, 1],\n P[:, 2];\n xlim = (0, 2.02),\n ylim = (0, 2.02),\n color = :white,\n size = (600, 600),\n legend = false,\n)\nPlots.scatter!(\n plot,\n P[:, 1],\n P[:, 2];\n shape = ifelse.(labels_new .== 1, :cross, :xcross),\n markercolor = ifelse.(labels_new .== 1, :blue, :crimson),\n markersize = 8,\n)\nPlots.plot!(plot, classifier; linewidth = 5, linestyle = :dashdotdot)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"So our JuMP formulation still produces a classifier, but it mis-classifies some of the nonseparable points.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We can find out which points are contributing to the shape of the line by looking at the dual values of the affine constraints and comparing them to the penalty constant C:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"affine_cons = all_constraints(model, AffExpr, MOI.GreaterThan{Float64})\nactive_cons = findall(isapprox.(dual.(affine_cons), C_0; atol = 0.001))\nfindall(nearby_indices) ⊆ active_cons","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The last statement tells us that our nonseparable points are actively contributing to how the classifier is defined. The remaining points are of interest and are highlighted:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"P_active = P[setdiff(active_cons, findall(nearby_indices)), :]\nPlots.scatter!(\n plot,\n P_active[:, 1],\n P_active[:, 2];\n shape = :hexagon,\n markersize = 8,\n markeropacity = 0.5,\n)","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Advanced:-duality-and-the-kernel-method","page":"Example: classification problems","title":"Advanced: duality and the kernel method","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We now consider an alternative formulation for a linear SVM by solving the dual problem.","category":"page"},{"location":"tutorials/nonlinear/classifiers/#The-dual-program","page":"Example: classification problems","title":"The dual program","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The dual of the linear SVM program is also a linearly constrained quadratic program:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"beginaligned\nmin_u in mathbbR^m quad frac12 u^top D P P^top D u - mathbf1^top u \ntextsubject to quad mathbf1^top D u = 0 \n 0 leq u leq Cmathbf1\nendaligned","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"This is the JuMP model:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"function solve_dual_SVM_classifier(P::Matrix, labels::Vector; C::Float64 = C_0)\n m, n = size(P)\n model = Model(Ipopt.Optimizer)\n set_silent(model)\n @variable(model, 0 <= u[1:m] <= C)\n D = LinearAlgebra.Diagonal(labels)\n @objective(model, Min, 1 / 2 * u' * D * P * P' * D * u - sum(u))\n @constraint(model, con, sum(D * u) == 0)\n optimize!(model)\n Test.@test is_solved_and_feasible(model)\n w = P' * D * value.(u)\n g = dual(con)\n classifier(x) = line(x; w = w, g = g)\n return classifier\nend","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We recover the line gradient vector w through setting w = P^top D u, and the line constant g as the dual value of the single affine constraint.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The dual problem has fewer variables and fewer constraints, so in many cases it may be simpler to solve the dual form.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We can check that the dual form has recovered a classifier:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"classifier = solve_dual_SVM_classifier(P, labels)\nPlots.plot!(plot, classifier; linewidth = 5, linestyle = :dash)","category":"page"},{"location":"tutorials/nonlinear/classifiers/#The-kernel-method","page":"Example: classification problems","title":"The kernel method","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Linear SVM techniques are not limited to finding separating hyperplanes in the original space of the dataset. One could first transform the training data under a nonlinear mapping, apply our method, then map the hyperplane back into original space.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The actual data describing the point set is held in a matrix P, but looking at the dual program we see that what actually matters is the Gram matrix P P^top, expressing a pairwise comparison (an inner-product) between each point vector. It follows that any mapping of the point set only needs to be defined at the level of pairwise maps between points. Such maps are known as kernel functions:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"k mathbbR^n times mathbbR^n rightarrow mathbbR qquad\n(s t) mapsto left Phi(s) Phi(t) right","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"where the right-hand side applies some transformation Phi mathbbR^n rightarrow mathbbR^n followed by an inner-product in that image space.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"In practice, we can avoid having Phi explicitly given but instead define a kernel function directly between pairs of vectors. This change to using a kernel function without knowing the map is called the kernel method (or sometimes, the kernel trick).","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Classifier-using-a-Gaussian-kernel","page":"Example: classification problems","title":"Classifier using a Gaussian kernel","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We will demonstrate the application of a Gaussian or radial basis function kernel:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"k(s t) = expleft( -mu lVert s - t rVert^2_2 right)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"for some positive parameter mu.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"k_gauss(s::Vector, t::Vector; μ = 0.5) = exp(-μ * LinearAlgebra.norm(s - t)^2)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Given a matrix of points expressed row-wise and a kernel, the next function returns the transformed matrix K that replaces P P^top:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"function pairwise_transform(kernel::Function, P::Matrix{T}) where {T}\n m, n = size(P)\n K = zeros(T, m, m)\n for j in 1:m, i in 1:j\n K[i, j] = K[j, i] = kernel(P[i, :], P[j, :])\n end\n return LinearAlgebra.Symmetric(K)\nend","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Now we're ready to define our optimization problem. We need to provide the kernel function to be used in the problem. Note that any extra keyword arguments here (like parameter values) are passed through to the kernel.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"function solve_kernel_SVM_classifier(\n kernel::Function,\n P::Matrix,\n labels::Vector;\n C::Float64 = C_0,\n kwargs...,\n)\n m, n = size(P)\n K = pairwise_transform(kernel, P)\n model = Model(Ipopt.Optimizer)\n set_silent(model)\n @variable(model, 0 <= u[1:m] <= C)\n D = LinearAlgebra.Diagonal(labels)\n con = @constraint(model, sum(D * u) == 0)\n @objective(model, Min, 1 / 2 * u' * D * K * D * u - sum(u))\n optimize!(model)\n Test.@test is_solved_and_feasible(model)\n u_sol, g_sol = value.(u), dual(con)\n function classifier(v::Vector)\n return sum(\n D[i, i] * u_sol[i] * kernel(P[i, :], v; kwargs...) for i in 1:m\n ) - g_sol\n end\n return classifier\nend","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"This time, we don't recover the line gradient vector w directly. Instead, we compute the classifier f using the function:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":" f(v) = sum_i=1^m D_ii u_i k(p_i v ) - g","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"where p_i is row vector i of P.","category":"page"},{"location":"tutorials/nonlinear/classifiers/#Checkerboard-dataset","page":"Example: classification problems","title":"Checkerboard dataset","text":"","category":"section"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"To demonstrate this nonlinear technique, we'll use the checkerboard dataset.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"filename = joinpath(@__DIR__, \"data\", \"checker\", \"checker.txt\")\ncheckerboard = DelimitedFiles.readdlm(filename, ' ', Int)\nlabels = ifelse.(iszero.(checkerboard[:, 1]), -1, 1)\nB = checkerboard[:, 2:3] ./ 100.0 # rescale to [0,2] x [0,2] square.\nplot = Plots.scatter(\n B[:, 1],\n B[:, 2];\n color = ifelse.(labels .== 1, :white, :black),\n markersize = ifelse.(labels .== 1, 4, 2),\n size = (600, 600),\n legend = false,\n)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"Is the technique capable of generating a distinctly nonlinear surface? Let's solve the Gaussian kernel based quadratic problem with these parameters:","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"classifier = solve_kernel_SVM_classifier(k_gauss, B, labels; C = 1e5, μ = 10.0)\ngrid = [[x, y] for x in 0:0.01:2, y in 0:0.01:2]\ngrid_pos = [Tuple(g) for g in grid if classifier(g) >= 0]\nPlots.scatter!(plot, grid_pos; markersize = 0.2)","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"We find that the kernel method can perform well as a nonlinear classifier.","category":"page"},{"location":"tutorials/nonlinear/classifiers/","page":"Example: classification problems","title":"Example: classification problems","text":"The result has a fairly strong dependence on the choice of parameters, with larger values of mu allowing for a more complex boundary while smaller values lead to a smoother boundary for the classifier. Determining a better performing kernel function and choice of parameters is covered by the process of cross-validation with respect to the dataset, where different testing, training and tuning sets are used to validate the best choice of parameters against a statistical measure of error.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"CurrentModule = JuMP\nDocTestSetup = quote\n using JuMP, HiGHS, SCS\nend\nDocTestFilters = [r\"≤|<=\", r\"≥|>=\", r\" == | = \", r\" ∈ | in \", r\"MathOptInterface|MOI\"]","category":"page"},{"location":"manual/models/#jump_models","page":"Models","title":"Models","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"JuMP models are the fundamental building block that we use to construct optimization problems. They hold things like the variables and constraints, as well as which solver to use and even solution information.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"info: Info\nJuMP uses \"optimizer\" as a synonym for \"solver.\" Our convention is to use \"solver\" to refer to the underlying software, and use \"optimizer\" to refer to the Julia object that wraps the solver. For example, HiGHS is a solver, and HiGHS.Optimizer is an optimizer.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"tip: Tip\nSee Supported solvers for a list of available solvers.","category":"page"},{"location":"manual/models/#Create-a-model","page":"Models","title":"Create a model","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Create a model by passing an optimizer to Model:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer)\nA JuMP Model\n├ solver: HiGHS\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"If you don't know which optimizer you will be using at creation time, create a model without an optimizer, and then call set_optimizer at any time prior to optimize!:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model()\nA JuMP Model\n├ solver: none\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none\n\njulia> set_optimizer(model, HiGHS.Optimizer)","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"tip: Tip\nDon't know what the fields Model mode and CachingOptimizer state mean? Read the Backends section.","category":"page"},{"location":"manual/models/#What-is-the-difference?","page":"Models","title":"What is the difference?","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"For most models, there is no difference between passing the optimizer to Model, and calling set_optimizer.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"However, if an optimizer does not support a constraint in the model, the timing of when an error will be thrown can differ:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"If you pass an optimizer, an error will be thrown when you try to add the constraint.\nIf you call set_optimizer, an error will be thrown when you try to solve the model via optimize!.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Therefore, most users should pass an optimizer to Model because it provides the earliest warning that your solver is not suitable for the model you are trying to build. However, if you are modifying a problem by adding and deleting different constraint types, you may need to use set_optimizer. See Switching optimizer for the relaxed problem for an example of when this is useful.","category":"page"},{"location":"manual/models/#Reducing-time-to-first-solve-latency","page":"Models","title":"Reducing time-to-first-solve latency","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"By default, JuMP uses bridges to reformulate the model you are building into an equivalent model supported by the solver.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"However, if your model is already supported by the solver, bridges add latency (read The \"time-to-first-solve\" issue). This is particularly noticeable for small models.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"To reduce the \"time-to-first-solve,s\" try passing add_bridges = false.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer; add_bridges = false);","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"or","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model();\n\njulia> set_optimizer(model, HiGHS.Optimizer; add_bridges = false)","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"However, be wary. If your model and solver combination needs bridges, an error will be thrown:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(SCS.Optimizer; add_bridges = false);\n\n\njulia> @variable(model, x)\nx\n\njulia> @constraint(model, 2x <= 1)\nERROR: Constraints of type MathOptInterface.ScalarAffineFunction{Float64}-in-MathOptInterface.LessThan{Float64} are not supported by the solver.\n\nIf you expected the solver to support your problem, you may have an error in your formulation. Otherwise, consider using a different solver.\n\nThe list of available solvers, along with the problem types they support, is available at https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers.\n[...]","category":"page"},{"location":"manual/models/#Solvers-which-expect-environments","page":"Models","title":"Solvers which expect environments","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Some solvers accept (or require) positional arguments such as a license environment or a path to a binary executable. For these solvers, you can pass a function to Model which takes zero arguments and returns an instance of the optimizer.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A common use-case for this is passing an environment or sub-solver to the optimizer:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> import HiGHS\n\njulia> import MultiObjectiveAlgorithms as MOA\n\njulia> model = Model(() -> MOA.Optimizer(HiGHS.Optimizer))\nA JuMP Model\n├ solver: MOA[algorithm=MultiObjectiveAlgorithms.Lexicographic, optimizer=HiGHS]\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none","category":"page"},{"location":"manual/models/#solver_options","page":"Models","title":"Solver options","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"JuMP uses \"attribute\" as a synonym for \"option.\" Use optimizer_with_attributes to create an optimizer with some attributes initialized:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(\n optimizer_with_attributes(HiGHS.Optimizer, \"output_flag\" => false),\n )\nA JuMP Model\n├ solver: HiGHS\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Alternatively, use set_attribute to set an attribute after the model has been created:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> set_attribute(model, \"output_flag\", false)\n\njulia> get_attribute(model, \"output_flag\")\nfalse","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"You can also modify attributes within an optimizer_with_attributes object:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> solver = optimizer_with_attributes(HiGHS.Optimizer, \"output_flag\" => true);\n\njulia> get_attribute(solver, \"output_flag\")\ntrue\n\njulia> set_attribute(solver, \"output_flag\", false)\n\njulia> get_attribute(solver, \"output_flag\")\nfalse\n\njulia> model = Model(solver);","category":"page"},{"location":"manual/models/#Changing-the-number-types","page":"Models","title":"Changing the number types","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"By default, the coefficients of affine and quadratic expressions are numbers of type either Float64 or Complex{Float64} (see Complex number support).","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"The type Float64 can be changed using the GenericModel constructor:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = GenericModel{Rational{BigInt}}();\n\njulia> @variable(model, x)\nx\n\njulia> @expression(model, expr, 1 // 3 * x)\n1//3 x\n\njulia> typeof(expr)\nGenericAffExpr{Rational{BigInt}, GenericVariableRef{Rational{BigInt}}}","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Using a value_type other than Float64 is an advanced operation and should be used only if the underlying solver actually solves the problem using the provided value type.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nNonlinear Modeling is currently restricted to the Float64 number type.","category":"page"},{"location":"manual/models/#Print-the-model","page":"Models","title":"Print the model","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"By default, show(model) will print a summary of the problem:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(); @variable(model, x >= 0); @objective(model, Max, x);\n\njulia> model\nA JuMP Model\n├ solver: none\n├ objective_sense: MAX_SENSE\n│ └ objective_function_type: VariableRef\n├ num_variables: 1\n├ num_constraints: 1\n│ └ VariableRef in MOI.GreaterThan{Float64}: 1\n└ Names registered in the model\n └ :x","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use print to print the formulation of the model (in IJulia, this will render as LaTeX.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> print(model)\nMax x\nSubject to\n x ≥ 0","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nThis format is specific to JuMP and may change in any future release. It is not intended to be an instance format. To write the model to a file, use write_to_file instead.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use latex_formulation to display the model in LaTeX form.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> latex_formulation(model)\n$$ \\begin{aligned}\n\\max\\quad & x\\\\\n\\text{Subject to} \\quad & x \\geq 0\\\\\n\\end{aligned} $$","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"In IJulia (and Documenter), ending a cell in with latex_formulation will render the model in LaTeX:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"using JuMP # hide\nmodel = Model() # hide\n@variable(model, x >= 0) # hide\n@objective(model, Max, x) # hide\nlatex_formulation(model)","category":"page"},{"location":"manual/models/#Turn-off-output","page":"Models","title":"Turn off output","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use set_silent and unset_silent to disable or enable printing output from the solver.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> set_silent(model)\n\njulia> unset_silent(model)","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"tip: Tip\nMost solvers will also have a solver-specific option to provide finer-grained control over the output. Consult their README's for details.","category":"page"},{"location":"manual/models/#Set-a-time-limit","page":"Models","title":"Set a time limit","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use set_time_limit_sec, unset_time_limit_sec, and time_limit_sec to manage time limits.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> set_time_limit_sec(model, 60.0)\n\n\njulia> time_limit_sec(model)\n60.0\n\njulia> unset_time_limit_sec(model)\n\njulia> limit = time_limit_sec(model)\n\njulia> limit === nothing\ntrue","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"If your time limit is encoded as a Dates.Period object, use the following code to convert it to Float64 for set_time_limit_sec:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> import Dates\n\njulia> seconds(x::Dates.Period) = 1e-3 * Dates.value(round(x, Dates.Millisecond))\nseconds (generic function with 1 method)\n\njulia> set_time_limit_sec(model, seconds(Dates.Hour(1)))\n\njulia> time_limit_sec(model)\n3600.0","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"info: Info\nSome solvers do not support time limits. In these cases, an error will be thrown.","category":"page"},{"location":"manual/models/#Write-a-model-to-file","page":"Models","title":"Write a model to file","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"JuMP can write models to a variety of file-formats using write_to_file and Base.write.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"For most common file formats, the file type will be detected from the extension.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"For example, here is how to write an MPS file:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model();\n\njulia> write_to_file(model, \"model.mps\")","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Other supported file formats include:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":".cbf for the Conic Benchmark Format\n.lp for the LP file format\n.mof.json for the MathOptFormat\n.nl for AMPL's NL file format\n.rew for the REW file format\n.sdpa and \".dat-s\" for the SDPA file format","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"To write to a specific io::IO, use Base.write. Specify the file type by passing a MOI.FileFormats.FileFormat enum.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model();\n\njulia> io = IOBuffer();\n\njulia> write(io, model; format = MOI.FileFormats.FORMAT_MPS)","category":"page"},{"location":"manual/models/#Read-a-model-from-file","page":"Models","title":"Read a model from file","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"JuMP models can be created from file formats using read_from_file and Base.read.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = read_from_file(\"model.mps\")\nA JuMP Model\n├ solver: none\n├ objective_sense: MIN_SENSE\n│ └ objective_function_type: AffExpr\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none\n\njulia> seekstart(io);\n\njulia> model2 = read(io, Model; format = MOI.FileFormats.FORMAT_MPS)\nA JuMP Model\n├ solver: none\n├ objective_sense: MIN_SENSE\n│ └ objective_function_type: AffExpr\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"note: Note\nBecause file formats do not serialize the containers of JuMP variables and constraints, the names in the model will not be registered. Therefore, you cannot access named variables and constraints via model[:x]. Instead, use variable_by_name or constraint_by_name to access specific variables or constraints.","category":"page"},{"location":"manual/models/#Relax-integrality","page":"Models","title":"Relax integrality","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use relax_integrality to remove any integrality constraints from the model, such as integer and binary restrictions on variables. relax_integrality returns a function that can be later called with zero arguments to re-add the removed constraints:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model();\n\njulia> @variable(model, x, Int)\nx\n\njulia> num_constraints(model, VariableRef, MOI.Integer)\n1\n\njulia> undo = relax_integrality(model);\n\njulia> num_constraints(model, VariableRef, MOI.Integer)\n0\n\njulia> undo()\n\njulia> num_constraints(model, VariableRef, MOI.Integer)\n1","category":"page"},{"location":"manual/models/#Switching-optimizer-for-the-relaxed-problem","page":"Models","title":"Switching optimizer for the relaxed problem","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"A common reason for relaxing integrality is to compute dual variables of the relaxed problem. However, some mixed-integer linear solvers (for example, Cbc) do not return dual solutions, even if the problem does not have integrality restrictions.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Therefore, after relax_integrality you should call set_optimizer with a solver that does support dual solutions, such as Clp.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"For example, instead of:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"using JuMP, Cbc\nmodel = Model(Cbc.Optimizer)\n@variable(model, x, Int)\nundo = relax_integrality(model)\noptimize!(model)\nreduced_cost(x) # Errors","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"do:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"using JuMP, Cbc, Clp\nmodel = Model(Cbc.Optimizer)\n@variable(model, x, Int)\nundo = relax_integrality(model)\nset_optimizer(model, Clp.Optimizer)\noptimize!(model)\nreduced_cost(x) # Works","category":"page"},{"location":"manual/models/#Get-the-matrix-representation","page":"Models","title":"Get the matrix representation","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use lp_matrix_data to return a data structure that represents the matrix form of a linear program.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> begin\n model = Model()\n @variable(model, x >= 1, Bin)\n @variable(model, 2 <= y)\n @variable(model, 3 <= z <= 4, Int)\n @constraint(model, x == 5)\n @constraint(model, 2x + 3y <= 6)\n @constraint(model, -4y >= 5z + 7)\n @constraint(model, -1 <= x + y <= 2)\n @objective(model, Max, 1 + 2x)\n end;\n\njulia> data = lp_matrix_data(model);\n\njulia> data.A\n4×3 SparseArrays.SparseMatrixCSC{Float64, Int64} with 7 stored entries:\n 1.0 ⋅ ⋅\n ⋅ -4.0 -5.0\n 2.0 3.0 ⋅\n 1.0 1.0 ⋅\n\njulia> data.b_lower\n4-element Vector{Float64}:\n 5.0\n 7.0\n -Inf\n -1.0\n\njulia> data.b_upper\n4-element Vector{Float64}:\n 5.0\n Inf\n 6.0\n 2.0\n\njulia> data.x_lower\n3-element Vector{Float64}:\n 1.0\n 2.0\n 3.0\n\njulia> data.x_upper\n3-element Vector{Float64}:\n Inf\n Inf\n 4.0\n\njulia> data.c\n3-element Vector{Float64}:\n 2.0\n 0.0\n 0.0\n\njulia> data.c_offset\n1.0\n\njulia> data.sense\nMAX_SENSE::OptimizationSense = 1\n\njulia> data.integers\n1-element Vector{Int64}:\n 3\n\njulia> data.binaries\n1-element Vector{Int64}:\n 1","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nlp_matrix_data is intentionally limited in the types of problems that it supports and the structure of the matrices it outputs. It is mainly intended as a pedagogical and debugging tool. It should not be used to interface solvers, see Implementing a solver interface instead.","category":"page"},{"location":"manual/models/#Backends","page":"Models","title":"Backends","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"info: Info\nThis section discusses advanced features of JuMP. For new users, you may want to skip this section. You don't need to know how JuMP manages problems behind the scenes to create and solve JuMP models.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A JuMP Model is a thin layer around a backend of type MOI.ModelLike that stores the optimization problem and acts as the optimization solver.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"However, if you construct a model like Model(HiGHS.Optimizer), the backend is not a HiGHS.Optimizer, but a more complicated object.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"From JuMP, the MOI backend can be accessed using the backend function. Let's see what the backend of a JuMP Model is:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer);\n\njulia> b = backend(model)\nMOIU.CachingOptimizer\n├ state: EMPTY_OPTIMIZER\n├ mode: AUTOMATIC\n├ model_cache: MOIU.UniversalFallback{MOIU.Model{Float64}}\n│ ├ ObjectiveSense: FEASIBILITY_SENSE\n│ ├ ObjectiveFunctionType: MOI.ScalarAffineFunction{Float64}\n│ ├ NumberOfVariables: 0\n│ └ NumberOfConstraints: 0\n└ optimizer: MOIB.LazyBridgeOptimizer{HiGHS.Optimizer}\n ├ Variable bridges: none\n ├ Constraint bridges: none\n ├ Objective bridges: none\n └ model: A HiGHS model with 0 columns and 0 rows.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Uh oh. Even though we passed a HiGHS.Optimizer, the backend is a much more complicated object.","category":"page"},{"location":"manual/models/#CachingOptimizer","page":"Models","title":"CachingOptimizer","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"A MOIU.CachingOptimizer is a layer that abstracts the difference between solvers that support incremental modification (for example, they support adding variables one-by-one), and solvers that require the entire problem in a single API call (for example, they only accept the A, b and c matrices of a linear program).","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"It has two parts:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A cache, where the model can be built and modified incrementally\njulia> b.model_cache\nMOIU.UniversalFallback{MOIU.Model{Float64}}\n├ ObjectiveSense: FEASIBILITY_SENSE\n├ ObjectiveFunctionType: MOI.ScalarAffineFunction{Float64}\n├ NumberOfVariables: 0\n└ NumberOfConstraints: 0\nAn optimizer, which is used to solve the problem\njulia> b.optimizer\nMOIB.LazyBridgeOptimizer{HiGHS.Optimizer}\n├ Variable bridges: none\n├ Constraint bridges: none\n├ Objective bridges: none\n└ model: A HiGHS model with 0 columns and 0 rows.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"info: Info\nThe LazyBridgeOptimizer section explains what a LazyBridgeOptimizer is.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"The CachingOptimizer has logic to decide when to copy the problem from the cache to the optimizer, and when it can efficiently update the optimizer in-place.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A CachingOptimizer may be in one of three possible states:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"NO_OPTIMIZER: The CachingOptimizer does not have any optimizer.\nEMPTY_OPTIMIZER: The CachingOptimizer has an empty optimizer, and it is not synchronized with the cached model.\nATTACHED_OPTIMIZER: The CachingOptimizer has an optimizer, and it is synchronized with the cached model.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A CachingOptimizer has two modes of operation:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"AUTOMATIC: The CachingOptimizer changes its state when necessary. For example, optimize! will automatically call attach_optimizer (an optimizer must have been previously set). Attempting to add a constraint or perform a modification not supported by the optimizer results in a drop to EMPTY_OPTIMIZER mode.\nMANUAL: The user must change the state of the CachingOptimizer using MOIU.reset_optimizer(::JuMP.Model), MOIU.drop_optimizer(::JuMP.Model), and MOIU.attach_optimizer(::JuMP.Model). Attempting to perform an operation in the incorrect state results in an error.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"By default Model will create a CachingOptimizer in AUTOMATIC mode.","category":"page"},{"location":"manual/models/#LazyBridgeOptimizer","page":"Models","title":"LazyBridgeOptimizer","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"The second layer that JuMP applies automatically is a MOI.Bridges.LazyBridgeOptimizer. A MOI.Bridges.LazyBridgeOptimizer is an MOI layer that attempts to transform the problem from the formulation provided by the user into an equivalent problem supported by the solver. This may involve adding new variables and constraints to the optimizer. The transformations are selected from a set of known recipes called bridges.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A common example of a bridge is one that splits an interval constraint like @constraint(model, 1 <= x + y <= 2) into two constraints, @constraint(model, x + y >= 1) and @constraint(model, x + y <= 2).","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Use the add_bridges = false keyword to remove the bridging layer:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = Model(HiGHS.Optimizer; add_bridges = false)\nA JuMP Model\n├ solver: HiGHS\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none\n\njulia> backend(model)\nMOIU.CachingOptimizer\n├ state: EMPTY_OPTIMIZER\n├ mode: AUTOMATIC\n├ model_cache: MOIU.UniversalFallback{MOIU.Model{Float64}}\n│ ├ ObjectiveSense: FEASIBILITY_SENSE\n│ ├ ObjectiveFunctionType: MOI.ScalarAffineFunction{Float64}\n│ ├ NumberOfVariables: 0\n│ └ NumberOfConstraints: 0\n└ optimizer: A HiGHS model with 0 columns and 0 rows.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"Bridges can be added and removed from a MOI.Bridges.LazyBridgeOptimizer using add_bridge and remove_bridge. Use print_active_bridges to see which bridges are used to reformulate the model. Read the Example: ellipsoid approximation tutorial for more details.","category":"page"},{"location":"manual/models/#Unsafe-backend","page":"Models","title":"Unsafe backend","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"In some advanced use-cases, it is necessary to work with the inner optimization model directly. To access this model, use unsafe_backend:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> backend(model)\nMOIU.CachingOptimizer\n├ state: EMPTY_OPTIMIZER\n├ mode: AUTOMATIC\n├ model_cache: MOIU.UniversalFallback{MOIU.Model{Float64}}\n│ ├ ObjectiveSense: FEASIBILITY_SENSE\n│ ├ ObjectiveFunctionType: MOI.ScalarAffineFunction{Float64}\n│ ├ NumberOfVariables: 0\n│ └ NumberOfConstraints: 0\n└ optimizer: MOIB.LazyBridgeOptimizer{HiGHS.Optimizer}\n ├ Variable bridges: none\n ├ Constraint bridges: none\n ├ Objective bridges: none\n └ model: A HiGHS model with 0 columns and 0 rows.\n\njulia> unsafe_backend(model)\nA HiGHS model with 0 columns and 0 rows.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nbackend and unsafe_backend are advanced routines. Read their docstrings to understand the caveats of their usage, and only call them if you wish to access low-level solver-specific functions.","category":"page"},{"location":"manual/models/#Direct-mode","page":"Models","title":"Direct mode","text":"","category":"section"},{"location":"manual/models/","page":"Models","title":"Models","text":"Using a CachingOptimizer results in an additional copy of the model being stored by JuMP in the .model_cache field. To avoid this overhead, create a JuMP model using direct_model:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = direct_model(HiGHS.Optimizer())\nA JuMP Model\n├ mode: DIRECT\n├ solver: HiGHS\n├ objective_sense: FEASIBILITY_SENSE\n├ num_variables: 0\n├ num_constraints: 0\n└ Names registered in the model: none","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nSolvers that do not support incremental modification do not support direct_model. An error will be thrown, telling you to use a CachingOptimizer instead.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"The benefit of using direct_model is that there are no extra layers (for example, Cachingoptimizer or LazyBridgeOptimizer) between model and the provided optimizer:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> backend(model)\nA HiGHS model with 0 columns and 0 rows.","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"A downside of direct mode is that there is no bridging layer. Therefore, only constraints which are natively supported by the solver are supported. For example, HiGHS.jl does not implement quadratic constraints:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"julia> model = direct_model(HiGHS.Optimizer());\n\njulia> set_silent(model)\n\njulia> @variable(model, x[1:2]);\n\njulia> @constraint(model, x[1]^2 + x[2]^2 <= 2)\nERROR: Constraints of type MathOptInterface.ScalarQuadraticFunction{Float64}-in-MathOptInterface.LessThan{Float64} are not supported by the solver.\n\nIf you expected the solver to support your problem, you may have an error in your formulation. Otherwise, consider using a different solver.\n\nThe list of available solvers, along with the problem types they support, is available at https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers.\nStacktrace:","category":"page"},{"location":"manual/models/","page":"Models","title":"Models","text":"warning: Warning\nAnother downside of direct mode is that the behavior of querying solution information after modifying the problem is solver-specific. This can lead to errors, or the solver silently returning an incorrect value. See OptimizeNotCalled errors for more information.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/background/duality.md\"","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/background/duality/#Duality","page":"Duality","title":"Duality","text":"","category":"section"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Conic duality is the starting point for MOI's duality conventions. When all functions are affine (or coordinate projections), and all constraint sets are closed convex cones, the model may be called a conic optimization problem.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"For a minimization problem in geometric conic form, the primal is:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min_x in mathbbR^n a_0^T x + b_0\n\n textst A_i x + b_i in mathcalC_i i = 1 ldots m\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"and the dual is a maximization problem in standard conic form:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max_y_1 ldots y_m -sum_i=1^m b_i^T y_i + b_0\n\n textst a_0 - sum_i=1^m A_i^T y_i = 0\n\n y_i in mathcalC_i^* i = 1 ldots m\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"where each mathcalC_i is a closed convex cone and mathcalC_i^* is its dual cone.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"For a maximization problem in geometric conic form, the primal is:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max_x in mathbbR^n a_0^T x + b_0\n\n textst A_i x + b_i in mathcalC_i i = 1 ldots m\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"and the dual is a minimization problem in standard conic form:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min_y_1 ldots y_m sum_i=1^m b_i^T y_i + b_0\n\n textst a_0 + sum_i=1^m A_i^T y_i = 0\n\n y_i in mathcalC_i^* i = 1 ldots m\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"A linear inequality constraint a^T x + b ge c is equivalent to a^T x + b - c in mathbbR_+, and a^T x + b le c is equivalent to a^T x + b - c in mathbbR_-. Variable-wise constraints are affine constraints with the appropriate identity mapping in place of A_i.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"For the special case of minimization LPs, the MOI primal form can be stated as:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min_x in mathbbR^n a_0^T x + b_0\n\n textst\nA_1 x ge b_1\n A_2 x le b_2\n A_3 x = b_3\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"By applying the stated transformations to conic form, taking the dual, and transforming back into linear inequality form, one obtains the following dual:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max_y_1y_2y_3 b_1^Ty_1 + b_2^Ty_2 + b_3^Ty_3 + b_0\n\n textst\nA_1^Ty_1 + A_2^Ty_2 + A_3^Ty_3 = a_0\n y_1 ge 0\n y_2 le 0\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"For maximization LPs, the MOI primal form can be stated as:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max_x in mathbbR^n a_0^T x + b_0\n\n textst\nA_1 x ge b_1\n A_2 x le b_2\n A_3 x = b_3\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"and similarly, the dual is:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min_y_1y_2y_3 -b_1^Ty_1 - b_2^Ty_2 - b_3^Ty_3 + b_0\n\n textst\nA_1^Ty_1 + A_2^Ty_2 + A_3^Ty_3 = -a_0\n y_1 ge 0\n y_2 le 0\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"warning: Warning\nFor the LP case, the signs of the feasible dual variables depend only on the sense of the corresponding primal inequality and not on the objective sense.","category":"page"},{"location":"moi/background/duality/#Duality-and-scalar-product","page":"Duality","title":"Duality and scalar product","text":"","category":"section"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"The scalar product is different from the canonical one for the sets PositiveSemidefiniteConeTriangle, LogDetConeTriangle, RootDetConeTriangle.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"If the set C_i of the section Duality is one of these three cones, then the rows of the matrix A_i corresponding to off-diagonal entries are twice the value of the coefficients field in the VectorAffineFunction for the corresponding rows. See PositiveSemidefiniteConeTriangle for details.","category":"page"},{"location":"moi/background/duality/#Dual-for-problems-with-quadratic-functions","page":"Duality","title":"Dual for problems with quadratic functions","text":"","category":"section"},{"location":"moi/background/duality/#Quadratic-Programs-(QPs)","page":"Duality","title":"Quadratic Programs (QPs)","text":"","category":"section"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"For quadratic programs with only affine conic constraints,","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign*\n min_x in mathbbR^n frac12x^TQ_0x + a_0^T x + b_0\n\n textst A_i x + b_i in mathcalC_i i = 1 ldots m\nendalign*","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"with cones mathcalC_i subseteq mathbbR^m_i for i = 1 ldots m, consider the Lagrangian function","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"L(x y) = frac12x^TQ_0x + a_0^T x + b_0 - sum_i = 1^m y_i^T (A_i x + b_i)","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Let z(y) denote sum_i = 1^m A_i^T y_i - a_0, the Lagrangian can be rewritten as","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"L(x y) = frac12x^TQ_0x - z(y)^T x + b_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"The condition nabla_x L(x y) = 0 gives","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"0 = nabla_x L(x y) = Q_0x + a_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"which gives Q_0x = z(y). This allows to obtain that","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"min_x in mathbbR^n L(x y) = -frac12x^TQ_0x + b_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"so the dual problem is","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"max_y_i in mathcalC_i^* min_x in mathbbR^n -frac12x^TQ_0x + b_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"If Q_0 is invertible, we have x = Q_0^-1z(y) hence","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"min_x in mathbbR^n L(x y) = -frac12z(y)^TQ_0^-1z(y) + b_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"so the dual problem is","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"max_y_i in mathcalC_i^* -frac12z(y)^TQ_0^-1z(y) + b_0 - sum_i = 1^m y_i^T b_i","category":"page"},{"location":"moi/background/duality/#Quadratically-Constrained-Quadratic-Programs-(QCQPs)","page":"Duality","title":"Quadratically Constrained Quadratic Programs (QCQPs)","text":"","category":"section"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Given a problem with both quadratic function and quadratic objectives:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign*\n min_x in mathbbR^n frac12x^TQ_0x + a_0^T x + b_0\n\n textst frac12x^TQ_ix + a_i^T x + b_i in mathcalC_i i = 1 ldots m\nendalign*","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"with cones mathcalC_i subseteq mathbbR for i = 1 ldots m, consider the Lagrangian function","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"L(x y) = frac12x^TQ_0x + a_0^T x + b_0 - sum_i = 1^m y_i (frac12x^TQ_ix + a_i^T x + b_i)","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"A pair of primal-dual variables (x^star y^star) is optimal if","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"x^star is a minimizer of\nmin_x in mathbbR^n L(x y^star)\nThat is,\n0 = nabla_x L(x y^star) = Q_0x + a_0 - sum_i = 1^m y_i^star (Q_ix + a_i)\nand y^star is a maximizer of\nmax_y_i in mathcalC_i^* L(x^star y)\nThat is, for all i = 1 ldots m, frac12x^TQ_ix + a_i^T x + b_i is either zero or in the normal cone of mathcalC_i^* at y^star. For instance, if mathcalC_i is z in mathbbR z le 0 , this means that if frac12x^TQ_ix + a_i^T x + b_i is nonzero at x^star then y_i^star = 0. This is the classical complementary slackness condition.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"If mathcalC_i is a vector set, the discussion remains valid with y_i(frac12x^TQ_ix + a_i^T x + b_i) replaced with the scalar product between y_i and the vector of scalar-valued quadratic functions.","category":"page"},{"location":"moi/background/duality/#Dual-for-square-semidefinite-matrices","page":"Duality","title":"Dual for square semidefinite matrices","text":"","category":"section"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"The set PositiveSemidefiniteConeTriangle is a self-dual. That is, querying ConstraintDual of a PositiveSemidefiniteConeTriangle constraint returns a vector that is itself a member of PositiveSemidefiniteConeTriangle.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"However, the dual of PositiveSemidefiniteConeSquare is not so straight forward. This section explains the duality convention we use, and how it is derived.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"info: Info\nIf you have a PositiveSemidefiniteConeSquare constraint, the result matrix A from ConstraintDual is not positive semidefinite. However, A + A^top is positive semidefinite.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Let mathcalS_+ be the cone of symmetric semidefinite matrices in the fracn(n+1)2 dimensional space of symmetric mathbbR^n times n matrices. That is, mathcalS_+ is the set PositiveSemidefiniteConeTriangle. It is well known that mathcalS_+ is a self-dual proper cone.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Let mathcalP_+ be the cone of symmetric semidefinite matrices in the n^2 dimensional space of mathbbR^n times n matrices. That is mathcalP_+ is the set PositiveSemidefiniteConeSquare.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"In addition, let mathcalD_+ be the cone of matrices A such that A+A^top in mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"mathcalP_+ is not proper because it is not solid (it is not n^2 dimensional), so it is not necessarily true that mathcalP_+^** = mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"However, this is the case, because we will show that mathcalP_+^* = mathcalD_+ and mathcalD_+^* = mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"First, let us see why mathcalP_+^* = mathcalD_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"If B is symmetric, then","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"langle AB rangle = langle A^top B^top rangle = langle A^top Brangle","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"so","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"2langle A B rangle = langle A B rangle + langle A^top B rangle = langle A + A^top B rangle","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Therefore, langle ABrangle ge 0 for all B in mathcalP_+ if and only if langle A+A^topBrangle ge 0 for all B in mathcalP_+. Since A+A^top is symmetric, and we know that mathcalS_+ is self-dual, we have shown that mathcalP_+^* is the set of matrices A such that A+A^top in mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Second, let us see why mathcalD_+^* = mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Since A in mathcalD_+ implies that A^top in mathcalD_+, B in mathcalD_+^* means that langle A+A^topBrangle ge 0 for all A in mathcalD_+, and hence B in mathcalP_+.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"To see why it should be symmetric, simply notice that if B_ij B_ji, then langle ABrangle can be made arbitrarily small by setting A_ij = A_ij + s and A_ji = A_ji - s, with s arbitrarily large, and A stays in mathcalD_+ because A+A^top does not change.","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"Typically, the primal/dual pair for semidefinite programs is presented as:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min langle C X rangle \ntextst langle A_k Xrangle = b_k forall k \n X in mathcalS_+\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"with the dual","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max sum_k b_k y_k \ntextst C - sum A_k y_k in mathcalS_+\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"If we allow A_k to be non-symmetric, we should instead use:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min langle C X rangle \ntextst langle A_k Xrangle = b_k forall k \n X in mathcalD_+\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"with the dual","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max sum b_k y_k \ntextst C - sum A_k y_k in mathcalP_+\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"This is implemented as:","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n min langle C Z rangle + langle C - C^top S rangle \ntextst langle A_k Z rangle + langle A_k - A_k^top S rangle = b_k forall k \n Z in mathcalS_+\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"with the dual","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"beginalign\n max sum b_k y_k \ntextst C+C^top - sum (A_k+A_k^top) y_k in mathcalS_+ \n C-C^top - sum(A_k-A_k^top) y_k = 0\nendalign","category":"page"},{"location":"moi/background/duality/","page":"Duality","title":"Duality","text":"and we recover Z = X + X^top.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"EditURL = \"tips_and_tricks.jl\"","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Modeling-with-cones","page":"Modeling with cones","title":"Modeling with cones","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"This tutorial was originally contributed by Arpit Bhatia.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The purpose of this tutorial is to show how you can model various common problems using conic optimization.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"tip: Tip\nA good resource for learning more about functions which can be modeled using cones is the MOSEK Modeling Cookbook.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Required-packages","page":"Modeling with cones","title":"Required packages","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"using JuMP\nimport LinearAlgebra\nimport MathOptInterface as MOI\nimport SCS\n\nimport Random # hide\nRandom.seed!(1234) # hide\nnothing # hide","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Background-theory","page":"Modeling with cones","title":"Background theory","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"A subset C of a vector space V is a cone if forall x in C and positive scalars lambda 0, the product lambda x in C.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"A cone C is a convex cone if lambda x + (1 - lambda) y in C, for any lambda in 0 1, and any x y in C.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"Conic programming problems are convex optimization problems in which a convex function is minimized over the intersection of an affine subspace and a convex cone. An example of a conic-form minimization problems, in the primal form is:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"beginaligned\n min_x in mathbbR^n a_0^T x + b_0 \n textst A_i x + b_i in mathcalC_i i = 1 ldots m\nendaligned","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The corresponding dual problem is:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"beginaligned\n max_y_1 ldots y_m -sum_i=1^m b_i^T y_i + b_0 \n textst a_0 - sum_i=1^m A_i^T y_i = 0 \n y_i in mathcalC_i^* i = 1 ldots m\nendaligned","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"where each mathcalC_i is a closed convex cone and mathcalC_i^* is its dual cone.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Second-Order-Cone","page":"Modeling with cones","title":"Second-Order Cone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The SecondOrderCone (or Lorentz Cone) of dimension n is a cone of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K_soc = (t x) in mathbbR^n t ge x_2 ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"It is most commonly used to represent the L2-norm of the vector x:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, x[1:3])\n@variable(model, t)\n@constraint(model, sum(x) == 1)\n@constraint(model, [t; x] in SecondOrderCone())\n@objective(model, Min, t)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(t), value.(x)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Rotated-Second-Order-Cone","page":"Modeling with cones","title":"Rotated Second-Order Cone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"A Second-Order Cone rotated by pi4 in the (x_1x_2) plane is called a RotatedSecondOrderCone. It is a cone of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K_rsoc = (tux) in mathbbR^n 2tu ge x_2^2 tu ge 0 ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"When u = 0.5, it represents the sum of squares of a vector x:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"data = [1.0, 2.0, 3.0, 4.0]\ntarget = [0.45, 1.04, 1.51, 1.97]\nmodel = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, θ)\n@variable(model, t)\n@expression(model, residuals, θ * data .- target)\n@constraint(model, [t; 0.5; residuals] in RotatedSecondOrderCone())\n@objective(model, Min, t)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(θ), value(t)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Exponential-Cone","page":"Modeling with cones","title":"Exponential Cone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.ExponentialCone is a set of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K_exp = (xyz) in mathbbR^3 y exp (xy) le z y 0 ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"It can be used to model problems involving log and exp.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Exponential","page":"Modeling with cones","title":"Exponential","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"To model exp(x) le z, use (x, 1, z):","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, x == 1.5)\n@variable(model, z)\n@objective(model, Min, z)\n@constraint(model, [x, 1, z] in MOI.ExponentialCone())\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(z), exp(1.5)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Logarithm","page":"Modeling with cones","title":"Logarithm","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"To model x le log(z), use (x, 1, z):","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, x)\n@variable(model, z == 1.5)\n@objective(model, Max, x)\n@constraint(model, [x, 1, z] in MOI.ExponentialCone())\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(x), log(1.5)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Log-sum-exp","page":"Modeling with cones","title":"Log-sum-exp","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"To model t ge logleft(sum e^x_iright), use:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"N = 3\nx0 = rand(N)\nmodel = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, x[i = 1:N] == x0[i])\n@variable(model, t)\n@objective(model, Min, t)\n@variable(model, u[1:N])\n@constraint(model, sum(u) <= 1)\n@constraint(model, [i = 1:N], [x[i] - t, 1, u[i]] in MOI.ExponentialCone())\noptimize!(model)\nvalue(t), log(sum(exp.(x0)))","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Entropy","page":"Modeling with cones","title":"Entropy","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The entropy maximization problem consists of maximizing the entropy function, H(x) = -xlogx subject to linear inequality constraints.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"beginaligned\n max - sum_i=1^n x_i log x_i \n textst mathbf1^top x = 1 \n Ax leq b\nendaligned","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"We can model this problem using an exponential cone by using the following transformation:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"tleq -xlogx iff tleq xlog(1x) iff (t x 1) in K_exp","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"Thus, our problem becomes,","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"beginaligned\n max 1^Tt \n textst Ax leq b \n 1^T x = 1 \n (t_i x_i 1) in K_exp forall i = 1 ldots n \nendaligned","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"m, n = 10, 15\nA, b = randn(m, n), rand(m, 1)\nmodel = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t[1:n])\n@variable(model, x[1:n])\n@objective(model, Max, sum(t))\n@constraint(model, sum(x) == 1)\n@constraint(model, A * x .<= b)\n@constraint(model, [i = 1:n], [t[i], x[i], 1] in MOI.ExponentialCone())\noptimize!(model)\n@assert is_solved_and_feasible(model)\nobjective_value(model)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.ExponentialCone has a dual, the MOI.DualExponentialCone, that offers an alternative formulation that can be more efficient for some formulations.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"There is also the MOI.RelativeEntropyCone for explicitly encoding the relative entropy function","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, x[1:n])\n@objective(model, Max, -t)\n@constraint(model, sum(x) == 1)\n@constraint(model, A * x .<= b)\n@constraint(model, [t; ones(n); x] in MOI.RelativeEntropyCone(2n + 1))\noptimize!(model)\n@assert is_solved_and_feasible(model)\nobjective_value(model)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#PowerCone","page":"Modeling with cones","title":"PowerCone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.PowerCone is a three-dimensional set parameterized by a scalar value α. It has the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K_p = (xyz) in mathbbR^3 x^alpha y^1-alpha ge z x ge 0 y ge 0 ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The power cone permits a number of reformulations. For example, when p 1, we can model t ge x^p using the power cone (t 1 x) with alpha = 1 p. Thus, to model t ge x^3 with x ge 0","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, x >= 1.5)\n@constraint(model, [t, 1, x] in MOI.PowerCone(1 / 3))\n@objective(model, Min, t)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(t), value(x)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.PowerCone has a dual, the MOI.DualPowerCone, that offers an alternative formulation that can be more efficient for some formulations.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#P-Norm","page":"Modeling with cones","title":"P-Norm","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The p-norm x_p = left(sumlimits_i x_i^pright)^frac1p can be modeled using MOI.PowerCones. See the Mosek Modeling Cookbook for the derivation.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"function p_norm(x::Vector, p)\n N = length(x)\n model = Model(SCS.Optimizer)\n set_silent(model)\n @variable(model, r[1:N])\n @variable(model, t)\n @constraint(model, [i = 1:N], [r[i], t, x[i]] in MOI.PowerCone(1 / p))\n @constraint(model, sum(r) == t)\n @objective(model, Min, t)\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value(t)\nend\n\nx = rand(5);\nLinearAlgebra.norm(x, 4), p_norm(x, 4)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Positive-Semidefinite-Cone","page":"Modeling with cones","title":"Positive Semidefinite Cone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The set of positive semidefinite matrices (PSD) of dimension n form a cone in mathbbR^n. We write this set mathematically as:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"mathcalS_+^n = X in mathcalS^n mid z^T X z geq 0 forall zin mathbbR^n ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"A PSD cone is represented in JuMP using the MOI sets PositiveSemidefiniteConeTriangle (for upper triangle of a PSD matrix) and PositiveSemidefiniteConeSquare (for a complete PSD matrix). However, it is preferable to use the PSDCone shortcut as illustrated below.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Example:-largest-eigenvalue-of-a-symmetric-matrix","page":"Modeling with cones","title":"Example: largest eigenvalue of a symmetric matrix","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"Suppose A has eigenvalues lambda_1 geq lambda_2 ldots geq lambda_n. Then the matrix t I-A has eigenvalues t-lambda_1 t-lambda_2 ldots t-lambda_n. Note that t I-A is PSD exactly when all these eigenvalues are non-negative, and this happens for values t geq lambda_1. Thus, we can model the problem of finding the largest eigenvalue of a symmetric matrix as:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"beginaligned\nlambda_1 = min t \ntext st t I-A succeq 0\nendaligned","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"A = [3 2 4; 2 0 2; 4 2 3]\nI = Matrix{Float64}(LinearAlgebra.I, 3, 3)\nmodel = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@objective(model, Min, t)\n@constraint(model, t .* I - A in PSDCone())\noptimize!(model)\n@assert is_solved_and_feasible(model)\nobjective_value(model)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#GeometricMeanCone","page":"Modeling with cones","title":"GeometricMeanCone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.GeometricMeanCone is a cone of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K_geo = (t x) in mathbbR^n x ge 0 t le sqrtn-1x_1 x_2 cdots x_n-1 ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, x[1:4])\n@variable(model, t)\n@constraint(model, sum(x) == 1)\n@constraint(model, [t; x] in MOI.GeometricMeanCone(5))\noptimize!(model)\nvalue(t), value.(x)","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#RootDetCone","page":"Modeling with cones","title":"RootDetCone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.RootDetConeSquare is a cone of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K = (t X) in mathbbR^1+d^2 t le det(X)^frac1d ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, X[1:2, 1:2])\n@objective(model, Max, t)\n@constraint(model, [t; vec(X)] in MOI.RootDetConeSquare(2))\n@constraint(model, X .== [2 1; 1 3])\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(t), sqrt(LinearAlgebra.det(value.(X)))","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"If X is symmetric, then you can use MOI.RootDetConeTriangle instead. This can be more efficient because the solver does not need to add additional constraints to ensure X is symmetric.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"When forming the function, use triangle_vec to obtain the column-wise upper triangle of the matrix as a vector in the order that JuMP requires.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, X[1:2, 1:2], Symmetric)\n@objective(model, Max, t)\n@constraint(model, [t; triangle_vec(X)] in MOI.RootDetConeTriangle(2))\n@constraint(model, X .== [2 1; 1 3])\noptimize!(model)\nvalue(t), sqrt(LinearAlgebra.det(value.(X)))","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#LogDetCone","page":"Modeling with cones","title":"LogDetCone","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"The MOI.LogDetConeSquare is a cone of the form:","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"K = (t u X) in mathbbR^2+d^2 t le u log(det(X u)) ","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, u)\n@variable(model, X[1:2, 1:2])\n@objective(model, Max, t)\n@constraint(model, [t; u; vec(X)] in MOI.LogDetConeSquare(2))\n@constraint(model, X .== [2 1; 1 3])\n@constraint(model, u == 0.5)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(t), 0.5 * log(LinearAlgebra.det(value.(X) ./ 0.5))","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"If X is symmetric, then you can use MOI.LogDetConeTriangle instead. This can be more efficient because the solver does not need to add additional constraints to ensure X is symmetric.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"When forming the function, use triangle_vec to obtain the column-wise upper triangle of the matrix as a vector in the order that JuMP requires.","category":"page"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"model = Model(SCS.Optimizer)\nset_silent(model)\n@variable(model, t)\n@variable(model, u)\n@variable(model, X[1:2, 1:2], Symmetric)\n@objective(model, Max, t)\n@constraint(model, [t; u; triangle_vec(X)] in MOI.LogDetConeTriangle(2))\n@constraint(model, X .== [2 1; 1 3])\n@constraint(model, u == 0.5)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue(t), 0.5 * log(LinearAlgebra.det(value.(X) ./ 0.5))","category":"page"},{"location":"tutorials/conic/tips_and_tricks/#Other-Cones-and-Functions","page":"Modeling with cones","title":"Other Cones and Functions","text":"","category":"section"},{"location":"tutorials/conic/tips_and_tricks/","page":"Modeling with cones","title":"Modeling with cones","text":"For other cones supported by JuMP, check out the MathOptInterface Manual.","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"EditURL = \"https://github.com/jump-dev/BARON.jl/blob/v0.8.5/README.md\"","category":"page"},{"location":"packages/BARON/#BARON.jl","page":"jump-dev/BARON.jl","title":"BARON.jl","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"(Image: Build Status) (Image: codecov)","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"BARON.jl is a wrapper for BARON by The Optimization Firm.","category":"page"},{"location":"packages/BARON/#Affiliation","page":"jump-dev/BARON.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"This wrapper is maintained by the JuMP community and is not officially supported by The Optimization Firm.","category":"page"},{"location":"packages/BARON/#Getting-help","page":"jump-dev/BARON.jl","title":"Getting help","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"If you need help, please ask a question on the JuMP community forum.","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"If you have a reproducible example of a bug, please open a GitHub issue.","category":"page"},{"location":"packages/BARON/#License","page":"jump-dev/BARON.jl","title":"License","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"BARON.jl is licensed under the MIT License.","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"The underlying solver is a closed-source commercial product for which you must obtain a license from The Optimization Firm, although a small trial version is available for free.","category":"page"},{"location":"packages/BARON/#Installation","page":"jump-dev/BARON.jl","title":"Installation","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"First, download a copy of the BARON solver and unpack the executable in a location of your choosing.","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"Once installed, set the BARON_EXEC environment variable pointing to the BARON executable (full path, including file name as it differs across platforms), and run Pkg.add(\"BARON\"). For example:","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"ENV[\"BARON_EXEC\"] = \"/path/to/baron.exe\"\nusing Pkg\nPkg.add(\"BARON\")","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"The baronlice.txt license file should be placed in the same directory as the BARON executable, or in your current working directory.","category":"page"},{"location":"packages/BARON/#Use-with-JuMP","page":"jump-dev/BARON.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"using JuMP, BARON\nmodel = Model(BARON.Optimizer)","category":"page"},{"location":"packages/BARON/#MathOptInterface-API","page":"jump-dev/BARON.jl","title":"MathOptInterface API","text":"","category":"section"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"The BARON optimizer supports the following constraints and attributes.","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"List of supported objective functions:","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}\nMOI.ObjectiveFunction{MOI.ScalarQuadraticFunction{Float64}}\nMOI.ObjectiveFunction{MOI.ScalarNonlinearFunction}","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"List of supported variable types:","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"MOI.Reals","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"List of supported constraint types:","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"MOI.ScalarAffineFunction{Float64} in MOI.EqualTo{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.GreaterThan{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.Interval{Float64}\nMOI.ScalarAffineFunction{Float64} in MOI.LessThan{Float64}\nMOI.ScalarQuadraticFunction{Float64} in MOI.EqualTo{Float64}\nMOI.ScalarQuadraticFunction{Float64} in MOI.GreaterThan{Float64}\nMOI.ScalarQuadraticFunction{Float64} in MOI.Interval{Float64}\nMOI.ScalarQuadraticFunction{Float64} in MOI.LessThan{Float64}\nMOI.ScalarNonlinearFunction in MOI.EqualTo{Float64}\nMOI.ScalarNonlinearFunction in MOI.GreaterThan{Float64}\nMOI.ScalarNonlinearFunction in MOI.Interval{Float64}\nMOI.ScalarNonlinearFunction in MOI.LessThan{Float64}\nMOI.VariableIndex in MOI.EqualTo{Float64}\nMOI.VariableIndex in MOI.GreaterThan{Float64}\nMOI.VariableIndex in MOI.Integer\nMOI.VariableIndex in MOI.Interval{Float64}\nMOI.VariableIndex in MOI.LessThan{Float64}\nMOI.VariableIndex in MOI.ZeroOne","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"List of supported model attributes:","category":"page"},{"location":"packages/BARON/","page":"jump-dev/BARON.jl","title":"jump-dev/BARON.jl","text":"MOI.NLPBlock()\nMOI.ObjectiveSense()","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"EditURL = \"getting_started_with_julia.jl\"","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Getting-started-with-Julia","page":"Getting started with Julia","title":"Getting started with Julia","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Because JuMP is embedded in Julia, knowing some basic Julia is important before you start learning JuMP.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nThis tutorial is designed to provide a minimalist crash course in the basics of Julia. You can find resources that provide a more comprehensive introduction to Julia here.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Installing-Julia","page":"Getting started with Julia","title":"Installing Julia","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"To install Julia, download the latest stable release, then follow the platform specific install instructions.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nUnless you know otherwise, you probably want the 64-bit version.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Next, you need an IDE to develop in. VS Code is a popular choice, so follow these install instructions.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Julia can also be used with Jupyter notebooks or the reactive notebooks of Pluto.jl.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#The-Julia-REPL","page":"Getting started with Julia","title":"The Julia REPL","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The main way of interacting with Julia is via its REPL (Read Evaluate Print Loop). To access the REPL, start the Julia executable to arrive at the julia> prompt, and then start coding:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"1 + 1","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"As your programs become larger, write a script as a text file, and then run that file using:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"julia> include(\"path/to/file.jl\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"warning: Warning\nBecause of Julia's startup latency, running scripts from the command line like the following is slow:$ julia path/to/file.jlUse the REPL or a notebook instead, and read The \"time-to-first-solve\" issue for more information.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Code-blocks-in-this-documentation","page":"Getting started with Julia","title":"Code blocks in this documentation","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"In this documentation you'll see a mix of code examples with and without the julia>.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The Julia prompt is mostly used to demonstrate short code snippets, and the output is exactly what you will see if run from the REPL.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Blocks without the julia> can be copy-pasted into the REPL, but they are used because they enable richer output like plots or LaTeX to be displayed in the online and PDF versions of the documentation. If you run them from the REPL you may see different output.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Where-to-get-help","page":"Getting started with Julia","title":"Where to get help","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Read the documentation\nJuMP https://jump.dev/JuMP.jl/stable/\nJulia https://docs.julialang.org/en/v1/\nAsk (or browse) the Julia community forum: https://discourse.julialang.org\nIf the question is JuMP-related, ask in the Optimization (Mathematical) section, or tag your question with \"jump\"","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"To access the built-in help at the REPL, type ? to enter help-mode, followed by the name of the function to lookup:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"help?> print\nsearch: print println printstyled sprint isprint prevind parentindices precision escape_string\n\n print([io::IO], xs...)\n\n Write to io (or to the default output stream stdout if io is not given) a canonical\n (un-decorated) text representation. The representation used by print includes minimal formatting\n and tries to avoid Julia-specific details.\n\n print falls back to calling show, so most types should just define show. Define print if your\n type has a separate \"plain\" representation. For example, show displays strings with quotes, and\n print displays strings without quotes.\n\n string returns the output of print as a string.\n\n Examples\n ≡≡≡≡≡≡≡≡≡≡\n\n julia> print(\"Hello World!\")\n Hello World!\n julia> io = IOBuffer();\n\n julia> print(io, \"Hello\", ' ', :World!)\n\n julia> String(take!(io))\n \"Hello World!\"","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Numbers-and-arithmetic","page":"Getting started with Julia","title":"Numbers and arithmetic","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Since we want to solve optimization problems, we're going to be using a lot of math. Luckily, Julia is great for math, with all the usual operators:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"1 + 1\n1 - 2\n2 * 2\n4 / 5\n3^2","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Did you notice how Julia didn't print .0 after some of the numbers? Julia is a dynamic language, which means you never have to explicitly declare the type of a variable. However, in the background, Julia is giving each variable a type. Check the type of something using the typeof function:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(1)\ntypeof(1.0)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Here 1 is an Int64, which is an integer with 64 bits of precision, and 1.0 is a Float64, which is a floating point number with 64-bits of precision.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nIf you aren't familiar with floating point numbers, make sure to read the Floating point numbers section.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"We create complex numbers using im:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"x = 2 + 1im\nreal(x)\nimag(x)\ntypeof(x)\nx * (1 - 2im)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"info: Info\nThe curly brackets surround what we call the parameters of a type. You can read Complex{Int64} as \"a complex number, where the real and imaginary parts are represented by Int64.\" If we call typeof(1.0 + 2.0im) it will be Complex{Float64}, which a complex number with the parts represented by Float64.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"There are also some cool things like an irrational representation of π.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"π","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nTo make π (and most other Greek letters), type \\pi and then press [TAB].","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(π)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"However, if we do math with irrational numbers, they get converted to Float64:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(2π / 3)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Floating-point-numbers","page":"Getting started with Julia","title":"Floating point numbers","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"warning: Warning\nIf you aren't familiar with floating point numbers, make sure to read this section carefully.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A Float64 is a floating point approximation of a real number using 64-bits of information.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Because it is an approximation, things we know hold true in mathematics don't hold true in a computer. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"0.1 * 3 == 0.3","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A more complicated example is:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"sin(2π / 3) == √3 / 2","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nGet √ by typing \\sqrt then press [TAB].","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Let's see what the differences are:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"0.1 * 3 - 0.3\nsin(2π / 3) - √3 / 2","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"They are small, but not zero.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"One way of explaining this difference is to consider how we would write 1 / 3 and 2 / 3 using only four digits after the decimal point. We would write 1 / 3 as 0.3333, and 2 / 3 as 0.6667. So, despite the fact that 2 * (1 / 3) == 2 / 3, 2 * 0.3333 == 0.6666 != 0.6667.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Let's try that again using ≈ (\\approx + [TAB]) instead of ==:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"0.1 * 3 ≈ 0.3\nsin(2π / 3) ≈ √3 / 2","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"≈ is a clever way of calling the isapprox function:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"isapprox(sin(2π / 3), √3 / 2; atol = 1e-8)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"warning: Warning\nFloating point is the reason solvers use tolerances when they solve optimization models. A common mistake you're likely to make is checking whether a binary variable is 0 using value(z) == 0. Always remember to use something like isapprox when comparing floating point numbers.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Note that isapprox will always return false if one of the number being compared is 0 and atol is zero (its default value).","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"1e-300 ≈ 0.0","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"so always set a nonzero value of atol if one of the arguments can be zero.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"isapprox(1e-9, 0.0; atol = 1e-8)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nGurobi has a good series of articles on the implications of floating point in optimization if you want to read more.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"If you aren't careful, floating point arithmetic can throw up all manner of issues. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"1 + 1e-16 == 1","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"It even turns out that floating point numbers aren't associative:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"(1 + 1e-16) - 1e-16 == 1 + (1e-16 - 1e-16)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"It's important to note that this issue isn't Julia-specific. It happens in every programming language (try it out in Python).","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Vectors,-matrices,-and-arrays","page":"Getting started with Julia","title":"Vectors, matrices, and arrays","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Similar to MATLAB, Julia has native support for vectors, matrices and tensors; all of which are represented by arrays of different dimensions. Vectors are constructed by comma-separated elements surrounded by square brackets:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"b = [5, 6]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Matrices can be constructed with spaces separating the columns, and semicolons separating the rows:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A = [1.0 2.0; 3.0 4.0]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"We can do linear algebra:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"x = A \\ b","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"info: Info\nHere is floating point at work again; x is approximately [-4, 4.5].","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A * x\nA * x ≈ b","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Note that when multiplying vectors and matrices, dimensions matter. For example, you can't multiply a vector by a vector:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"try #hide\n b * b\ncatch err #hide\n showerror(stderr, err) #hide\nend #hide","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"But multiplying transposes works:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"b' * b\nb * b'","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Other-common-types","page":"Getting started with Julia","title":"Other common types","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/#Comments","page":"Getting started with Julia","title":"Comments","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Although not technically a type, code comments begin with the # character:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"1 + 1 # This is a comment","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Multiline comments begin with #= and end with =#:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"#=\nHere is a\nmultiline comment\n=#","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Comments can even be nested inside expressions. This is sometimes helpful when documenting inputs to functions:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"isapprox(\n sin(π),\n 0.0;\n #= We need an explicit atol here because we are comparing with 0 =#\n atol = 0.001,\n)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Strings","page":"Getting started with Julia","title":"Strings","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Double quotes are used for strings:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(\"This is Julia\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Unicode is fine in strings:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(\"π is about 3.1415\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Use println to print a string:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"println(\"Hello, World!\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Use $() to interpolate values into a string:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"x = 123\nprintln(\"The value of x is: $(x)\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Use triple-quotes for multiline strings:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"s = \"\"\"\nHere is\na\nmultiline string\n\"\"\"\n\nprintln(s)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Symbols","page":"Getting started with Julia","title":"Symbols","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Julia Symbols are a data structure from the compiler that represent Julia identifiers (that is, variable names).","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"println(\"The value of x is: $(eval(:x))\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"warning: Warning\nWe used eval here to demonstrate how Julia links Symbols to variables. However, avoid calling eval in your code. It is usually a sign that your code is doing something that could be more easily achieved a different way. The Community Forum is a good place to ask for advice on alternative approaches.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"typeof(:x)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"You can think of a Symbol as a String that takes up less memory, and that can't be modified.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Convert between String and Symbol using their constructors:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"String(:abc)\nSymbol(\"abc\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nSymbols are often (ab)used to stand in for a String or an Enum, when one of the latter is likely a better choice. The JuMP Style guide recommends reserving Symbols for identifiers. See @enum vs. Symbol for more.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Tuples","page":"Getting started with Julia","title":"Tuples","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Julia makes extensive use of a simple data structure called Tuples. Tuples are immutable collections of values. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"t = (\"hello\", 1.2, :foo)\ntypeof(t)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Tuples can be accessed by index, similar to arrays:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"t[2]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"And they can be \"unpacked\" like so:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"a, b, c = t\nb","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The values can also be given names, which is a convenient way of making light-weight data structures.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"t = (word = \"hello\", num = 1.2, sym = :foo)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Values can be accessed using dot syntax:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"t.word","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Dictionaries","page":"Getting started with Julia","title":"Dictionaries","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Similar to Python, Julia has native support for dictionaries. Dictionaries provide a very generic way of mapping keys to values. For example, a map of integers to strings:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"d1 = Dict(1 => \"A\", 2 => \"B\", 4 => \"D\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"info: Info\nType-stuff again: Dict{Int64,String} is a dictionary with Int64 keys and String values.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Looking up a value uses the bracket syntax:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"d1[2]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Dictionaries support non-integer keys and can mix data types:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Dict(\"A\" => 1, \"B\" => 2.5, \"D\" => 2 - 3im)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"info: Info\nJulia types form a hierarchy. Here the value type of the dictionary is Number, which is a generalization of Int64, Float64, and Complex{Int}. Leaf nodes in this hierarchy are called \"concrete\" types, and all others are called \"Abstract.\" In general, having variables with abstract types like Number can lead to slower code, so you should try to make sure every element in a dictionary or vector is the same type. For example, in this case we could represent every element as a Complex{Float64}:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Dict(\"A\" => 1.0 + 0.0im, \"B\" => 2.5 + 0.0im, \"D\" => 2.0 - 3.0im)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Dictionaries can be nested:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"d2 = Dict(\"A\" => 1, \"B\" => 2, \"D\" => Dict(:foo => 3, :bar => 4))\nd2[\"B\"]\nd2[\"D\"][:foo]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Structs","page":"Getting started with Julia","title":"Structs","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"You can define custom datastructures with struct:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"struct MyStruct\n x::Int\n y::String\n z::Dict{Int,Int}\nend\n\na = MyStruct(1, \"a\", Dict(2 => 3))\na.x","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"By default, these are not mutable","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"try #hide\n a.x = 2\ncatch err #hide\n showerror(stderr, err) #hide\nend #hide","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"However, you can declare a mutable struct which is mutable:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"mutable struct MyStructMutable\n x::Int\n y::String\n z::Dict{Int,Int}\nend\n\na = MyStructMutable(1, \"a\", Dict(2 => 3))\na.x\na.x = 2\na","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Loops","page":"Getting started with Julia","title":"Loops","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Julia has native support for for-each style loops with the syntax for in end:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"for i in 1:5\n println(i)\nend","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"info: Info\nRanges are constructed as start:stop, or start:step:stop.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"for i in 1.2:1.1:5.6\n println(i)\nend","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"This for-each loop also works with dictionaries:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"for (key, value) in Dict(\"A\" => 1, \"B\" => 2.5, \"D\" => 2 - 3im)\n println(\"$(key): $(value)\")\nend","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Note that in contrast to vector languages like MATLAB and R, loops do not result in a significant performance degradation in Julia.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Control-flow","page":"Getting started with Julia","title":"Control flow","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Julia control flow is similar to MATLAB, using the keywords if-elseif-else-end, and the logical operators || and && for or and and respectively:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"for i in 0:5:15\n if i < 5\n println(\"$(i) is less than 5\")\n elseif i < 10\n println(\"$(i) is less than 10\")\n else\n if i == 10\n println(\"the value is 10\")\n else\n println(\"$(i) is bigger than 10\")\n end\n end\nend","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Comprehensions","page":"Getting started with Julia","title":"Comprehensions","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Similar to languages like Haskell and Python, Julia supports the use of simple loops in the construction of arrays and dictionaries, called comprehensions.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A list of increasing integers:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"[i for i in 1:5]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Matrices can be built by including multiple indices:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"[i * j for i in 1:5, j in 5:10]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Conditional statements can be used to filter out some values:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"[i for i in 1:10 if i % 2 == 1]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A similar syntax can be used for building dictionaries:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Dict(\"$(i)\" => i for i in 1:10 if i % 2 == 1)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Functions","page":"Getting started with Julia","title":"Functions","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A simple function is defined as follows:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function print_hello()\n return println(\"hello\")\nend\nprint_hello()","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Arguments can be added to a function:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function print_it(x)\n return println(x)\nend\nprint_it(\"hello\")\nprint_it(1.234)\nprint_it(:my_id)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Optional keyword arguments are also possible:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function print_it(x; prefix = \"value:\")\n return println(\"$(prefix) $(x)\")\nend\nprint_it(1.234)\nprint_it(1.234; prefix = \"val:\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The keyword return is used to specify the return values of a function:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function mult(x; y = 2.0)\n return x * y\nend\n\nmult(4.0)\nmult(4.0; y = 5.0)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Anonymous-functions","page":"Getting started with Julia","title":"Anonymous functions","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The syntax input -> output creates an anonymous function. These are most useful when passed to other functions. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"f = x -> x^2\nf(2)\nmap(x -> x^2, 1:4)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Type-parameters","page":"Getting started with Julia","title":"Type parameters","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"We can constrain the inputs to a function using type parameters, which are :: followed by the type of the input we want. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function foo(x::Int)\n return x^2\nend\n\nfunction foo(x::Float64)\n return exp(x)\nend\n\nfunction foo(x::Number)\n return x + 1\nend\n\nfoo(2)\nfoo(2.0)\nfoo(1 + 1im)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"But what happens if we call foo with something we haven't defined it for?","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"try #hide\n foo([1, 2, 3])\ncatch err #hide\n showerror(stderr, err) #hide\nend #hide","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"A MethodError means that you passed a function something that didn't match the type that it was expecting. In this case, the error message says that it doesn't know how to handle an Vector{Int64}, but it does know how to handle Float64, Int64, and Number.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nRead the \"Closest candidates\" part of the error message carefully to get a hint as to what was expected.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Broadcasting","page":"Getting started with Julia","title":"Broadcasting","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"In the example above, we didn't define what to do if f was passed a Vector. Luckily, Julia provides a convenient syntax for mapping f element-wise over arrays. Just add a . between the name of the function and the opening (. This works for any function, including functions with multiple arguments. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"foo.([1, 2, 3])","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nGet a MethodError when calling a function that takes a Vector, Matrix, or Array? Try broadcasting.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Mutable-vs-immutable-objects","page":"Getting started with Julia","title":"Mutable vs immutable objects","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Some types in Julia are mutable, which means you can change the values inside them. A good example is an array. You can modify the contents of an array without having to make a new array.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"In contrast, types like Float64 are immutable. You cannot modify the contents of a Float64.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"This is something to be aware of when passing types into functions. For example:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"function mutability_example(mutable_type::Vector{Int}, immutable_type::Int)\n mutable_type[1] += 1\n immutable_type += 1\n return\nend\n\nmutable_type = [1, 2, 3]\nimmutable_type = 1\n\nmutability_example(mutable_type, immutable_type)\n\nprintln(\"mutable_type: $(mutable_type)\")\nprintln(\"immutable_type: $(immutable_type)\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Because Vector{Int} is a mutable type, modifying the variable inside the function changed the value outside of the function. In contrast, the change to immutable_type didn't modify the value outside the function.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"You can check mutability with the isimmutable function:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"isimmutable([1, 2, 3])\nisimmutable(1)","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#The-package-manager","page":"Getting started with Julia","title":"The package manager","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/#Installing-packages","page":"Getting started with Julia","title":"Installing packages","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"No matter how wonderful Julia's base language is, at some point you will want to use an extension package. Some of these are built-in, for example random number generation is available in the Random package in the standard library. These packages are loaded with the commands using and import.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"using Random # The equivalent of Python's `from Random import *`\nimport Random # The equivalent of Python's `import Random`\n\nRandom.seed!(33)\n\n[rand() for i in 1:10]","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"The Package Manager is used to install packages that are not part of Julia's standard library.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"For example the following can be used to install JuMP,","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"using Pkg\nPkg.add(\"JuMP\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"For a complete list of registered Julia packages see the package listing at JuliaHub.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"From time to you may wish to use a Julia package that is not registered. In this case a git repository URL can be used to install the package.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"using Pkg\nPkg.add(\"https://github.com/user-name/MyPackage.jl.git\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/#Package-environments","page":"Getting started with Julia","title":"Package environments","text":"","category":"section"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"By default, Pkg.add will add packages to Julia's global environment. However, Julia also has built-in support for virtual environments.","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"Activate a virtual environment with:","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"import Pkg; Pkg.activate(\"/path/to/environment\")","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"You can see what packages are installed in the current environment with Pkg.status().","category":"page"},{"location":"tutorials/getting_started/getting_started_with_julia/","page":"Getting started with Julia","title":"Getting started with Julia","text":"tip: Tip\nWe strongly recommend you create a Pkg environment for each project that you create in Julia, and add only the packages that you need, instead of adding lots of packages to the global environment. The Pkg manager documentation has more information on this topic.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"EditURL = \"tips_and_tricks.jl\"","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#linear_tips_and_tricks","page":"Tips and tricks","title":"Tips and tricks","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This tutorial was originally contributed by Arpit Bhatia.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"tip: Tip\nA good source of tips is the Mosek Modeling Cookbook.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This tutorial collates some tips and tricks you can use when formulating mixed-integer programs. It uses the following packages:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"using JuMP","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Absolute-value","page":"Tips and tricks","title":"Absolute value","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model the absolute value function t ge x, there are a few options. In all cases, these reformulations only work if you are minimizing t \"down\" into x. They do not work if you are trying to maximize x.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Option-1","page":"Tips and tricks","title":"Option 1","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This option adds two linear inequality constraints:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x)\n@variable(model, t)\n@constraint(model, t >= x)\n@constraint(model, t >= -x)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Option-2","page":"Tips and tricks","title":"Option 2","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This option uses two non-negative variables and forms expressions for x and t:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, z[1:2] >= 0)\n@expression(model, t, z[1] + z[2])\n@expression(model, x, z[1] - z[2])","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Option-3","page":"Tips and tricks","title":"Option 3","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This option uses MOI.NormOneCone and lets JuMP choose the reformulation:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x)\n@variable(model, t)\n@constraint(model, [t; x] in MOI.NormOneCone(2))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#L1-norm","page":"Tips and tricks","title":"L1-norm","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model min x_1, that is, min sumlimits_i x_i, use the MOI.NormOneCone:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3])\n@variable(model, t)\n@constraint(model, [t; x] in MOI.NormOneCone(1 + length(x)))\n@objective(model, Min, t)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Infinity-norm","page":"Tips and tricks","title":"Infinity-norm","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model min x_infty, that is, min maxlimits_i x_i, use the MOI.NormInfinityCone:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3])\n@variable(model, t)\n@constraint(model, [t; x] in MOI.NormInfinityCone(1 + length(x)))\n@objective(model, Min, t)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Max","page":"Tips and tricks","title":"Max","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model t ge maxx y, do:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, t)\n@variable(model, x)\n@variable(model, y)\n@constraint(model, t >= x)\n@constraint(model, t >= y)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This reformulation does not work for t ge minx y.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Min","page":"Tips and tricks","title":"Min","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model t le minx y, do:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, t)\n@variable(model, x)\n@variable(model, y)\n@constraint(model, t <= x)\n@constraint(model, t <= y)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"This reformulation does not work for t le maxx y.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Modulo","page":"Tips and tricks","title":"Modulo","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"To model y = x text mod n, where n is a constant modulus, we use the relationship x = n cdot z + y, where z in mathbbZ_+ is the number of times that n can be divided by x and y is the remainder.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"n = 4\nmodel = Model();\n@variable(model, x >= 0, Int)\n@variable(model, 0 <= y <= n - 1, Int)\n@variable(model, z >= 0, Int)\n@constraint(model, x == n * z + y)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"The modulo reformulation is often useful for subdividing a time increment into units of time like hours and days:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, t >= 0, Int)\n@variable(model, 0 <= hours <= 23, Int)\n@variable(model, days >= 0, Int)\n@constraint(model, t == 24 * days + hours)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Boolean-operators","page":"Tips and tricks","title":"Boolean operators","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Binary variables can be used to construct logical operators. Here are some example.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Or","page":"Tips and tricks","title":"Or","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"x_3 = x_1 lor x_2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3], Bin)\n@constraints(model, begin\n x[1] <= x[3]\n x[2] <= x[3]\n x[3] <= x[1] + x[2]\nend)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#And","page":"Tips and tricks","title":"And","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"x_3 = x_1 land x_2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3], Bin)\n@constraints(model, begin\n x[3] <= x[1]\n x[3] <= x[2]\n x[3] >= x[1] + x[2] - 1\nend)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Not","page":"Tips and tricks","title":"Not","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"x_1 neg x_2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2], Bin)\n@constraint(model, x[1] == 1 - x[2])","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Implies","page":"Tips and tricks","title":"Implies","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"x_1 implies x_2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2], Bin)\n@constraint(model, x[1] <= x[2])","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Disjunctions","page":"Tips and tricks","title":"Disjunctions","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/#Problem","page":"Tips and tricks","title":"Problem","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Suppose that we have two constraints a^top x leq b and c^top x leq d, and we want at least one to hold.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Trick-1","page":"Tips and tricks","title":"Trick 1","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Use an indicator constraint.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example Either x_1 leq 1 or x_2 leq 2.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2])\n@variable(model, y[1:2], Bin)\n@constraint(model, y[1] --> {x[1] <= 1})\n@constraint(model, y[2] --> {x[2] <= 2})\n@constraint(model, sum(y) == 1) # Exactly one branch must be true","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Trick-2","page":"Tips and tricks","title":"Trick 2","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Introduce a \"big-M\" multiplied by a binary variable to relax one of the constraints.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example Either x_1 leq 1 or x_2 leq 2.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2] <= 10)\n@variable(model, y[1:2], Bin)\nM = 100\n@constraint(model, x[1] <= 1 + M * y[1])\n@constraint(model, x[2] <= 2 + M * y[2])\n@constraint(model, sum(y) == 1)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"warning: Warning\nIf M is too small, the solution may be suboptimal. If M is too big, the solver may encounter numerical issues. Try to use domain knowledge to choose an M that is just right. Gurobi has a good documentation section on this topic.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#tips_indicator_constraint","page":"Tips and tricks","title":"Indicator constraints","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/#Problem-2","page":"Tips and tricks","title":"Problem","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Suppose we want to model that a certain linear inequality must be satisfied when some other event occurs, that is, for a binary variable z, we want to model the implication:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"z = 1 implies a^top x leq b","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Trick-1-2","page":"Tips and tricks","title":"Trick 1","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Some solvers have native support for indicator constraints. In addition, if the variables involved have finite domains, then JuMP can automatically reformulate an indicator into a mixed-integer program.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example x_1 + x_2 leq 1 if z = 1.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, 0 <= x[1:2] <= 10)\n@variable(model, z, Bin)\n@constraint(model, z --> {sum(x) <= 1})","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example x_1 + x_2 leq 1 if z = 0.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, 0 <= x[1:2] <= 10)\n@variable(model, z, Bin)\n@constraint(model, !z --> {sum(x) <= 1})","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Trick-2-2","page":"Tips and tricks","title":"Trick 2","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"If the solver doesn't support indicator constraints and the variables do not have a finite domain, you can use the big-M trick.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example x_1 + x_2 leq 1 if z = 1.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2] <= 10)\n@variable(model, z, Bin)\nM = 100\n@constraint(model, sum(x) <= 1 + M * (1 - z))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example x_1 + x_2 leq 1 if z = 0.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:2] <= 10)\n@variable(model, z, Bin)\nM = 100\n@constraint(model, sum(x) <= 1 + M * z)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Semi-continuous-variables","page":"Tips and tricks","title":"Semi-continuous variables","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"A semi-continuous variable is a continuous variable between bounds lu that also can assume the value zero, that is: x in 0 cup lu","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Example x in 0cup 1 2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x in Semicontinuous(1.0, 2.0))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"You can also represent a semi-continuous variable using the reformulation:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x)\n@variable(model, z, Bin)\n@constraint(model, x <= 2 * z)\n@constraint(model, x >= 1 * z)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"When z = 0 the two constraints are equivalent to 0 <= x <= 0. When z = 1, the two constraints are equivalent to 1 <= x <= 2.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Semi-integer-variables","page":"Tips and tricks","title":"Semi-integer variables","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"A semi-integer variable is a variable which assumes integer values between bounds lu and can also assume the value zero: x in 0 cup l u cap mathbbZ","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x in Semiinteger(5.0, 10.0))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"You can also represent a semi-integer variable using the reformulation:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x, Int)\n@variable(model, z, Bin)\n@constraint(model, x <= 10 * z)\n@constraint(model, x >= 5 * z)","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"When z = 0 the two constraints are equivalent to 0 <= x <= 0. When z = 1, the two constraints are equivalent to 5 <= x <= 10.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Special-Ordered-Sets-of-Type-1","page":"Tips and tricks","title":"Special Ordered Sets of Type 1","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"A Special Ordered Set of Type 1 is a set of variables, at most one of which can take a non-zero value, all others being at 0.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"They most frequently apply where a set of variables are actually binary variables. In other words, we have to choose at most one from a set of possibilities.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3], Bin)\n@constraint(model, x in SOS1())","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"You can optionally pass SOS1 a weight vector like","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"@constraint(model, x in SOS1([0.2, 0.5, 0.3]))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"If the decision variables are related and have a physical ordering, then the weight vector, although not used directly in the constraint, can help the solver make a better decision in the solution process.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#tip_sos2","page":"Tips and tricks","title":"Special Ordered Sets of Type 2","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"A Special Ordered Set of type 2 is a set of non-negative variables, of which at most two can be non-zero, and if two are non-zero these must be consecutive in their ordering.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"model = Model();\n@variable(model, x[1:3])\n@constraint(model, x in SOS2([3.0, 1.0, 2.0]))","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"The ordering provided by the weight vector is more important in this case as the variables need to be consecutive according to the ordering. For example, in the above constraint, the possible pairs are:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Consecutive\n(x[1] and x[3]) as they correspond to 3 and 2 resp. and thus can be non-zero\n(x[2] and x[3]) as they correspond to 1 and 2 resp. and thus can be non-zero\nNon-consecutive\n(x[1] and x[2]) as they correspond to 3 and 1 resp. and thus cannot be non-zero","category":"page"},{"location":"tutorials/linear/tips_and_tricks/#Piecewise-linear-approximations","page":"Tips and tricks","title":"Piecewise linear approximations","text":"","category":"section"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"SOSII constraints are most often used to form piecewise linear approximations of a function.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"Given a set of points for x:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"x̂ = -1:0.5:2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"and a set of corresponding points for y:","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"ŷ = x̂ .^ 2","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"the piecewise linear approximation is constructed by representing x and y as convex combinations of x̂ and ŷ.","category":"page"},{"location":"tutorials/linear/tips_and_tricks/","page":"Tips and tricks","title":"Tips and tricks","text":"N = length(x̂)\nmodel = Model();\n@variable(model, -1 <= x <= 2)\n@variable(model, y)\n@variable(model, 0 <= λ[1:N] <= 1)\n@objective(model, Max, y)\n@constraints(model, begin\n x == sum(x̂[i] * λ[i] for i in 1:N)\n y == sum(ŷ[i] * λ[i] for i in 1:N)\n sum(λ) == 1\n λ in SOS2()\nend)","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"EditURL = \"web_app.jl\"","category":"page"},{"location":"tutorials/applications/web_app/#Serving-web-apps","page":"Serving web apps","title":"Serving web apps","text":"","category":"section"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"This tutorial demonstrates how to setup and serve JuMP models via a REST API.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"In the example app we are building, we solve a trivial mixed-integer program, which is parameterized by the lower bound of a variable. To call the service, users send an HTTP POST request with JSON contents indicating the lower bound. The returned value is the solution of the mixed-integer program as JSON.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"First, we need JuMP and a solver:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"using JuMP\nimport HiGHS","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"We also need HTTP.jl to act as our REST server, and JSON.jl to marshal data.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"import HTTP\nimport JSON","category":"page"},{"location":"tutorials/applications/web_app/#The-server-side","page":"Serving web apps","title":"The server side","text":"","category":"section"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"The core components of our REST server are endpoints. These are functions which accept a Dict{String,Any} of input parameters, and return a Dict{String,Any} as output. The types are Dict{String,Any} because we're going to read these to and from JSON.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"Here's a very simple endpoint: it accepts params as input, formulates and solves a trivial mixed-integer program, and then returns a dictionary with the result.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"function endpoint_solve(params::Dict{String,Any})\n if !haskey(params, \"lower_bound\")\n return Dict{String,Any}(\n \"status\" => \"failure\",\n \"reason\" => \"missing lower_bound param\",\n )\n elseif !(params[\"lower_bound\"] isa Real)\n return Dict{String,Any}(\n \"status\" => \"failure\",\n \"reason\" => \"lower_bound is not a number\",\n )\n end\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n @variable(model, x >= params[\"lower_bound\"], Int)\n optimize!(model)\n ret = Dict{String,Any}(\n \"status\" => \"okay\",\n \"terminaton_status\" => termination_status(model),\n \"primal_status\" => primal_status(model),\n )\n # Only include the `x` key if it has a value.\n if primal_status(model) == FEASIBLE_POINT\n ret[\"x\"] = value(x)\n end\n return ret\nend","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"When we call this, we get:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"endpoint_solve(Dict{String,Any}(\"lower_bound\" => 1.2))","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"endpoint_solve(Dict{String,Any}())","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"For a second function, we need a function that accepts an HTTP.Request object and returns an HTTP.Response object.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"function serve_solve(request::HTTP.Request)\n data = JSON.parse(String(request.body))\n solution = endpoint_solve(data)\n return HTTP.Response(200, JSON.json(solution))\nend","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"Finally, we need an HTTP server. There are a variety of ways you can do this in HTTP.jl. We use an explicit Sockets.listen so we have manual control of when we shutdown the server.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"function setup_server(host, port)\n server = HTTP.Sockets.listen(host, port)\n HTTP.serve!(host, port; server = server) do request\n try\n # Extend the server by adding other endpoints here.\n if request.target == \"/api/solve\"\n return serve_solve(request)\n else\n return HTTP.Response(404, \"target $(request.target) not found\")\n end\n catch err\n # Log details about the exception server-side\n @info \"Unhandled exception: $err\"\n # Return a response to the client\n return HTTP.Response(500, \"internal error\")\n end\n end\n return server\nend","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"warning: Warning\nHTTP.jl does not serve requests on a separate thread. Therefore, a long-running job will block the main thread, preventing concurrent users from submitting requests. To work-around this, read HTTP.jl issue 798 or watch Building Microservices and Applications in Julia from JuliaCon 2020.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"server = setup_server(HTTP.ip\"127.0.0.1\", 8080)","category":"page"},{"location":"tutorials/applications/web_app/#The-client-side","page":"Serving web apps","title":"The client side","text":"","category":"section"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"Now that we have a server, we can send it requests via this function:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"function send_request(data::Dict; endpoint::String = \"solve\")\n ret = HTTP.request(\n \"POST\",\n # This should match the URL and endpoint we defined for our server.\n \"http://127.0.0.1:8080/api/$endpoint\",\n [\"Content-Type\" => \"application/json\"],\n JSON.json(data),\n )\n if ret.status != 200\n # This could happen if there are time-outs, network errors, etc.\n return Dict(\n \"status\" => \"failure\",\n \"code\" => ret.status,\n \"body\" => String(ret.body),\n )\n end\n return JSON.parse(String(ret.body))\nend","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"Let's see what happens:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"send_request(Dict(\"lower_bound\" => 0))","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"send_request(Dict(\"lower_bound\" => 1.2))","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"If we don't send a lower_bound, we get:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"send_request(Dict(\"invalid_param\" => 1.2))","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"If we don't send a lower_bound that is a number, we get:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"send_request(Dict(\"lower_bound\" => \"1.2\"))","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"Finally, we can shutdown our HTTP server:","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"close(server)","category":"page"},{"location":"tutorials/applications/web_app/#Next-steps","page":"Serving web apps","title":"Next steps","text":"","category":"section"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"For more complicated examples relating to HTTP servers, consult the HTTP.jl documentation.","category":"page"},{"location":"tutorials/applications/web_app/","page":"Serving web apps","title":"Serving web apps","text":"To see how you can integrate this with a larger JuMP model, read Design patterns for larger models.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"EditURL = \"https://github.com/jump-dev/SDPT3.jl/blob/b565aac2a58818090d521f2340e71f597688e4fb/README.md\"","category":"page"},{"location":"packages/SDPT3/#SDPT3.jl","page":"jump-dev/SDPT3.jl","title":"SDPT3.jl","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"SDPT3.jl is wrapper for the SDPT3 solver.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"The wrapper has two components:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"an exported sdpt3 function that is a thin wrapper on top of the sdpt3 MATLAB function\nan interface to MathOptInterface","category":"page"},{"location":"packages/SDPT3/#Affiliation","page":"jump-dev/SDPT3.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"This wrapper is maintained by the JuMP community and is not an official wrapper of SDPT3.","category":"page"},{"location":"packages/SDPT3/#License","page":"jump-dev/SDPT3.jl","title":"License","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"SDPT3.jl is licensed under the MIT License.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"The underlying solver, SDPT3 is licensed under the GPL v2 License.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"In addition, SDPT3 requires an installation of MATLAB, which is a closed-source commercial product for which you must obtain a license.","category":"page"},{"location":"packages/SDPT3/#Use-with-JuMP","page":"jump-dev/SDPT3.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"To use SDPT3 with JuMP, do:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"using JuMP, SDPT3\nmodel = Model(SDPT3.Optimizer)\nset_attribute(model, \"printlevel\", 0)","category":"page"},{"location":"packages/SDPT3/#Installation","page":"jump-dev/SDPT3.jl","title":"Installation","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"First, make sure that you satisfy the requirements of the MATLAB.jl Julia package, and that the SeDuMi software is installed in your MATLAB™ installation.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"Then, install SDPT3.jl using Pkg.add:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"import Pkg\nPkg.add(\"SDPT3\")","category":"page"},{"location":"packages/SDPT3/#SDPT3-not-in-PATH","page":"jump-dev/SDPT3.jl","title":"SDPT3 not in PATH","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"If you get the error:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"Error using save\nVariable 'jx_sdpt3_arg_out_1' not found.\n\nERROR: LoadError: MATLAB.MEngineError(\"failed to get variable jx_sdpt3_arg_out_1 from MATLAB session\")\nStacktrace:\n[...]","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"The error means that we could not find the sdpt3 function with one output argument using the MATLAB C API. This most likely means that you did not add SDPT3 to the MATLAB's path (that is, the toolbox/local/pathdef.m file).","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"If modifying toolbox/local/pathdef.m does not work, the following should work, where /path/to/sdpt3/ is the directory where the sdpt3 folder is located:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"julia> using MATLAB\n\njulia> cd(\"/path/to/sdpt3/\") do\n MATLAB.mat\"install_sdpt3\"\n end\n\njulia> MATLAB.mat\"savepath\"","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"An alternative fix is suggested in the following issue.","category":"page"},{"location":"packages/SDPT3/#Error-in-validate","page":"jump-dev/SDPT3.jl","title":"Error in validate","text":"","category":"section"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"If you get the error:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"Brace indexing is not supported for variables of this type.\n\nError in validate\n\nError in sdpt3 (line 171)\n [blk,At,C,b,blkdim,numblk,parbarrier] = validate(blk,At,C,b,par,parbarrier);\n\nError using save\nVariable 'jx_sdpt3_arg_out_1' not found.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"It might mean that you have added SDPNAL in addition to SDPT3 in the MATLAB's path (that is, the toolbox/local/pathdef.m file). Because SDPNAL also defines a validate function, this can make sdpt3 call SDPNAL's validate function instead of SDPT3's validate function, which causes the issue.","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"One way to fix this from the Julia REPL is to reset the search path to the factory-installed state using restoredefaultpath:","category":"page"},{"location":"packages/SDPT3/","page":"jump-dev/SDPT3.jl","title":"jump-dev/SDPT3.jl","text":"julia> using MATLAB\n\njulia> MATLAB.restoredefaultpath()\n\njulia> MATLAB.mat\"savepath\"","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"EditURL = \"dualization.jl\"","category":"page"},{"location":"tutorials/conic/dualization/#Dualization","page":"Dualization","title":"Dualization","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The purpose of this tutorial is to explain how to use Dualization.jl to improve the performance of some conic optimization models.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"There are two important takeaways:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"JuMP reformulates problems to meet the input requirements of the solver, potentially increasing the problem size by adding slack variables and constraints.\nSolving the dual of a conic model can be more efficient than solving the primal.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Dualization.jl is a package which fixes these problems, allowing you to solve the dual instead of the primal with a one-line change to your code.","category":"page"},{"location":"tutorials/conic/dualization/#Required-packages","page":"Dualization","title":"Required packages","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"using JuMP\nimport Dualization\nimport SCS","category":"page"},{"location":"tutorials/conic/dualization/#Background","page":"Dualization","title":"Background","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Conic optimization solvers typically accept one of two input formulations.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The first is the standard conic form:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"beginalign\n min_x in mathbbR^n c^top x \n textst A x = b \n x in mathcalK\nendalign","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"in which we have a set of linear equality constraints Ax = b and the variables belong to a cone mathcalK.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The second is the geometric conic form:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"beginalign\n min_x in mathbbR^n c^top x \n textst A x - b in mathcalK\nendalign","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"in which an affine function Ax - b belongs to a cone mathcalK and the variables are free.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"It is trivial to convert between these two representations, for example, to go from the geometric conic form to the standard conic form we introduce slack variables y:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"beginalign\n min_x in mathbbR^n c^top x \n textst beginbmatrixA -Iendbmatrix beginbmatrixxyendbmatrix = b \n beginbmatrixxyendbmatrix in mathbbR^n times mathcalK\nendalign","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"and to go from the standard conic form to the geometric conic form, we can rewrite the equality constraint as a function belonging to the {0} cone:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"beginalign\n min_x in mathbbR^n c^top x \n textst beginbmatrixAIendbmatrix x - beginbmatrixb0endbmatrix in 0 times mathcalK\nendalign","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"From a theoretical perspective, the two formulations are equivalent, and if you implement a model in the standard conic form and pass it to a geometric conic form solver (or vice versa), then JuMP will automatically reformulate the problem into the correct formulation.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"From a practical perspective though, the reformulations are problematic because the additional slack variables and constraints can make the problem much larger and therefore harder to solve.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"You should also note many problems contain a mix of conic constraints and variables, and so they do not neatly fall into one of the two formulations. In these cases, JuMP reformulates only the variables and constraints as necessary to convert the problem into the desired form.","category":"page"},{"location":"tutorials/conic/dualization/#Primal-and-dual-formulations","page":"Dualization","title":"Primal and dual formulations","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Duality plays a large role in conic optimization. For a detailed description of conic duality, see Duality.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"A useful observation is that if the primal problem is in standard conic form, then the dual problem is in geometric conic form, and vice versa. Moreover, the primal and dual may have a different number of variables and constraints, although which one is smaller depends on the problem. Therefore, instead of reformulating the problem from one form to the other, it can be more efficient to solve the dual instead of the primal.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"To demonstrate, we use a variation of the Maximum cut via SDP example.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The primal formulation (in standard conic form) is:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"model_primal = Model()\n@variable(model_primal, X[1:2, 1:2], PSD)\n@objective(model_primal, Max, sum([1 -1; -1 1] .* X))\n@constraint(model_primal, primal_c[i = 1:2], 1 - X[i, i] == 0)\nprint(model_primal)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"This problem has three scalar decision variables (the matrix X is symmetric), two scalar equality constraints, and a constraint that X is positive semidefinite.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The dual of model_primal is:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"model_dual = Model()\n@variable(model_dual, y[1:2])\n@objective(model_dual, Min, sum(y))\n@constraint(model_dual, dual_c, [y[1]-1 1; 1 y[2]-1] in PSDCone())\nprint(model_dual)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"This problem has two scalar decision variables, and a 2x2 positive semidefinite matrix constraint.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"tip: Tip\nIf you haven't seen conic duality before, try deriving the dual problem based on the description in Duality. You'll need to know that the dual cone of PSDCone is the PSDCone.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"When we solve model_primal with SCS.Optimizer, SCS reports three variables (variables n: 3), five rows in the constraint matrix (constraints m: 5), and five non-zeros in the matrix (nnz(A): 5):","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model_primal, SCS.Optimizer)\noptimize!(model_primal)\n@assert is_solved_and_feasible(model_primal; dual = true)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"(There are five rows in the constraint matrix because SCS expects problems in geometric conic form, and so JuMP has reformulated the X, PSD variable constraint into the affine constraint X .+ 0 in PSDCone().)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The solution we obtain is:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"value.(X)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"dual.(primal_c)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"objective_value(model_primal)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"When we solve model_dual with SCS.Optimizer, SCS reports two variables (variables n: 2), three rows in the constraint matrix (constraints m: 3), and two non-zeros in the matrix (nnz(A): 2):","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model_dual, SCS.Optimizer)\noptimize!(model_dual)\n@assert is_solved_and_feasible(model_dual; dual = true)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"and the solution we obtain is:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"dual.(dual_c)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"value.(y)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"objective_value(model_dual)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"This particular problem is small enough that it isn't meaningful to compare the solve times, but in general, we should expect model_dual to solve faster than model_primal because it contains fewer variables and constraints. The difference is particularly noticeable on large-scale optimization problems.","category":"page"},{"location":"tutorials/conic/dualization/#dual_optimizer","page":"Dualization","title":"dual_optimizer","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Manually deriving the conic dual is difficult and error-prone. The package Dualization.jl provides the Dualization.dual_optimizer meta-solver, which wraps any MathOptInterface-compatible solver in an interface that automatically formulates and solves the dual of an input problem.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"To demonstrate, we use Dualization.dual_optimizer to solve model_primal:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model_primal, Dualization.dual_optimizer(SCS.Optimizer))\noptimize!(model_primal)\n@assert is_solved_and_feasible(model_primal; dual = true)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The performance is the same as if we solved model_dual, and the correct solution is returned to X:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"value.(X)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"dual.(primal_c)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Moreover, if we use dual_optimizer on model_dual, then we get the same performance as if we had solved model_primal:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model_dual, Dualization.dual_optimizer(SCS.Optimizer))\noptimize!(model_dual)\n@assert is_solved_and_feasible(model_dual; dual = true)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"dual.(dual_c)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"value.(y)","category":"page"},{"location":"tutorials/conic/dualization/#A-mixed-example","page":"Dualization","title":"A mixed example","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"The Maximum cut via SDP example is nicely defined because the primal is in standard conic form and the dual is in geometric conic form. However, many practical models contain a mix of the two formulations. One example is The minimum distortion problem:","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"D = [0 1 1 1; 1 0 2 2; 1 2 0 2; 1 2 2 0]\nmodel = Model()\n@variable(model, c²)\n@variable(model, Q[1:4, 1:4], PSD)\n@objective(model, Min, c²)\nfor i in 1:4, j in (i+1):4\n @constraint(model, D[i, j]^2 <= Q[i, i] + Q[j, j] - 2 * Q[i, j])\n @constraint(model, Q[i, i] + Q[j, j] - 2 * Q[i, j] <= c² * D[i, j]^2)\nend\n@constraint(model, Q[1, 1] == 0)\n@constraint(model, c² >= 1)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"In this formulation, the Q variable is of the form xinmathcalK, but there is also a free variable, c², a linear equality constraint, Q[1, 1] == 0, and some linear inequality constraints. Rather than attempting to derive the formulation that JuMP would pass to SCS and its dual, the simplest solution is to try solving the problem with and without dual_optimizer to see which formulation is most efficient.","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model, SCS.Optimizer)\noptimize!(model)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"set_optimizer(model, Dualization.dual_optimizer(SCS.Optimizer))\noptimize!(model)","category":"page"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"For this problem, SCS reports that the primal has variables n: 11, constraints m: 24 and that the dual has variables n: 14, constraints m: 24. Therefore, we should probably use the primal formulation because it has fewer variables and the same number of constraints.","category":"page"},{"location":"tutorials/conic/dualization/#When-to-use-dual_optimizer","page":"Dualization","title":"When to use dual_optimizer","text":"","category":"section"},{"location":"tutorials/conic/dualization/","page":"Dualization","title":"Dualization","text":"Because it can make the problem larger or smaller, depending on the problem and the choice of solver, there is no definitive rule on when you should use dual_optimizer. However, you should try dual_optimizer if your conic optimization problem takes a long time to solve, or if you need to repeatedly solve similarly structured problems with different data. In some cases solving the dual instead of the primal can make a large difference.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"EditURL = \"ellipse_approx.jl\"","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Example:-ellipsoid-approximation","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This tutorial considers the problem of computing extremal ellipsoids: finding ellipsoids that best approximate a given set. As an extension, we show how to use JuMP to inspect the bridges that were used, and how to explore alternative formulations.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"The model comes from Section 4.9 of (Ben-Tal and Nemirovski, 2001).","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"For a related example, see also the Example: minimal ellipses tutorial.","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Required-packages","page":"Example: ellipsoid approximation","title":"Required packages","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This tutorial uses the following packages:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"using JuMP\nimport LinearAlgebra\nimport Plots\nimport Random\nimport SCS\nimport Test","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Problem-formulation","page":"Example: ellipsoid approximation","title":"Problem formulation","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Suppose that we are given a set mathcalS consisting of m points in n-dimensional space:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"mathcalS = x_1 ldots x_m subset mathbbR^n","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Our goal is to determine an optimal vector c in mathbbR^n and an optimal n times n real symmetric matrix D such that the ellipse:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"E(D c) = x (x - c)^top D ( x - c) leq 1 ","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"contains mathcalS and has the smallest possible volume.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"The optimal D and c are given by the optimization problem:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"beginaligned\nmax quad t \ntextst quad Z succeq 0 \n beginbmatrix s z^top z Z endbmatrix succeq 0 \n x_i^top Z x_i - 2x_i^top z + s leq 1 quad i=1 ldots m \n t le sqrtndet(Z)\nendaligned","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"where D = Z_* and c = Z_*^-1 z_*.","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Data","page":"Example: ellipsoid approximation","title":"Data","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"We first need to generate some points to work with.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"function generate_point_cloud(\n m; # number of 2-dimensional points\n a = 10, # scaling in x direction\n b = 2, # scaling in y direction\n rho = π / 6, # rotation of points around origin\n random_seed = 1,\n)\n rng = Random.MersenneTwister(random_seed)\n P = randn(rng, Float64, m, 2)\n Phi = [a*cos(rho) a*sin(rho); -b*sin(rho) b*cos(rho)]\n S = P * Phi\n return S\nend","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"For the sake of this example, let's take m = 600:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"S = generate_point_cloud(600);\nnothing #hide","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"We will visualise the points (and ellipse) using the Plots package:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"r = 1.1 * maximum(abs.(S))\nplot = Plots.scatter(\n S[:, 1],\n S[:, 2];\n xlim = (-r, r),\n ylim = (-r, r),\n label = nothing,\n c = :green,\n shape = :x,\n size = (600, 600),\n)","category":"page"},{"location":"tutorials/conic/ellipse_approx/#JuMP-formulation","page":"Example: ellipsoid approximation","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Now let's build and the JuMP model. We'll compute D and c after the solve.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"model = Model(SCS.Optimizer)\n# We need to use a tighter tolerance for this example, otherwise the bounding\n# ellipse won't actually be bounding...\nset_attribute(model, \"eps_rel\", 1e-7)\nset_silent(model)\nm, n = size(S)\n@variable(model, z[1:n])\n@variable(model, Z[1:n, 1:n], PSD)\n@variable(model, s)\n@variable(model, t)\n@constraint(model, [s z'; z Z] >= 0, PSDCone())\n@constraint(\n model,\n [i in 1:m],\n S[i, :]' * Z * S[i, :] - 2 * S[i, :]' * z + s <= 1,\n)\n@constraint(model, [t; vec(Z)] in MOI.RootDetConeSquare(n))\n@objective(model, Max, t)\noptimize!(model)\nTest.@test is_solved_and_feasible(model)\nsolution_summary(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Results","page":"Example: ellipsoid approximation","title":"Results","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"After solving the model to optimality we can recover the solution in terms of D and c:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"D = value.(Z)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"c = D \\ value.(z)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"We can check that each point lies inside the ellipsoid, by checking if the largest normalized radius is less than 1:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"largest_radius = maximum(map(x -> (x - c)' * D * (x - c), eachrow(S)))","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Finally, overlaying the solution in the plot we see the minimal volume approximating ellipsoid:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"P = sqrt(D)\nq = -P * c\ndata = [tuple(P \\ [cos(θ) - q[1], sin(θ) - q[2]]...) for θ in 0:0.05:(2pi+0.05)]\nPlots.plot!(plot, data; c = :crimson, label = nothing)","category":"page"},{"location":"tutorials/conic/ellipse_approx/#Alternative-formulations","page":"Example: ellipsoid approximation","title":"Alternative formulations","text":"","category":"section"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"The formulation of model uses MOI.RootDetConeSquare. However, because SCS does not natively support this cone, JuMP automatically reformulates the problem into an equivalent problem that SCS does support. You can see the reformulation that JuMP chose using print_active_bridges:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"print_active_bridges(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"There's a lot going on here, but the first bullet is:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"* Unsupported objective: MOI.VariableIndex\n| bridged by:\n| MOIB.Objective.FunctionizeBridge{Float64}\n| introduces:\n| * Supported objective: MOI.ScalarAffineFunction{Float64}","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This says that SCS does not support a MOI.VariableIndex objective function, and that JuMP used a MOI.Bridges.Objective.FunctionizeBridge to convert it into a MOI.ScalarAffineFunction{Float64} objective function.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"We can leave JuMP to do the reformulation, or we can rewrite our model to have an objective function that SCS natively supports:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"@objective(model, Max, 1.0 * t + 0.0);\nnothing #hide","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Re-printing the active bridges:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"print_active_bridges(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"we get * Supported objective: MOI.ScalarAffineFunction{Float64}.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"We can manually implement some other reformulations to change our model to something that SCS more closely supports by:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Replacing the MOI.VectorOfVariables in MOI.PositiveSemidefiniteConeTriangle constraint @variable(model, Z[1:n, 1:n], PSD) with the MOI.VectorAffineFunction in MOI.PositiveSemidefiniteConeTriangle @constraint(model, Z >= 0, PSDCone()).\nReplacing the MOI.VectorOfVariables in MOI.PositiveSemidefiniteConeSquare constraint [s z'; z Z] >= 0, PSDCone() with the MOI.VectorAffineFunction in MOI.PositiveSemidefiniteConeTriangle @constraint(model, LinearAlgebra.Symmetric([s z'; z Z]) >= 0, PSDCone()).\nReplacing the MOI.ScalarAffineFunction in MOI.GreaterThan constraints with the vectorized equivalent of MOI.VectorAffineFunction in MOI.Nonnegatives\nReplacing the MOI.VectorOfVariables in MOI.RootDetConeSquare constraint with MOI.VectorAffineFunction in MOI.RootDetConeTriangle.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Note that we still need to bridge MOI.PositiveSemidefiniteConeTriangle constraints because SCS uses an internal SCS.ScaledPSDCone set instead.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"model = Model(SCS.Optimizer)\nset_attribute(model, \"eps_rel\", 1e-6)\nset_silent(model)\n@variable(model, z[1:n])\n@variable(model, s)\n@variable(model, t)\n# The former @variable(model, Z[1:n, 1:n], PSD)\n@variable(model, Z[1:n, 1:n], Symmetric)\n@constraint(model, Z >= 0, PSDCone())\n# The former [s z'; z Z] >= 0, PSDCone()\n@constraint(model, LinearAlgebra.Symmetric([s z'; z Z]) >= 0, PSDCone())\n# The former constraint S[i, :]' * Z * S[i, :] - 2 * S[i, :]' * z + s <= 1\nf = [1 - S[i, :]' * Z * S[i, :] + 2 * S[i, :]' * z - s for i in 1:m]\n@constraint(model, f in MOI.Nonnegatives(m))\n# The former constraint [t; vec(Z)] in MOI.RootDetConeSquare(n)\n@constraint(model, 1 * [t; triangle_vec(Z)] .+ 0 in MOI.RootDetConeTriangle(n))\n# The former @objective(model, Max, t)\n@objective(model, Max, 1 * t + 0)\noptimize!(model)\nTest.@test is_solved_and_feasible(model)\nsolve_time_1 = solve_time(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This formulation gives the much smaller graph:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"print_active_bridges(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"The last bullet shows how JuMP reformulated the MOI.RootDetConeTriangle constraint by adding a mix of MOI.PositiveSemidefiniteConeTriangle and MOI.GeometricMeanCone constraints.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Because SCS doesn't natively support the MOI.GeometricMeanCone, these constraints were further bridged using a MOI.Bridges.Constraint.GeoMeanToPowerBridge to a series of MOI.PowerCone constraints.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"However, there are many other ways that a MOI.GeometricMeanCone can be reformulated into something that SCS supports. Let's see what happens if we use remove_bridge to remove the MOI.Bridges.Constraint.GeoMeanToPowerBridge:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"remove_bridge(model, MOI.Bridges.Constraint.GeoMeanToPowerBridge)\noptimize!(model)\nTest.@test is_solved_and_feasible(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This time, the solve took:","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"solve_time_2 = solve_time(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"where previously it took","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"solve_time_1","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Why was the solve time different?","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"print_active_bridges(model)","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"This time, JuMP used a MOI.Bridges.Constraint.GeoMeanBridge to reformulate the constraint into a set of MOI.RotatedSecondOrderCone constraints, which were further reformulated into a set of supported MOI.SecondOrderCone constraints.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"Since the two models are equivalent, we can conclude that for this particular model, the MOI.SecondOrderCone formulation is more efficient.","category":"page"},{"location":"tutorials/conic/ellipse_approx/","page":"Example: ellipsoid approximation","title":"Example: ellipsoid approximation","text":"In general though, the performance of a particular reformulation is problem- and solver-specific. Therefore, JuMP chooses to minimize the number of bridges in the default reformulation, leaving you to explore alternative formulations using the tools and techniques shown in this tutorial.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"DocTestSetup = quote\n using JuMP\nend","category":"page"},{"location":"manual/containers/#Containers","page":"Containers","title":"Containers","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"JuMP provides specialized containers similar to AxisArrays that enable multi-dimensional arrays with non-integer indices.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"These containers are created automatically by JuMP's macros. Each macro has the same basic syntax:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"@macroname(model, name[key1=index1, index2; optional_condition], other stuff)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"The containers are generated by the name[key1=index1, index2; optional_condition] syntax. Everything else is specific to the particular macro.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Containers can be named, for example, name[key=index], or unnamed, for example, [key=index]. We call unnamed containers anonymous.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"We call the bits inside the square brackets and before the ; the index sets. The index sets can be named, for example, [i = 1:4], or they can be unnamed, for example, [1:4].","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"We call the bit inside the square brackets and after the ; the condition. Conditions are optional.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"In addition to the standard JuMP macros like @variable and @constraint, which construct containers of variables and constraints respectively, you can use Containers.@container to construct containers with arbitrary elements.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"We will use this macro to explain the three types of containers that are natively supported by JuMP: Array, Containers.DenseAxisArray, and Containers.SparseAxisArray.","category":"page"},{"location":"manual/containers/#Array","page":"Containers","title":"Array","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"An Array is created when the index sets are rectangular and the index sets are of the form 1:n.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container(x[i = 1:2, j = 1:3], (i, j))\n2×3 Matrix{Tuple{Int64, Int64}}:\n (1, 1) (1, 2) (1, 3)\n (2, 1) (2, 2) (2, 3)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"The result is a normal Julia Array, so you can do all the usual things.","category":"page"},{"location":"manual/containers/#Slicing","page":"Containers","title":"Slicing","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Arrays can be sliced","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x[:, 1]\n2-element Vector{Tuple{Int64, Int64}}:\n (1, 1)\n (2, 1)\n\njulia> x[2, :]\n3-element Vector{Tuple{Int64, Int64}}:\n (2, 1)\n (2, 2)\n (2, 3)","category":"page"},{"location":"manual/containers/#Looping","page":"Containers","title":"Looping","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use eachindex to loop over the elements:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> for key in eachindex(x)\n println(x[key])\n end\n(1, 1)\n(2, 1)\n(1, 2)\n(2, 2)\n(1, 3)\n(2, 3)","category":"page"},{"location":"manual/containers/#Get-the-index-sets","page":"Containers","title":"Get the index sets","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use axes to obtain the index sets:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> axes(x)\n(Base.OneTo(2), Base.OneTo(3))","category":"page"},{"location":"manual/containers/#Broadcasting","page":"Containers","title":"Broadcasting","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Broadcasting over an Array returns an Array","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> swap(x::Tuple) = (last(x), first(x))\nswap (generic function with 1 method)\n\njulia> swap.(x)\n2×3 Matrix{Tuple{Int64, Int64}}:\n (1, 1) (2, 1) (3, 1)\n (1, 2) (2, 2) (3, 2)","category":"page"},{"location":"manual/containers/#Tables","page":"Containers","title":"Tables","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use Containers.rowtable to convert the Array into a Tables.jl compatible Vector{<:NamedTuple}:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> table = Containers.rowtable(x; header = [:I, :J, :value])\n6-element Vector{@NamedTuple{I::Int64, J::Int64, value::Tuple{Int64, Int64}}}:\n (I = 1, J = 1, value = (1, 1))\n (I = 2, J = 1, value = (2, 1))\n (I = 1, J = 2, value = (1, 2))\n (I = 2, J = 2, value = (2, 2))\n (I = 1, J = 3, value = (1, 3))\n (I = 2, J = 3, value = (2, 3))","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Because it supports the Tables.jl interface, you can pass it to any function which accepts a table as input:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> import DataFrames;\n\njulia> DataFrames.DataFrame(table)\n6×3 DataFrame\n Row │ I J value\n │ Int64 Int64 Tuple…\n─────┼──────────────────────\n 1 │ 1 1 (1, 1)\n 2 │ 2 1 (2, 1)\n 3 │ 1 2 (1, 2)\n 4 │ 2 2 (2, 2)\n 5 │ 1 3 (1, 3)\n 6 │ 2 3 (2, 3)","category":"page"},{"location":"manual/containers/#DenseAxisArray","page":"Containers","title":"DenseAxisArray","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"A Containers.DenseAxisArray is created when the index sets are rectangular, but not of the form 1:n. The index sets can be of any type.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x = Containers.@container([i = 1:2, j = [:A, :B]], (i, j))\n2-dimensional DenseAxisArray{Tuple{Int64, Symbol},2,...} with index sets:\n Dimension 1, Base.OneTo(2)\n Dimension 2, [:A, :B]\nAnd data, a 2×2 Matrix{Tuple{Int64, Symbol}}:\n (1, :A) (1, :B)\n (2, :A) (2, :B)","category":"page"},{"location":"manual/containers/#Slicing-2","page":"Containers","title":"Slicing","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"DenseAxisArrays can be sliced","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x[:, :A]\n1-dimensional DenseAxisArray{Tuple{Int64, Symbol},1,...} with index sets:\n Dimension 1, Base.OneTo(2)\nAnd data, a 2-element Vector{Tuple{Int64, Symbol}}:\n (1, :A)\n (2, :A)\n\njulia> x[1, :]\n1-dimensional DenseAxisArray{Tuple{Int64, Symbol},1,...} with index sets:\n Dimension 1, [:A, :B]\nAnd data, a 2-element Vector{Tuple{Int64, Symbol}}:\n (1, :A)\n (1, :B)","category":"page"},{"location":"manual/containers/#Looping-2","page":"Containers","title":"Looping","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use eachindex to loop over the elements:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> for key in eachindex(x)\n println(x[key])\n end\n(1, :A)\n(2, :A)\n(1, :B)\n(2, :B)","category":"page"},{"location":"manual/containers/#Get-the-index-sets-2","page":"Containers","title":"Get the index sets","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use axes to obtain the index sets:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> axes(x)\n(Base.OneTo(2), [:A, :B])","category":"page"},{"location":"manual/containers/#Broadcasting-2","page":"Containers","title":"Broadcasting","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Broadcasting over a DenseAxisArray returns a DenseAxisArray","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> swap(x::Tuple) = (last(x), first(x))\nswap (generic function with 1 method)\n\njulia> swap.(x)\n2-dimensional DenseAxisArray{Tuple{Symbol, Int64},2,...} with index sets:\n Dimension 1, Base.OneTo(2)\n Dimension 2, [:A, :B]\nAnd data, a 2×2 Matrix{Tuple{Symbol, Int64}}:\n (:A, 1) (:B, 1)\n (:A, 2) (:B, 2)","category":"page"},{"location":"manual/containers/#Access-internal-data","page":"Containers","title":"Access internal data","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use Array(x) to copy the internal data array into a new Array:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Array(x)\n2×2 Matrix{Tuple{Int64, Symbol}}:\n (1, :A) (1, :B)\n (2, :A) (2, :B)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"To access the internal data without a copy, use x.data.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x.data\n2×2 Matrix{Tuple{Int64, Symbol}}:\n (1, :A) (1, :B)\n (2, :A) (2, :B)","category":"page"},{"location":"manual/containers/#Tables-2","page":"Containers","title":"Tables","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use Containers.rowtable to convert the DenseAxisArray into a Tables.jl compatible Vector{<:NamedTuple}:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> table = Containers.rowtable(x; header = [:I, :J, :value])\n4-element Vector{@NamedTuple{I::Int64, J::Symbol, value::Tuple{Int64, Symbol}}}:\n (I = 1, J = :A, value = (1, :A))\n (I = 2, J = :A, value = (2, :A))\n (I = 1, J = :B, value = (1, :B))\n (I = 2, J = :B, value = (2, :B))","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Because it supports the Tables.jl interface, you can pass it to any function which accepts a table as input:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> import DataFrames;\n\njulia> DataFrames.DataFrame(table)\n4×3 DataFrame\n Row │ I J value\n │ Int64 Symbol Tuple…\n─────┼────────────────────────\n 1 │ 1 A (1, :A)\n 2 │ 2 A (2, :A)\n 3 │ 1 B (1, :B)\n 4 │ 2 B (2, :B)","category":"page"},{"location":"manual/containers/#Keyword-indexing","page":"Containers","title":"Keyword indexing","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"If all axes are named, you can use keyword indexing:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x[i = 2, j = :A]\n(2, :A)\n\njulia> x[i = :, j = :B]\n1-dimensional DenseAxisArray{Tuple{Int64, Symbol},1,...} with index sets:\n Dimension 1, Base.OneTo(2)\nAnd data, a 2-element Vector{Tuple{Int64, Symbol}}:\n (1, :B)\n (2, :B)","category":"page"},{"location":"manual/containers/#SparseAxisArray","page":"Containers","title":"SparseAxisArray","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"A Containers.SparseAxisArray is created when the index sets are non-rectangular. This occurs in two circumstances:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"An index depends on a prior index:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container([i = 1:2, j = i:2], (i, j))\nJuMP.Containers.SparseAxisArray{Tuple{Int64, Int64}, 2, Tuple{Int64, Int64}} with 3 entries:\n [1, 1] = (1, 1)\n [1, 2] = (1, 2)\n [2, 2] = (2, 2)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"The [indices; condition] syntax is used:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x = Containers.@container([i = 1:3, j = [:A, :B]; i > 1], (i, j))\nJuMP.Containers.SparseAxisArray{Tuple{Int64, Symbol}, 2, Tuple{Int64, Symbol}} with 4 entries:\n [2, A] = (2, :A)\n [2, B] = (2, :B)\n [3, A] = (3, :A)\n [3, B] = (3, :B)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Here we have the index sets i = 1:3, j = [:A, :B], followed by ;, and then a condition, which evaluates to true or false: i > 1.","category":"page"},{"location":"manual/containers/#Slicing-3","page":"Containers","title":"Slicing","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Slicing is supported:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> y = x[:, :B]\nJuMP.Containers.SparseAxisArray{Tuple{Int64, Symbol}, 1, Tuple{Int64}} with 2 entries:\n [2] = (2, :B)\n [3] = (3, :B)","category":"page"},{"location":"manual/containers/#Looping-3","page":"Containers","title":"Looping","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use eachindex to loop over the elements:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> for key in eachindex(x)\n println(x[key])\n end\n(2, :A)\n(2, :B)\n(3, :A)\n(3, :B)\n\njulia> for key in eachindex(y)\n println(y[key])\n end\n(2, :B)\n(3, :B)","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"warning: Warning\nIf you use a macro to construct a SparseAxisArray, then the iteration order is row-major, that is, indices are varied from right to left. As an example, when iterating over x above, the j index is iterated, keeping i constant. This order is in contrast to Base.Arrays, which iterate in column-major order, that is, by varying indices from left to right.","category":"page"},{"location":"manual/containers/#Broadcasting-3","page":"Containers","title":"Broadcasting","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Broadcasting over a SparseAxisArray returns a SparseAxisArray","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> swap(x::Tuple) = (last(x), first(x))\nswap (generic function with 1 method)\n\njulia> swap.(y)\nJuMP.Containers.SparseAxisArray{Tuple{Symbol, Int64}, 1, Tuple{Int64}} with 2 entries:\n [2] = (:B, 2)\n [3] = (:B, 3)","category":"page"},{"location":"manual/containers/#Tables-3","page":"Containers","title":"Tables","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Use Containers.rowtable to convert the SparseAxisArray into a Tables.jl compatible Vector{<:NamedTuple}:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> table = Containers.rowtable(x; header = [:I, :J, :value])\n4-element Vector{@NamedTuple{I::Int64, J::Symbol, value::Tuple{Int64, Symbol}}}:\n (I = 2, J = :A, value = (2, :A))\n (I = 2, J = :B, value = (2, :B))\n (I = 3, J = :A, value = (3, :A))\n (I = 3, J = :B, value = (3, :B))","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Because it supports the Tables.jl interface, you can pass it to any function which accepts a table as input:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> import DataFrames;\n\njulia> DataFrames.DataFrame(table)\n4×3 DataFrame\n Row │ I J value\n │ Int64 Symbol Tuple…\n─────┼────────────────────────\n 1 │ 2 A (2, :A)\n 2 │ 2 B (2, :B)\n 3 │ 3 A (3, :A)\n 4 │ 3 B (3, :B)","category":"page"},{"location":"manual/containers/#Keyword-indexing-2","page":"Containers","title":"Keyword indexing","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"If all axes are named, you can use keyword indexing:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> x[i = 2, j = :A]\n(2, :A)\n\njulia> x[i = :, j = :B]\nJuMP.Containers.SparseAxisArray{Tuple{Int64, Symbol}, 1, Tuple{Int64}} with 2 entries:\n [2] = (2, :B)\n [3] = (3, :B)","category":"page"},{"location":"manual/containers/#Forcing-the-container-type","page":"Containers","title":"Forcing the container type","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Pass container = T to use T as the container. For example:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container([i = 1:2, j = 1:2], i + j, container = Array)\n2×2 Matrix{Int64}:\n 2 3\n 3 4\n\njulia> Containers.@container([i = 1:2, j = 1:2], i + j, container = Dict)\nDict{Tuple{Int64, Int64}, Int64} with 4 entries:\n (1, 2) => 3\n (1, 1) => 2\n (2, 2) => 4\n (2, 1) => 3","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"You can also pass DenseAxisArray or SparseAxisArray.","category":"page"},{"location":"manual/containers/#How-different-container-types-are-chosen","page":"Containers","title":"How different container types are chosen","text":"","category":"section"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"If the compiler can prove at compile time that the index sets are rectangular, and indexed by a compact set of integers that start at 1, Containers.@container will return an array. This is the case if your index sets are visible to the macro as 1:n:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container([i=1:3, j=1:5], i + j)\n3×5 Matrix{Int64}:\n 2 3 4 5 6\n 3 4 5 6 7\n 4 5 6 7 8","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"or an instance of Base.OneTo:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> set = Base.OneTo(3)\nBase.OneTo(3)\n\njulia> Containers.@container([i=set, j=1:5], i + j)\n3×5 Matrix{Int64}:\n 2 3 4 5 6\n 3 4 5 6 7\n 4 5 6 7 8","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"If the compiler can prove that the index set is rectangular, but not necessarily of the form 1:n at compile time, then a Containers.DenseAxisArray will be constructed instead:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> set = 1:3\n1:3\n\njulia> Containers.@container([i=set, j=1:5], i + j)\n2-dimensional DenseAxisArray{Int64,2,...} with index sets:\n Dimension 1, 1:3\n Dimension 2, Base.OneTo(5)\nAnd data, a 3×5 Matrix{Int64}:\n 2 3 4 5 6\n 3 4 5 6 7\n 4 5 6 7 8","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"info: Info\nWhat happened here? Although we know that set contains 1:3, at compile time the typeof(set) is a UnitRange{Int}. Therefore, Julia can't prove that the range starts at 1 (it only finds this out at runtime), and it defaults to a DenseAxisArray. The case where we explicitly wrote i = 1:3 worked because the macro can \"see\" the 1 at compile time.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"However, if you know that the indices do form an Array, you can force the container type with container = Array:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> set = 1:3\n1:3\n\njulia> Containers.@container([i=set, j=1:5], i + j, container = Array)\n3×5 Matrix{Int64}:\n 2 3 4 5 6\n 3 4 5 6 7\n 4 5 6 7 8","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Here's another example with something similar:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> a = 1\n1\n\njulia> Containers.@container([i=a:3, j=1:5], i + j)\n2-dimensional DenseAxisArray{Int64,2,...} with index sets:\n Dimension 1, 1:3\n Dimension 2, Base.OneTo(5)\nAnd data, a 3×5 Matrix{Int64}:\n 2 3 4 5 6\n 3 4 5 6 7\n 4 5 6 7 8\n\njulia> Containers.@container([i=1:a, j=1:5], i + j)\n1×5 Matrix{Int64}:\n 2 3 4 5 6","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"Finally, if the compiler cannot prove that the index set is rectangular, a Containers.SparseAxisArray will be created.","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"This occurs when some indices depend on a previous one:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container([i=1:3, j=1:i], i + j)\nJuMP.Containers.SparseAxisArray{Int64, 2, Tuple{Int64, Int64}} with 6 entries:\n [1, 1] = 2\n [2, 1] = 3\n [2, 2] = 4\n [3, 1] = 4\n [3, 2] = 5\n [3, 3] = 6","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"or if there is a condition on the index sets:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> Containers.@container([i = 1:5; isodd(i)], i^2)\nJuMP.Containers.SparseAxisArray{Int64, 1, Tuple{Int64}} with 3 entries:\n [1] = 1\n [3] = 9\n [5] = 25","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"The condition can depend on multiple indices, the only requirement is that it is an expression that returns true or false:","category":"page"},{"location":"manual/containers/","page":"Containers","title":"Containers","text":"julia> condition(i, j) = isodd(i) && iseven(j)\ncondition (generic function with 1 method)\n\njulia> Containers.@container([i = 1:2, j = 1:4; condition(i, j)], i + j)\nJuMP.Containers.SparseAxisArray{Int64, 2, Tuple{Int64, Int64}} with 2 entries:\n [1, 2] = 3\n [1, 4] = 5","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/manual/solutions.md\"","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/manual/solutions/#manual_solutions","page":"Solutions","title":"Solutions","text":"","category":"section"},{"location":"moi/manual/solutions/#Solving-and-retrieving-the-results","page":"Solutions","title":"Solving and retrieving the results","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Once an optimizer is loaded with the objective function and all of the constraints, we can ask the solver to solve the model by calling optimize!.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"MOI.optimize!(optimizer)","category":"page"},{"location":"moi/manual/solutions/#Why-did-the-solver-stop?","page":"Solutions","title":"Why did the solver stop?","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"The optimization procedure may stop for a number of reasons. The TerminationStatus attribute of the optimizer returns a TerminationStatusCode object which explains why the solver stopped.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"The termination statuses distinguish between proofs of optimality, infeasibility, local convergence, limits, and termination because of something unexpected like invalid problem data or failure to converge.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"A typical usage of the TerminationStatus attribute is as follows:","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"status = MOI.get(optimizer, TerminationStatus())\nif status == MOI.OPTIMAL\n # Ok, we solved the problem!\nelse\n # Handle other cases.\nend","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"After checking the TerminationStatus, check ResultCount. This attribute returns the number of results that the solver has available to return. A result is defined as a primal-dual pair, but either the primal or the dual may be missing from the result. While the OPTIMAL termination status normally implies that at least one result is available, other statuses do not. For example, in the case of infeasibility, a solver may return no result or a proof of infeasibility. The ResultCount attribute distinguishes between these two cases.","category":"page"},{"location":"moi/manual/solutions/#Primal-solutions","page":"Solutions","title":"Primal solutions","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Use the PrimalStatus optimizer attribute to return a ResultStatusCode describing the status of the primal solution.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Common returns are described below in the Common status situations section.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Query the primal solution using the VariablePrimal and ConstraintPrimal attributes.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Query the objective function value using the ObjectiveValue attribute.","category":"page"},{"location":"moi/manual/solutions/#Dual-solutions","page":"Solutions","title":"Dual solutions","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"warning: Warning\nSee Duality for a discussion of the MOI conventions for primal-dual pairs and certificates.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Use the DualStatus optimizer attribute to return a ResultStatusCode describing the status of the dual solution.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Query the dual solution using the ConstraintDual attribute.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Query the dual objective function value using the DualObjectiveValue attribute.","category":"page"},{"location":"moi/manual/solutions/#Common-status-situations","page":"Solutions","title":"Common status situations","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"The sections below describe how to interpret typical or interesting status cases for three common classes of solvers. The example cases are illustrative, not comprehensive. Solver wrappers may provide additional information on how the solver's statuses map to MOI statuses.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"info: Info\n* in the tables indicate that multiple different values are possible.","category":"page"},{"location":"moi/manual/solutions/#Primal-dual-convex-solver","page":"Solutions","title":"Primal-dual convex solver","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Linear programming and conic optimization solvers fall into this category.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"What happened? TerminationStatus ResultCount PrimalStatus DualStatus\nProved optimality OPTIMAL 1 FEASIBLE_POINT FEASIBLE_POINT\nProved infeasible INFEASIBLE 1 NO_SOLUTION INFEASIBILITY_CERTIFICATE\nOptimal within relaxed tolerances ALMOST_OPTIMAL 1 FEASIBLE_POINT FEASIBLE_POINT\nOptimal within relaxed tolerances ALMOST_OPTIMAL 1 ALMOST_FEASIBLE_POINT ALMOST_FEASIBLE_POINT\nDetected an unbounded ray of the primal DUAL_INFEASIBLE 1 INFEASIBILITY_CERTIFICATE NO_SOLUTION\nStall SLOW_PROGRESS 1 * *","category":"page"},{"location":"moi/manual/solutions/#Global-branch-and-bound-solvers","page":"Solutions","title":"Global branch-and-bound solvers","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Mixed-integer programming solvers fall into this category.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"What happened? TerminationStatus ResultCount PrimalStatus DualStatus\nProved optimality OPTIMAL 1 FEASIBLE_POINT NO_SOLUTION\nPresolve detected infeasibility or unboundedness INFEASIBLE_OR_UNBOUNDED 0 NO_SOLUTION NO_SOLUTION\nProved infeasibility INFEASIBLE 0 NO_SOLUTION NO_SOLUTION\nTimed out (no solution) TIME_LIMIT 0 NO_SOLUTION NO_SOLUTION\nTimed out (with a solution) TIME_LIMIT 1 FEASIBLE_POINT NO_SOLUTION\nCPXMIP_OPTIMAL_INFEAS ALMOST_OPTIMAL 1 INFEASIBLE_POINT NO_SOLUTION","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"info: Info\nCPXMIP_OPTIMAL_INFEAS is a CPLEX status that indicates that a preprocessed problem was solved to optimality, but the solver was unable to recover a feasible solution to the original problem. Handling this status was one of the motivating drivers behind the design of MOI.","category":"page"},{"location":"moi/manual/solutions/#Local-search-solvers","page":"Solutions","title":"Local search solvers","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Nonlinear programming solvers fall into this category. It also includes non-global tree search solvers like Juniper.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"What happened? TerminationStatus ResultCount PrimalStatus DualStatus\nConverged to a stationary point LOCALLY_SOLVED 1 FEASIBLE_POINT FEASIBLE_POINT\nCompleted a non-global tree search (with a solution) LOCALLY_SOLVED 1 FEASIBLE_POINT FEASIBLE_POINT\nConverged to an infeasible point LOCALLY_INFEASIBLE 1 INFEASIBLE_POINT *\nCompleted a non-global tree search (no solution found) LOCALLY_INFEASIBLE 0 NO_SOLUTION NO_SOLUTION\nIteration limit ITERATION_LIMIT 1 * *\nDiverging iterates NORM_LIMIT or OBJECTIVE_LIMIT 1 * *","category":"page"},{"location":"moi/manual/solutions/#Querying-solution-attributes","page":"Solutions","title":"Querying solution attributes","text":"","category":"section"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"Some solvers will not implement every solution attribute. Therefore, a call like MOI.get(model, MOI.SolveTimeSec()) may throw an UnsupportedAttribute error.","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"If you need to write code that is agnostic to the solver (for example, you are writing a library that an end-user passes their choice of solver to), you can work-around this problem using a try-catch:","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"function get_solve_time(model)\n try\n return MOI.get(model, MOI.SolveTimeSec())\n catch err\n if err isa MOI.UnsupportedAttribute\n return NaN # Solver doesn't support. Return a placeholder value.\n end\n rethrow(err) # Something else went wrong. Rethrow the error\n end\nend","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"If, after careful profiling, you find that the try-catch is taking a significant portion of your runtime, you can improve performance by caching the result of the try-catch:","category":"page"},{"location":"moi/manual/solutions/","page":"Solutions","title":"Solutions","text":"mutable struct CachedSolveTime{M}\n model::M\n supports_solve_time::Bool\n CachedSolveTime(model::M) where {M} = new(model, true)\nend\n\nfunction get_solve_time(model::CachedSolveTime)\n if !model.supports_solve_time\n return NaN\n end\n try\n return MOI.get(model, MOI.SolveTimeSec())\n catch err\n if err isa MOI.UnsupportedAttribute\n model.supports_solve_time = false\n return NaN\n end\n rethrow(err) # Something else went wrong. Rethrow the error\n end\nend","category":"page"},{"location":"tutorials/getting_started/introduction/#Introduction","page":"Introduction","title":"Introduction","text":"","category":"section"},{"location":"tutorials/getting_started/introduction/","page":"Introduction","title":"Introduction","text":"The purpose of these \"Getting started\" tutorials is to teach new users the basics of Julia and JuMP.","category":"page"},{"location":"tutorials/getting_started/introduction/#How-these-tutorials-are-structured","page":"Introduction","title":"How these tutorials are structured","text":"","category":"section"},{"location":"tutorials/getting_started/introduction/","page":"Introduction","title":"Introduction","text":"Having a high-level overview of how this part of the documentation is structured will help you know where to look for certain things.","category":"page"},{"location":"tutorials/getting_started/introduction/","page":"Introduction","title":"Introduction","text":"The \"Getting started with\" tutorials are basic introductions to different aspects of JuMP and Julia. If you are new to JuMP and Julia, start by reading them in the following order:\nGetting started with Julia\nGetting started with JuMP\nGetting started with sets and indexing\nGetting started with data and plotting\nJulia has a reputation for being \"fast.\" Unfortunately, it is also easy to write slow Julia code. Performance tips contains a number of important tips on how to improve the performance of models you write in JuMP.\nDesign patterns for larger models is a more advanced tutorial that is aimed at users writing large JuMP models. It's in the \"Getting started\" section to give you an early preview of how JuMP makes it easy to structure larger models. If you are new to JuMP you may want to skip or briefly skim this tutorial, and come back to it once you have written a few JuMP models.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"EditURL = \"two_stage_stochastic.jl\"","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Two-stage-stochastic-programs","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The purpose of this tutorial is to demonstrate how to model and solve a two-stage stochastic program.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"info: Info\nThe JuMP extension InfiniteOpt.jl can also be used to model and solve two-stage stochastic programs. The JuMP extension SDDP.jl can be used to model and solve multi-stage stochastic programs.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"This tutorial uses the following packages","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"using JuMP\nimport Distributions\nimport HiGHS\nimport Plots\nimport StatsPlots\nimport Statistics","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Background","page":"Two-stage stochastic programs","title":"Background","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"During the week, you are a busy practitioner of Operations Research. To escape the drudgery of mathematics, you decide to open a side business selling creamy mushroom pies with puff pastry. After a few weeks, it quickly becomes apparent that operating a food business is not so easy.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The pies must be prepared in the morning, before you open for the day and can gauge the level of demand. If you bake too many, the unsold pies at the end of the day must be discarded and you have wasted time and money on their production. But if you bake too few, then there may be un-served customers and you could have made more money by baking more pies.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"After a few weeks of poor decision making, you decide to put your knowledge of Operations Research to good use, starting with some data collection.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Each pie costs you $2 to make, and you sell them at $5 each. Disposal of an unsold pie costs $0.10. Based on three weeks of data collected, in which you made 200 pies each week, you sold 150, 190, and 200 pies. Thus, as a guess, you assume a triangular distribution of demand with a minimum of 150, a median of 200, and a maximum of 250.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"We can model this problem by a two-stage stochastic program. In the first stage, we decide a quantity of pies to make x. We make this decision before we observe the demand d_omega. In the second stage, we sell y_omega pies, and incur any costs for unsold pies.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"We can formulate this problem as follows:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"beginaligned\nmaxlimits_xy_omega -2x + mathbbE_omega5y_omega - 01(x - y_omega) \n y_omega le x quad forall omega in Omega \n 0 le y_omega le d_omega quad forall omega in Omega \n x ge 0\nendaligned","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Sample-Average-approximation","page":"Two-stage stochastic programs","title":"Sample Average approximation","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"If the distribution of demand is continuous, then our problem has an infinite number of variables and constraints. To form a computationally tractable problem, we instead use a finite set of samples drawn from the distribution. This is called sample average approximation (SAA).","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"D = Distributions.TriangularDist(150.0, 250.0, 200.0)\nN = 100\nd = sort!(rand(D, N));\nΩ = 1:N\nP = fill(1 / N, N);\nStatsPlots.histogram(d; bins = 20, label = \"\", xlabel = \"Demand\")","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#JuMP-model","page":"Two-stage stochastic programs","title":"JuMP model","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The implementation of our two-stage stochastic program in JuMP is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"model = Model(HiGHS.Optimizer)\nset_silent(model)\n@variable(model, x >= 0)\n@variable(model, 0 <= y[ω in Ω] <= d[ω])\n@constraint(model, [ω in Ω], y[ω] <= x)\n@expression(model, z[ω in Ω], 5y[ω] - 0.1 * (x - y[ω]))\n@objective(model, Max, -2x + sum(P[ω] * z[ω] for ω in Ω))\noptimize!(model)\n@assert is_solved_and_feasible(model)\nsolution_summary(model)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The optimal number of pies to make is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"value(x)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The distribution of total profit is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"total_profit = [-2 * value(x) + value(z[ω]) for ω in Ω]","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Let's plot it:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"\"\"\"\n bin_distribution(x::Vector{Float64}, N::Int)\n\nA helper function that discretizes `x` into bins of width `N`.\n\"\"\"\nbin_distribution(x, N) = N * (floor(minimum(x) / N):ceil(maximum(x) / N))\n\nplot = StatsPlots.histogram(\n total_profit;\n bins = bin_distribution(total_profit, 25),\n label = \"\",\n xlabel = \"Profit [\\$]\",\n ylabel = \"Number of outcomes\",\n)\nμ = Statistics.mean(total_profit)\nPlots.vline!(\n plot,\n [μ];\n label = \"Expected profit (\\$$(round(Int, μ)))\",\n linewidth = 3,\n)\nplot","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Risk-measures","page":"Two-stage stochastic programs","title":"Risk measures","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"A risk measure is a function which maps a random variable to a real number. Common risk measures include the mean (expectation), median, mode, and maximum. We need a risk measure to convert the distribution of second stage costs into a single number that can be optimized.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Our model currently uses the expectation risk measure, but others are possible too. One popular risk measure is the conditional value at risk (CVaR).","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"CVaR has a parameter gamma, and it computes the expectation of the worst gamma fraction of outcomes.","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"If we are maximizing, so that small outcomes are bad, the definition of CVaR is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"CVaR_gammaZ = maxlimits_xi xi - frac1gammamathbbE_omegaleft(xi - Z)_+right","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"which can be formulated as the linear program:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"beginaligned\nCVaR_gammaZ = maxlimits_xi z_omega xi - frac1gammasum P_omega z_omega\n z_omega ge xi - Z_omega quad forall omega \n z_omega ge 0 quad forall omega\nendaligned","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"function CVaR(Z::Vector{Float64}, P::Vector{Float64}; γ::Float64)\n @assert 0 < γ <= 1\n N = length(Z)\n model = Model(HiGHS.Optimizer)\n set_silent(model)\n @variable(model, ξ)\n @variable(model, z[1:N] >= 0)\n @constraint(model, [i in 1:N], z[i] >= ξ - Z[i])\n @objective(model, Max, ξ - 1 / γ * sum(P[i] * z[i] for i in 1:N))\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return objective_value(model)\nend","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"When γ is 1.0, we compute the mean of the profit:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"cvar_10 = CVaR(total_profit, P; γ = 1.0)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Statistics.mean(total_profit)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"As γ approaches 0.0, we compute the worst-case (minimum) profit:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"cvar_00 = CVaR(total_profit, P; γ = 0.0001)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"minimum(total_profit)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"By varying γ between 0 and 1 we can compute some trade-off of these two extremes:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"cvar_05 = CVaR(total_profit, P; γ = 0.5)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Let's plot these outcomes on our distribution:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"plot = StatsPlots.histogram(\n total_profit;\n bins = bin_distribution(total_profit, 25),\n label = \"\",\n xlabel = \"Profit [\\$]\",\n ylabel = \"Number of outcomes\",\n)\nPlots.vline!(\n plot,\n [cvar_10 cvar_05 cvar_00];\n label = [\"γ = 1.0\" \"γ = 0.5\" \"γ = 0.0\"],\n linewidth = 3,\n)\nplot","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Risk-averse-sample-average-approximation","page":"Two-stage stochastic programs","title":"Risk averse sample average approximation","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Because CVaR can be formulated as a linear program, we can form a risk averse sample average approximation model by combining the two formulations:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"γ = 0.4\nmodel = Model(HiGHS.Optimizer)\nset_silent(model)\n@variable(model, x >= 0)\n@variable(model, 0 <= y[ω in Ω] <= d[ω])\n@constraint(model, [ω in Ω], y[ω] <= x)\n@expression(model, Z[ω in Ω], 5 * y[ω] - 0.1(x - y[ω]))\n@variable(model, ξ)\n@variable(model, z[ω in Ω] >= 0)\n@constraint(model, [ω in Ω], z[ω] >= ξ - Z[ω])\n@objective(model, Max, -2x + ξ - 1 / γ * sum(P[ω] * z[ω] for ω in Ω))\noptimize!(model)\n@assert is_solved_and_feasible(model)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"When gamma = 04, the optimal number of pies to bake is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"value(x)","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"The distribution of total profit is:","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"risk_averse_total_profit = [value(-2x + Z[ω]) for ω in Ω]\nbins = bin_distribution([total_profit; risk_averse_total_profit], 25)\nplot = StatsPlots.histogram(total_profit; label = \"Expectation\", bins = bins)\nStatsPlots.histogram!(\n plot,\n risk_averse_total_profit;\n label = \"CV@R\",\n bins = bins,\n alpha = 0.5,\n)\nplot","category":"page"},{"location":"tutorials/applications/two_stage_stochastic/#Next-steps","page":"Two-stage stochastic programs","title":"Next steps","text":"","category":"section"},{"location":"tutorials/applications/two_stage_stochastic/","page":"Two-stage stochastic programs","title":"Two-stage stochastic programs","text":"Try solving this problem for different numbers of samples and different distributions.\nRefactor the example to avoid hard-coding the costs. What happens to the solution if the cost of disposing unsold pies increases?\nPlot the optimal number of pies to make for different values of the risk aversion parameter gamma. What is the relationship?","category":"page"},{"location":"packages/solvers/#Introduction","page":"Introduction","title":"Introduction","text":"","category":"section"},{"location":"packages/solvers/","page":"Introduction","title":"Introduction","text":"This section of the documentation contains brief documentation for some of the solvers that JuMP supports. The list of solvers is not exhaustive, but instead is intended to help you discover commonly used solvers.","category":"page"},{"location":"packages/solvers/#Affiliation","page":"Introduction","title":"Affiliation","text":"","category":"section"},{"location":"packages/solvers/","page":"Introduction","title":"Introduction","text":"Packages beginning with jump-dev/ are developed and maintained by the JuMP developers. In many cases, these packages wrap external solvers that are not developed by the JuMP developers and, while the Julia packages are all open-source, in some cases the solvers themselves are closed source commercial products.","category":"page"},{"location":"packages/solvers/","page":"Introduction","title":"Introduction","text":"Packages that do not begin with jump-dev/ are developed independently. The developers of these packages requested or consented to the inclusion of their README contents in the JuMP documentation for the benefit of users.","category":"page"},{"location":"packages/solvers/#Adding-new-solvers","page":"Introduction","title":"Adding new solvers","text":"","category":"section"},{"location":"packages/solvers/","page":"Introduction","title":"Introduction","text":"Written a solver? Add it to this section of the JuMP documentation by making a pull request to the docs/packages.toml file.","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"EditURL = \"https://github.com/lanl-ansi/MathOptAI.jl/blob/v0.1.6/README.md\"","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"(Image: )","category":"page"},{"location":"packages/MathOptAI/#MathOptAI.jl","page":"lanl-ansi/MathOptAI.jl","title":"MathOptAI.jl","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"(Image: Build Status) (Image: Code coverage)","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"MathOptAI.jl is a JuMP extension for embedding trained AI, machine learning, and statistical learning models into a JuMP optimization model.","category":"page"},{"location":"packages/MathOptAI/#License","page":"lanl-ansi/MathOptAI.jl","title":"License","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"MathOptAI.jl is provided under a BSD-3 license as part of the Optimization and Machine Learning Toolbox project, O4806.","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"See LICENSE.md for details.","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"Despite the name similarity, this project is not affiliated with OMLT, the Optimization and Machine Learning Toolkit.","category":"page"},{"location":"packages/MathOptAI/#Installation","page":"lanl-ansi/MathOptAI.jl","title":"Installation","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"Install MathOptAI.jl using the Julia package manager:","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"import Pkg\nPkg.add(\"MathOptAI\")","category":"page"},{"location":"packages/MathOptAI/#Getting-started","page":"lanl-ansi/MathOptAI.jl","title":"Getting started","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"Here's an example of using MathOptAI to embed a trained neural network from Flux into a JuMP model. The vector of JuMP variables x is fed as input to the neural network. The output y is a vector of JuMP variables that represents the output layer of the neural network. The formulation object stores the additional variables and constraints that were added to model.","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"julia> using JuMP, MathOptAI, Flux\n\njulia> predictor = Flux.Chain(\n Flux.Dense(28^2 => 32, Flux.sigmoid),\n Flux.Dense(32 => 10),\n Flux.softmax,\n );\n\njulia> #= Train the Flux model. Code not shown for simplicity =#\n\njulia> model = JuMP.Model();\n\njulia> JuMP.@variable(model, 0 <= x[1:28^2] <= 1);\n\njulia> y, formulation = MathOptAI.add_predictor(model, predictor, x);\n\njulia> y\n10-element Vector{VariableRef}:\n moai_SoftMax[1]\n moai_SoftMax[2]\n moai_SoftMax[3]\n moai_SoftMax[4]\n moai_SoftMax[5]\n moai_SoftMax[6]\n moai_SoftMax[7]\n moai_SoftMax[8]\n moai_SoftMax[9]\n moai_SoftMax[10]","category":"page"},{"location":"packages/MathOptAI/#Documentation","page":"lanl-ansi/MathOptAI.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"Documentation is available at https://lanl-ansi.github.io/MathOptAI.jl.","category":"page"},{"location":"packages/MathOptAI/#Getting-help","page":"lanl-ansi/MathOptAI.jl","title":"Getting help","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"For help, questions, comments, and suggestions, please open a GitHub issue.","category":"page"},{"location":"packages/MathOptAI/#Inspiration","page":"lanl-ansi/MathOptAI.jl","title":"Inspiration","text":"","category":"section"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"This project is mainly inspired by two existing projects:","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"OMLT\ngurobi-machinelearning","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"Other works, from which we took less inspiration, include:","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"JANOS\nMeLOn\nENTMOOT\nreluMIP\nOptiCL\nPySCIPOpt-ML","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"The 2024 paper of López-Flores et al. is an excellent summary of the state of the field at the time that we started development of MathOptAI.","category":"page"},{"location":"packages/MathOptAI/","page":"lanl-ansi/MathOptAI.jl","title":"lanl-ansi/MathOptAI.jl","text":"López-Flores, F.J., Ramírez-Márquez, C., Ponce-Ortega J.M. (2024). Process Systems Engineering Tools for Optimization of Trained Machine Learning Models: Comparative and Perspective. Industrial & Engineering Chemistry Research, 63(32), 13966-13979. DOI: 10.1021/acs.iecr.4c00632","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"EditURL = \"rolling_horizon.jl\"","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#Rolling-horizon-problems","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"This tutorial was originally contributed by Diego Tejada.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"The purpose of this tutorial is to demonstrate how to use ParametricOptInterface.jl to solve a rolling horizon optimization problem.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"The term \"rolling horizon\" refers to solving a time-dependent model repeatedly, where the planning interval is shifted forward in time during each solution step.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"As a motivating example, this tutorial models the operations of a power system with solar generation and a battery.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#Required-packages","page":"Rolling horizon problems","title":"Required packages","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"This tutorial uses the following packages","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"using JuMP\nimport CSV\nimport DataFrames\nimport HiGHS\nimport ParametricOptInterface as POI\nimport Plots","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#The-optimization-model","page":"Rolling horizon problems","title":"The optimization model","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"The model is a simplified model of a power system's operations with battery storage.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We model the system of a set of time-steps t in 1ldotsT, where each time step is a period of one hour.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"There are five types of decision variables in the model:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Renewable production: r_t geq 0\nThermal production: 0 leq p_t leq overlineP\nStorage level: 0 leq s_t leq overlineS\nStorage charging: 0 leq c_t leq overlineC\nStorage discharging: 0 leq d_t leq overlineD","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"For the purpose of this tutorial, there are three parameters of interest:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Demand at time t: D_t\nRenewable availability at time t: A_t\nInitial storage: S_0","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"The objective function to minimize is the total cost of thermal generation:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"min sum_t O cdot p_t","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"For the constraints, we must balance power generation and consumption in all time periods:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"p_t + r_t + d_t = D_t + c_t forall t","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We need to account for the dynamics of the battery storage:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"s_t = s_t-1 + eta^c cdot c_t - fracd_teta^d forall t","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"with the boundary condition that s_0 = S_0.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Finally, the level of renewable energy production is limited by the quantity of potential solar generation A:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"r_t leq A_t quad forall t","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Solving this problem with a large number of time steps is computationally challenging. A common practice is to use the rolling horizon idea to solve multiple identical problems of a smaller size. These problems differ only in parameters such as demand, renewable availability, and initial storage. By combining the solution of many smaller problems, we can recover a feasible solution to the full problem. However, because we don't optimize the full set of decisions in a single optimization problem, the recovered solution might be suboptimal.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#Parameter-definition-and-input-data","page":"Rolling horizon problems","title":"Parameter definition and input data","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"There are two main parameters for a rolling horizon implementation: the optimization window and the move forward.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Optimization Window: this value defines how many periods (for example, hours) we will optimize each time. For this example, we set the default value to 48 hours, meaning we will optimize two days each time.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"optimization_window = 48;\nnothing #hide","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Move Forward: this value defines how many periods (for example, hours) we will move forward to optimize the next optimization window. For this example, we set the default value in 24 hours, meaning we will move one day ahead each time.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"move_forward = 24;\nnothing #hide","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Note that the move forward parameter must be lower or equal to the optimization window parameter to work correctly.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"@assert optimization_window >= move_forward","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Let's explore the input data in file rolling_horizon.csv. We have a total time horizon of a week (that is, 168 hours), an electricity demand, and a solar production profile.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"filename = joinpath(@__DIR__, \"rolling_horizon.csv\")\ntime_series = CSV.read(filename, DataFrames.DataFrame)\ntime_series[1:21:end, :]","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We define the solar investment (for example, 150 MW) to determine the solar production during the operation optimization step.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"solar_investment = 150;\nnothing #hide","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We multiply the level of solar investment by the time series of availability to get actual MW generated.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"time_series.solar_MW = solar_investment * time_series.solar_pu;\nnothing #hide","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"In addition, we can determine some basic information about the rolling horizon, such as the number of data points we have:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"total_time_length = size(time_series, 1)","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"and the number of windows that we are going to optimize given the problem's time horizon:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"(total_time_length + move_forward - optimization_window) / move_forward","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Finally, we can see a plot representing the first two optimization windows and the move forward parameter to have a better idea of how the rolling horizon works.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"x_series = 1:total_time_length\ny_series = [time_series.demand_MW, time_series.solar_MW]\nplot_1 = Plots.plot(x_series, y_series; label = [\"demand\" \"solar\"])\nplot_2 = Plots.plot(x_series, y_series; label = false)\nwindow = [0, optimization_window]\nPlots.vspan!(plot_1, window; alpha = 0.25, label = false)\nPlots.vspan!(plot_2, move_forward .+ window; alpha = 0.25, label = false)\ntext_1 = Plots.text(\"optimization\\n window 1\", :top, :left, 8)\nPlots.annotate!(plot_1, 18, time_series.solar_MW[12], text_1)\ntext_2 = Plots.text(\"optimization\\n window 2\", :top, :left, 8)\nPlots.annotate!(plot_2, 42, time_series.solar_MW[12], text_2)\nPlots.plot(\n plot_1,\n plot_2;\n layout = (2, 1),\n linewidth = 3,\n xticks = 0:12:total_time_length,\n xlabel = \"Hours\",\n ylabel = \"MW\",\n)","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#JuMP-model","page":"Rolling horizon problems","title":"JuMP model","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We have all the information we need to create a JuMP model to solve a single window of our rolling horizon problem.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"As the optimizer, we use POI.Optimizer, which is part of ParametricOptInterface.jl. POI.Optimizer converts the Parameter decision variables into constants in the underlying optimization model, and it efficiently updates the solver in-place when we call set_parameter_value which avoids having to rebuild the problem each time we call optimize!.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"model = Model(() -> POI.Optimizer(HiGHS.Optimizer()))\nset_silent(model)\n@variables(model, begin\n 0 <= r[1:optimization_window]\n 0 <= p[1:optimization_window] <= 150\n 0 <= s[1:optimization_window] <= 40\n 0 <= c[1:optimization_window] <= 10\n 0 <= d[1:optimization_window] <= 10\n # Initialize empty parameters. These values will get updated later\n D[t in 1:optimization_window] in Parameter(0)\n A[t in 1:optimization_window] in Parameter(0)\n S_0 in Parameter(0)\nend)\n@objective(model, Min, 50 * sum(p))\n@constraints(\n model,\n begin\n p .+ r .+ d .== D .+ c\n s[1] == S_0 + 0.9 * c[1] - d[1] / 0.9\n [t in 2:optimization_window], s[t] == s[t-1] + 0.9 * c[t] - d[t] / 0.9\n r .<= A\n end\n)\nmodel","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"After the optimization, we can store the results in vectors. It's important to note that despite optimizing for 48 hours (the default value), we only store the values for the \"move forward\" parameter (for example, 24 hours or one day using the default value). This approach ensures that there is a buffer of additional periods or hours beyond the \"move forward\" parameter to prevent the storage from depleting entirely at the end of the specified hours.","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"sol_complete = Dict(\n :r => zeros(total_time_length),\n :p => zeros(total_time_length),\n :c => zeros(total_time_length),\n :d => zeros(total_time_length),\n # The storage level is initialized with an initial value\n :s => zeros(total_time_length + 1),\n)\nsol_windows = Pair{Int,Dict{Symbol,Vector{Float64}}}[]","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Now we can iterate across the windows of our rolling horizon problem, and at each window, we:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"update the parameters in the models\nsolve the model for that window\nstore the results for later analysis","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"offsets = 0:move_forward:total_time_length-optimization_window\nfor offset in offsets\n # Step 1: update the parameter values over the optimization_window\n for t in 1:optimization_window\n set_parameter_value(model[:D][t], time_series[offset+t, :demand_MW])\n set_parameter_value(model[:A][t], time_series[offset+t, :solar_MW])\n end\n # Set the starting storage level as the value from the end of the previous\n # solve. The `+1` accounts for the initial storage value in time step \"t=0\"\n set_parameter_value(model[:S_0], sol_complete[:s][offset+1])\n # Step 2: solve the model\n optimize!(model)\n # Step 3: store the results of the move_forward values, except in the last\n # horizon where we store the full `optimization_window`.\n for t in 1:(offset == last(offsets) ? optimization_window : move_forward)\n for key in (:r, :p, :c, :d)\n sol_complete[key][offset+t] = value(model[key][t])\n end\n sol_complete[:s][offset+t+1] = value(model[:s][t])\n end\n sol_window = Dict(key => value.(model[key]) for key in (:r, :p, :s, :c, :d))\n push!(sol_windows, offset => sol_window)\nend","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#Solution","page":"Rolling horizon problems","title":"Solution","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"Here is a function to plot the solution at each of the time-steps to help visualize the rolling horizon scheme:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"function plot_solution(sol; offset = 0, kwargs...)\n plot = Plots.plot(;\n ylabel = \"MW\",\n xlims = (0, total_time_length),\n xticks = 0:12:total_time_length,\n kwargs...,\n )\n y = hcat(sol[:p], sol[:r], sol[:d])\n x = offset .+ (1:size(y, 1))\n if offset == 0\n Plots.areaplot!(x, y; label = [\"thermal\" \"solar\" \"discharge\"])\n Plots.areaplot!(x, -sol[:c]; label = \"charge\")\n else\n Plots.areaplot!(x, y; label = false)\n Plots.areaplot!(x, -sol[:c]; label = false)\n end\n return plot\nend\n\nPlots.plot(\n [plot_solution(sol; offset) for (offset, sol) in sol_windows]...;\n layout = (length(sol_windows), 1),\n size = (600, 800),\n margin = 3Plots.mm,\n)","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"We can re-use the function to plot the recovered solution of the full problem:","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"plot_solution(sol_complete; offset = 0, xlabel = \"Hour\")","category":"page"},{"location":"tutorials/algorithms/rolling_horizon/#Final-remark","page":"Rolling horizon problems","title":"Final remark","text":"","category":"section"},{"location":"tutorials/algorithms/rolling_horizon/","page":"Rolling horizon problems","title":"Rolling horizon problems","text":"ParametricOptInterface.jl offers an easy way to update the parameters of an optimization problem that will be solved several times, as in the rolling horizon implementation. It has the benefit of avoiding rebuilding the model each time we want to solve it with new information in a new window.","category":"page"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/reference/models.md\"","category":"page"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/reference/models/#Models","page":"Models","title":"Models","text":"","category":"section"},{"location":"moi/reference/models/#Attribute-interface","page":"Models","title":"Attribute interface","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"is_set_by_optimize\nis_copyable\nget\nget!\nset\nsupports\nattribute_value_type","category":"page"},{"location":"moi/reference/models/#MathOptInterface.is_set_by_optimize","page":"Models","title":"MathOptInterface.is_set_by_optimize","text":"is_set_by_optimize(::AnyAttribute)\n\nReturn a Bool indicating whether the value of the attribute is set during an optimize! call, that is, the attribute is used to query the result of the optimization.\n\nIf an attribute can be set by the user, define is_copyable instead.\n\nAn attribute cannot be both is_copyable and is_set_by_optimize.\n\nDefault fallback\n\nThis function returns false by default so it should be implemented for attributes that are set by optimize!.\n\nUndefined behavior\n\nQuerying the value of the attribute that is_set_by_optimize before a call to optimize! is undefined and depends on solver-specific behavior.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.is_copyable","page":"Models","title":"MathOptInterface.is_copyable","text":"is_copyable(::AnyAttribute)\n\nReturn a Bool indicating whether the value of the attribute may be copied during copy_to using set.\n\nIf an attribute is_copyable, then it cannot be modified by the optimizer, and get must always return the value that was set by the user.\n\nIf an attribute is the result of an optimization, define is_set_by_optimize instead.\n\nAn attribute cannot be both is_set_by_optimize and is_copyable.\n\nDefault fallback\n\nBy default is_copyable(attr) returns !is_set_by_optimize(attr), which is most probably true.\n\nIf an attribute should not be copied, define is_copyable(::MyAttribute) = false.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.get","page":"Models","title":"MathOptInterface.get","text":"MOI.get(b::AbstractBridge, ::MOI.NumberOfVariables)::Int64\n\nReturn the number of variables created by the bridge b in the model.\n\nSee also MOI.NumberOfConstraints.\n\nImplementation notes\n\nThere is a default fallback, so you need only implement this if the bridge adds new variables.\n\n\n\n\n\nMOI.get(b::AbstractBridge, ::MOI.ListOfVariableIndices)\n\nReturn the list of variables created by the bridge b.\n\nSee also MOI.ListOfVariableIndices.\n\nImplementation notes\n\nThere is a default fallback, so you need only implement this if the bridge adds new variables.\n\n\n\n\n\nMOI.get(b::AbstractBridge, ::MOI.NumberOfConstraints{F,S})::Int64 where {F,S}\n\nReturn the number of constraints of the type F-in-S created by the bridge b.\n\nSee also MOI.NumberOfConstraints.\n\nImplementation notes\n\nThere is a default fallback, so you need only implement this for the constraint types returned by added_constraint_types.\n\n\n\n\n\nMOI.get(b::AbstractBridge, ::MOI.ListOfConstraintIndices{F,S}) where {F,S}\n\nReturn a Vector{ConstraintIndex{F,S}} with indices of all constraints of type F-in-S created by the bride b.\n\nSee also MOI.ListOfConstraintIndices.\n\nImplementation notes\n\nThere is a default fallback, so you need only implement this for the constraint types returned by added_constraint_types.\n\n\n\n\n\nfunction MOI.get(\n model::MOI.ModelLike,\n attr::MOI.AbstractConstraintAttribute,\n bridge::AbstractBridge,\n)\n\nReturn the value of the attribute attr of the model model for the constraint bridged by bridge.\n\n\n\n\n\nget(model::GenericModel, attr::MathOptInterface.AbstractOptimizerAttribute)\n\nReturn the value of the attribute attr from the model's MOI backend.\n\n\n\n\n\nget(model::GenericModel, attr::MathOptInterface.AbstractModelAttribute)\n\nReturn the value of the attribute attr from the model's MOI backend.\n\n\n\n\n\nget(optimizer::AbstractOptimizer, attr::AbstractOptimizerAttribute)\n\nReturn an attribute attr of the optimizer optimizer.\n\nget(model::ModelLike, attr::AbstractModelAttribute)\n\nReturn an attribute attr of the model model.\n\nget(model::ModelLike, attr::AbstractVariableAttribute, v::VariableIndex)\n\nIf the attribute attr is set for the variable v in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.\n\nget(model::ModelLike, attr::AbstractVariableAttribute, v::Vector{VariableIndex})\n\nReturn a vector of attributes corresponding to each variable in the collection v in the model model.\n\nget(model::ModelLike, attr::AbstractConstraintAttribute, c::ConstraintIndex)\n\nIf the attribute attr is set for the constraint c in the model model, return its value, return nothing otherwise. If the attribute attr is not supported by model then an error should be thrown instead of returning nothing.\n\nget(\n model::ModelLike,\n attr::AbstractConstraintAttribute,\n c::Vector{ConstraintIndex{F,S}},\n) where {F,S}\n\nReturn a vector of attributes corresponding to each constraint in the collection c in the model model.\n\nget(model::ModelLike, ::Type{VariableIndex}, name::String)\n\nIf a variable with name name exists in the model model, return the corresponding index, otherwise return nothing. Errors if two variables have the same name.\n\nget(\n model::ModelLike,\n ::Type{ConstraintIndex{F,S}},\n name::String,\n) where {F,S}\n\nIf an F-in-S constraint with name name exists in the model model, return the corresponding index, otherwise return nothing. Errors if two constraints have the same name.\n\nget(model::ModelLike, ::Type{ConstraintIndex}, name::String)\n\nIf any constraint with name name exists in the model model, return the corresponding index, otherwise return nothing. This version is available for convenience but may incur a performance penalty because it is not type stable. Errors if two constraints have the same name.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.get!","page":"Models","title":"MathOptInterface.get!","text":"get!(output, model::ModelLike, args...)\n\nAn in-place version of get.\n\nThe signature matches that of get except that the result is placed in the vector output.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.set","page":"Models","title":"MathOptInterface.set","text":"function MOI.set(\n model::MOI.ModelLike,\n attr::MOI.AbstractConstraintAttribute,\n bridge::AbstractBridge,\n value,\n)\n\nSet the value of the attribute attr of the model model for the constraint bridged by bridge.\n\n\n\n\n\nset(optimizer::AbstractOptimizer, attr::AbstractOptimizerAttribute, value)\n\nAssign value to the attribute attr of the optimizer optimizer.\n\nset(model::ModelLike, attr::AbstractModelAttribute, value)\n\nAssign value to the attribute attr of the model model.\n\nset(model::ModelLike, attr::AbstractVariableAttribute, v::VariableIndex, value)\n\nAssign value to the attribute attr of variable v in model model.\n\nset(\n model::ModelLike,\n attr::AbstractVariableAttribute,\n v::Vector{VariableIndex},\n vector_of_values,\n)\n\nAssign a value respectively to the attribute attr of each variable in the collection v in model model.\n\nset(\n model::ModelLike,\n attr::AbstractConstraintAttribute,\n c::ConstraintIndex,\n value,\n)\n\nAssign a value to the attribute attr of constraint c in model model.\n\nset(\n model::ModelLike,\n attr::AbstractConstraintAttribute,\n c::Vector{ConstraintIndex{F,S}},\n vector_of_values,\n) where {F,S}\n\nAssign a value respectively to the attribute attr of each constraint in the collection c in model model.\n\nAn UnsupportedAttribute error is thrown if model does not support the attribute attr (see supports) and a SetAttributeNotAllowed error is thrown if it supports the attribute attr but it cannot be set.\n\nset(\n model::ModelLike,\n ::ConstraintSet,\n c::ConstraintIndex{F,S},\n set::S,\n) where {F,S}\n\nChange the set of constraint c to the new set set which should be of the same type as the original set.\n\nset(\n model::ModelLike,\n ::ConstraintFunction,\n c::ConstraintIndex{F,S},\n func::F,\n) where {F,S}\n\nReplace the function in constraint c with func. F must match the original function type used to define the constraint.\n\nnote: Note\nSetting the constraint function is not allowed if F is VariableIndex; a SettingVariableIndexNotAllowed error is thrown instead. This is because, it would require changing the index c since the index of VariableIndex constraints must be the same as the index of the variable.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.supports","page":"Models","title":"MathOptInterface.supports","text":"MOI.supports(\n model::MOI.ModelLike,\n attr::MOI.AbstractConstraintAttribute,\n BT::Type{<:AbstractBridge},\n)\n\nReturn a Bool indicating whether BT supports setting attr to model.\n\n\n\n\n\nsupports(model::ModelLike, sub::AbstractSubmittable)::Bool\n\nReturn a Bool indicating whether model supports the submittable sub.\n\nsupports(model::ModelLike, attr::AbstractOptimizerAttribute)::Bool\n\nReturn a Bool indicating whether model supports the optimizer attribute attr. That is, it returns false if copy_to(model, src) shows a warning in case attr is in the ListOfOptimizerAttributesSet of src; see copy_to for more details on how unsupported optimizer attributes are handled in copy.\n\nsupports(model::ModelLike, attr::AbstractModelAttribute)::Bool\n\nReturn a Bool indicating whether model supports the model attribute attr. That is, it returns false if copy_to(model, src) cannot be performed in case attr is in the ListOfModelAttributesSet of src.\n\nsupports(\n model::ModelLike,\n attr::AbstractVariableAttribute,\n ::Type{VariableIndex},\n)::Bool\n\nReturn a Bool indicating whether model supports the variable attribute attr. That is, it returns false if copy_to(model, src) cannot be performed in case attr is in the ListOfVariableAttributesSet of src.\n\nsupports(\n model::ModelLike,\n attr::AbstractConstraintAttribute,\n ::Type{ConstraintIndex{F,S}},\n)::Bool where {F,S}\n\nReturn a Bool indicating whether model supports the constraint attribute attr applied to an F-in-S constraint. That is, it returns false if copy_to(model, src) cannot be performed in case attr is in the ListOfConstraintAttributesSet of src.\n\nFor all five methods, if the attribute is only not supported in specific circumstances, it should still return true.\n\nNote that supports is only defined for attributes for which is_copyable returns true as other attributes do not appear in the list of attributes set obtained by ListOfXXXAttributesSet.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.attribute_value_type","page":"Models","title":"MathOptInterface.attribute_value_type","text":"attribute_value_type(attr::AnyAttribute)\n\nGiven an attribute attr, return the type of value expected by get, or returned by set.\n\nNotes\n\nOnly implement this if it make sense to do so. If un-implemented, the default is Any.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#Model-interface","page":"Models","title":"Model interface","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"ModelLike\nis_empty\nempty!\nwrite_to_file\nread_from_file\nsupports_incremental_interface\ncopy_to\nIndexMap","category":"page"},{"location":"moi/reference/models/#MathOptInterface.ModelLike","page":"Models","title":"MathOptInterface.ModelLike","text":"ModelLike\n\nAbstract supertype for objects that implement the \"Model\" interface for defining an optimization problem.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.is_empty","page":"Models","title":"MathOptInterface.is_empty","text":"is_empty(model::ModelLike)\n\nReturns false if the model has any model attribute set or has any variables or constraints.\n\nNote that an empty model can have optimizer attributes set.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.empty!","page":"Models","title":"MathOptInterface.empty!","text":"empty!(model::ModelLike)\n\nEmpty the model, that is, remove all variables, constraints and model attributes but not optimizer attributes.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.write_to_file","page":"Models","title":"MathOptInterface.write_to_file","text":"write_to_file(model::ModelLike, filename::String)\n\nWrite the current model to the file at filename.\n\nSupported file types depend on the model type.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.read_from_file","page":"Models","title":"MathOptInterface.read_from_file","text":"read_from_file(model::ModelLike, filename::String)\n\nRead the file filename into the model model. If model is non-empty, this may throw an error.\n\nSupported file types depend on the model type.\n\nNote\n\nOnce the contents of the file are loaded into the model, users can query the variables via get(model, ListOfVariableIndices()). However, some filetypes, such as LP files, do not maintain an explicit ordering of the variables. Therefore, the returned list may be in an arbitrary order.\n\nTo avoid depending on the order of the indices, look up each variable index by name using get(model, VariableIndex, \"name\").\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.supports_incremental_interface","page":"Models","title":"MathOptInterface.supports_incremental_interface","text":"supports_incremental_interface(model::ModelLike)\n\nReturn a Bool indicating whether model supports building incrementally via add_variable and add_constraint.\n\nThe main purpose of this function is to determine whether a model can be loaded into model incrementally or whether it should be cached and copied at once instead.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.copy_to","page":"Models","title":"MathOptInterface.copy_to","text":"copy_to(dest::ModelLike, src::ModelLike)::IndexMap\n\nCopy the model from src into dest.\n\nThe target dest is emptied, and all previous indices to variables and constraints in dest are invalidated.\n\nReturns an IndexMap object that translates variable and constraint indices from the src model to the corresponding indices in the dest model.\n\nNotes\n\nIf a constraint that in src is not supported by dest, then an UnsupportedConstraint error is thrown.\nIf an AbstractModelAttribute, AbstractVariableAttribute, or AbstractConstraintAttribute is set in src but not supported by dest, then an UnsupportedAttribute error is thrown.\n\nAbstractOptimizerAttributes are not copied to the dest model.\n\nIndexMap\n\nImplementations of copy_to must return an IndexMap. For technical reasons, this type is defined in the Utilities submodule as MOI.Utilities.IndexMap. However, since it is an integral part of the MOI API, we provide MOI.IndexMap as an alias.\n\nExample\n\n# Given empty `ModelLike` objects `src` and `dest`.\n\nx = add_variable(src)\n\nis_valid(src, x) # true\nis_valid(dest, x) # false (`dest` has no variables)\n\nindex_map = copy_to(dest, src)\nis_valid(dest, x) # false (unless index_map[x] == x)\nis_valid(dest, index_map[x]) # true\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.IndexMap","page":"Models","title":"MathOptInterface.IndexMap","text":"IndexMap()\n\nThe dictionary-like object returned by copy_to.\n\nIndexMap\n\nImplementations of copy_to must return an IndexMap. For technical reasons, the IndexMap type is defined in the Utilities submodule as MOI.Utilities.IndexMap. However, since it is an integral part of the MOI API, we provide this MOI.IndexMap as an alias.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#Model-attributes","page":"Models","title":"Model attributes","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"AbstractModelAttribute\nName\nObjectiveFunction\nObjectiveFunctionType\nObjectiveSense\nOptimizationSense\nMIN_SENSE\nMAX_SENSE\nFEASIBILITY_SENSE\nNumberOfVariables\nListOfVariableIndices\nListOfConstraintTypesPresent\nNumberOfConstraints\nListOfConstraintIndices\nListOfOptimizerAttributesSet\nListOfModelAttributesSet\nListOfVariableAttributesSet\nListOfVariablesWithAttributeSet\nListOfConstraintAttributesSet\nListOfConstraintsWithAttributeSet\nUserDefinedFunction\nListOfSupportedNonlinearOperators","category":"page"},{"location":"moi/reference/models/#MathOptInterface.AbstractModelAttribute","page":"Models","title":"MathOptInterface.AbstractModelAttribute","text":"AbstractModelAttribute\n\nAbstract supertype for attribute objects that can be used to set or get attributes (properties) of the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.Name","page":"Models","title":"MathOptInterface.Name","text":"Name()\n\nA model attribute for the string identifying the model. It has a default value of \"\" if not set`.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveFunction","page":"Models","title":"MathOptInterface.ObjectiveFunction","text":"ObjectiveFunction{F<:AbstractScalarFunction}()\n\nA model attribute for the objective function which has a type F<:AbstractScalarFunction.\n\nF should be guaranteed to be equivalent but not necessarily identical to the function type provided by the user.\n\nThrows an InexactError if the objective function cannot be converted to F, for example, the objective function is quadratic and F is ScalarAffineFunction{Float64} or it has non-integer coefficient and F is ScalarAffineFunction{Int}.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveFunctionType","page":"Models","title":"MathOptInterface.ObjectiveFunctionType","text":"ObjectiveFunctionType()\n\nA model attribute for the type F of the objective function set using the ObjectiveFunction{F} attribute.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Utilities.Model{Float64}();\n\njulia> x = MOI.add_variable(model)\nMOI.VariableIndex(1)\n\njulia> MOI.set(model, MOI.ObjectiveFunction{MOI.VariableIndex}(), x)\n\njulia> MOI.get(model, MOI.ObjectiveFunctionType())\nMathOptInterface.VariableIndex\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveSense","page":"Models","title":"MathOptInterface.ObjectiveSense","text":"ObjectiveSense()\n\nA model attribute for the objective sense of the objective function, which must be an OptimizationSense: MIN_SENSE, MAX_SENSE, or FEASIBILITY_SENSE. The default is FEASIBILITY_SENSE.\n\nInteraction with ObjectiveFunction\n\nSetting the sense to FEASIBILITY_SENSE unsets the ObjectiveFunction attribute. That is, if you first set ObjectiveFunction and then set ObjectiveSense to be FEASIBILITY_SENSE, no objective function will be passed to the solver.\n\nIn addition, some reformulations of ObjectiveFunction via bridges rely on the value of ObjectiveSense. Therefore, you should set ObjectiveSense before setting ObjectiveFunction.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.OptimizationSense","page":"Models","title":"MathOptInterface.OptimizationSense","text":"OptimizationSense\n\nAn enum for the value of the ObjectiveSense attribute.\n\nValues\n\nPossible values are:\n\nMIN_SENSE: the goal is to minimize the objective function\nMAX_SENSE: the goal is to maximize the objective function\nFEASIBILITY_SENSE: the model does not have an objective function\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.MIN_SENSE","page":"Models","title":"MathOptInterface.MIN_SENSE","text":"MIN_SENSE::OptimizationSense\n\nAn instance of the OptimizationSense enum.\n\nMIN_SENSE: the goal is to minimize the objective function\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.MAX_SENSE","page":"Models","title":"MathOptInterface.MAX_SENSE","text":"MAX_SENSE::OptimizationSense\n\nAn instance of the OptimizationSense enum.\n\nMAX_SENSE: the goal is to maximize the objective function\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.FEASIBILITY_SENSE","page":"Models","title":"MathOptInterface.FEASIBILITY_SENSE","text":"FEASIBILITY_SENSE::OptimizationSense\n\nAn instance of the OptimizationSense enum.\n\nFEASIBILITY_SENSE: the model does not have an objective function\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NumberOfVariables","page":"Models","title":"MathOptInterface.NumberOfVariables","text":"NumberOfVariables()\n\nA model attribute for the number of variables in the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfVariableIndices","page":"Models","title":"MathOptInterface.ListOfVariableIndices","text":"ListOfVariableIndices()\n\nA model attribute for the Vector{VariableIndex} of all variable indices present in the model (that is, of length equal to the value of NumberOfVariables in the order in which they were added.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfConstraintTypesPresent","page":"Models","title":"MathOptInterface.ListOfConstraintTypesPresent","text":"ListOfConstraintTypesPresent()\n\nA model attribute for the list of tuples of the form (F,S), where F is a function type and S is a set type indicating that the attribute NumberOfConstraints{F,S} has a value greater than zero.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NumberOfConstraints","page":"Models","title":"MathOptInterface.NumberOfConstraints","text":"NumberOfConstraints{F,S}()\n\nA model attribute for the number of constraints of the type F-in-S present in the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfConstraintIndices","page":"Models","title":"MathOptInterface.ListOfConstraintIndices","text":"ListOfConstraintIndices{F,S}()\n\nA model attribute for the Vector{ConstraintIndex{F,S}} of all constraint indices of type F-in-S in the model (that is, of length equal to the value of NumberOfConstraints{F,S}) in the order in which they were added.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfOptimizerAttributesSet","page":"Models","title":"MathOptInterface.ListOfOptimizerAttributesSet","text":"ListOfOptimizerAttributesSet()\n\nAn optimizer attribute for the Vector{AbstractOptimizerAttribute} of all optimizer attributes that were set.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfModelAttributesSet","page":"Models","title":"MathOptInterface.ListOfModelAttributesSet","text":"ListOfModelAttributesSet()\n\nA model attribute for the Vector{AbstractModelAttribute} of all model attributes attr such that:\n\nis_copyable(attr) returns true, and\nthe attribute was set to the model\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfVariableAttributesSet","page":"Models","title":"MathOptInterface.ListOfVariableAttributesSet","text":"ListOfVariableAttributesSet()\n\nA model attribute for the Vector{AbstractVariableAttribute} of all variable attributes attr such that 1) is_copyable(attr) returns true and 2) the attribute was set to variables.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfVariablesWithAttributeSet","page":"Models","title":"MathOptInterface.ListOfVariablesWithAttributeSet","text":"ListOfVariablesWithAttributeSet(attr::AbstractVariableAttribute)\n\nA model attribute for the Vector{VariableIndex} of all variables with the attribute attr set.\n\nThe returned list may not be minimal, so some elements may have their default value set.\n\nNote\n\nThis is an optional attribute to implement. The default fallback is to get ListOfVariableIndices.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfConstraintAttributesSet","page":"Models","title":"MathOptInterface.ListOfConstraintAttributesSet","text":"ListOfConstraintAttributesSet{F, S}()\n\nA model attribute for the Vector{AbstractConstraintAttribute} of all constraint attributes attr such that:\n\nis_copyable(attr) returns true and\nthe attribute was set to F-in-S constraints.\n\nNote\n\nThe attributes ConstraintFunction and ConstraintSet should not be included in the list even if then have been set with set.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfConstraintsWithAttributeSet","page":"Models","title":"MathOptInterface.ListOfConstraintsWithAttributeSet","text":"ListOfConstraintsWithAttributeSet{F,S}(attr:AbstractConstraintAttribute)\n\nA model attribute for the Vector{ConstraintIndex{F,S}} of all constraints with the attribute attr set.\n\nThe returned list may not be minimal, so some elements may have their default value set.\n\nNote\n\nThis is an optional attribute to implement. The default fallback is to get ListOfConstraintIndices.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.UserDefinedFunction","page":"Models","title":"MathOptInterface.UserDefinedFunction","text":"UserDefinedFunction(name::Symbol, arity::Int) <: AbstractModelAttribute\n\nSet this attribute to register a user-defined function by the name of name with arity arguments.\n\nOnce registered, name will appear in ListOfSupportedNonlinearOperators.\n\nYou cannot register multiple UserDefinedFunctions with the same name but different arity.\n\nValue type\n\nThe value to be set is a tuple containing one, two, or three functions to evaluate the function, the first-order derivative, and the second-order derivative respectively. Both derivatives are optional, but if you pass the second-order derivative you must also pass the first-order derivative.\n\nFor univariate functions with arity == 1, the functions in the tuple must have the form:\n\nf(x::T)::T: returns the value of the function at x\n∇f(x::T)::T: returns the first-order derivative of f with respect to x\n∇²f(x::T)::T: returns the second-order derivative of f with respect to x.\n\nFor multivariate functions with arity > 1, the functions in the tuple must have the form:\n\nf(x::T...)::T: returns the value of the function at x\n∇f(g::AbstractVector{T}, x::T...)::Nothing: fills the components of g, with g[i] being the first-order partial derivative of f with respect to x[i]\n∇²f(H::AbstractMatrix{T}, x::T...)::Nothing: fills the non-zero components of H, with H[i, j] being the second-order partial derivative of f with respect to x[i] and then x[j]. H is initialized to the zero matrix, so you do not need to set any zero elements.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> f(x, y) = x^2 + y^2\nf (generic function with 1 method)\n\njulia> function ∇f(g, x, y)\n g .= 2 * x, 2 * y\n return\n end\n∇f (generic function with 1 method)\n\njulia> function ∇²f(H, x...)\n H[1, 1] = H[2, 2] = 2.0\n return\n end\n∇²f (generic function with 1 method)\n\njulia> model = MOI.Utilities.UniversalFallback(MOI.Utilities.Model{Float64}());\n\njulia> MOI.set(model, MOI.UserDefinedFunction(:f, 2), (f,))\n\njulia> MOI.set(model, MOI.UserDefinedFunction(:g, 2), (f, ∇f))\n\njulia> MOI.set(model, MOI.UserDefinedFunction(:h, 2), (f, ∇f, ∇²f))\n\njulia> x = MOI.add_variables(model, 2)\n2-element Vector{MathOptInterface.VariableIndex}:\n MOI.VariableIndex(1)\n MOI.VariableIndex(2)\n\njulia> MOI.set(model, MOI.ObjectiveSense(), MOI.MIN_SENSE)\n\njulia> obj_f = MOI.ScalarNonlinearFunction(:f, Any[x[1], x[2]])\nf(MOI.VariableIndex(1), MOI.VariableIndex(2))\n\njulia> MOI.set(model, MOI.ObjectiveFunction{typeof(obj_f)}(), obj_f)\n\njulia> print(model)\nMinimize ScalarNonlinearFunction:\n f(v[1], v[2])\n\nSubject to:\n\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ListOfSupportedNonlinearOperators","page":"Models","title":"MathOptInterface.ListOfSupportedNonlinearOperators","text":"ListOfSupportedNonlinearOperators() <: AbstractModelAttribute\n\nWhen queried with get, return a Vector{Symbol} listing the operators supported by the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#Optimizer-interface","page":"Models","title":"Optimizer interface","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"AbstractOptimizer\nOptimizerWithAttributes\noptimize!\noptimize!(::ModelLike, ::ModelLike)\ninstantiate\ndefault_cache","category":"page"},{"location":"moi/reference/models/#MathOptInterface.AbstractOptimizer","page":"Models","title":"MathOptInterface.AbstractOptimizer","text":"AbstractOptimizer <: ModelLike\n\nAbstract supertype for objects representing an instance of an optimization problem tied to a particular solver. This is typically a solver's in-memory representation. In addition to ModelLike, AbstractOptimizer objects let you solve the model and query the solution.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.OptimizerWithAttributes","page":"Models","title":"MathOptInterface.OptimizerWithAttributes","text":"struct OptimizerWithAttributes\n optimizer_constructor\n params::Vector{Pair{AbstractOptimizerAttribute,<:Any}}\nend\n\nObject grouping an optimizer constructor and a list of optimizer attributes. Instances are created with instantiate.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.optimize!","page":"Models","title":"MathOptInterface.optimize!","text":"optimize!(optimizer::AbstractOptimizer)\n\nOptimize the problem contained in optimizer.\n\nBefore calling optimize!, the problem should first be constructed using the incremental interface (see supports_incremental_interface) or copy_to.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.optimize!-Tuple{MathOptInterface.ModelLike, MathOptInterface.ModelLike}","page":"Models","title":"MathOptInterface.optimize!","text":"optimize!(dest::AbstractOptimizer, src::ModelLike)::Tuple{IndexMap,Bool}\n\nA \"one-shot\" call that copies the problem from src into dest and then uses dest to optimize the problem.\n\nReturns a tuple of an IndexMap and a Bool copied.\n\nThe IndexMap object translates variable and constraint indices from the src model to the corresponding indices in the dest optimizer. See copy_to for details.\nIf copied == true, src was copied to dest and then cached, allowing incremental modification if supported by the solver.\nIf copied == false, a cache of the model was not kept in dest. Therefore, only the solution information (attributes for which is_set_by_optimize is true) is available to query.\n\nnote: Note\nThe main purpose of optimize! method with two arguments is for use in Utilities.CachingOptimizer.\n\nRelationship to the single-argument optimize!\n\nThe default fallback of optimize!(dest::AbstractOptimizer, src::ModelLike) is\n\nfunction optimize!(dest::AbstractOptimizer, src::ModelLike)\n index_map = copy_to(dest, src)\n optimize!(dest)\n return index_map, true\nend\n\nTherefore, subtypes of AbstractOptimizer should either implement this two-argument method, or implement both copy_to(::Optimizer, ::ModelLike) and optimize!(::Optimizer).\n\n\n\n\n\n","category":"method"},{"location":"moi/reference/models/#MathOptInterface.instantiate","page":"Models","title":"MathOptInterface.instantiate","text":"instantiate(\n optimizer_constructor,\n with_cache_type::Union{Nothing,Type} = nothing,\n with_bridge_type::Union{Nothing,Type} = nothing,\n)\n\nCreate an instance of an optimizer by either:\n\ncalling optimizer_constructor.optimizer_constructor() and setting the parameters in optimizer_constructor.params if optimizer_constructor is a OptimizerWithAttributes\ncalling optimizer_constructor() if optimizer_constructor is callable.\n\nwithcachetype\n\nIf with_cache_type is not nothing, then the optimizer is wrapped in a Utilities.CachingOptimizer to store a cache of the model. This is most useful if the optimizer you are constructing does not support the incremental interface (see supports_incremental_interface).\n\nwithbridgetype\n\nIf with_bridge_type is not nothing, the optimizer is wrapped in a Bridges.full_bridge_optimizer, enabling all the bridges defined in the MOI.Bridges submodule with coefficient type with_bridge_type.\n\nIn addition, if the optimizer created by optimizer_constructor does not support the incremental interface (see supports_incremental_interface), then, irrespective of with_cache_type, the optimizer is wrapped in a Utilities.CachingOptimizer to store a cache of the bridged model.\n\nIf with_cache_type and with_bridge_type are both not nothing, then they must be the same type.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.default_cache","page":"Models","title":"MathOptInterface.default_cache","text":"default_cache(optimizer::ModelLike, ::Type{T}) where {T}\n\nReturn a new instance of the default model type to be used as cache for optimizer in a Utilities.CachingOptimizer for holding constraints of coefficient type T. By default, this returns Utilities.UniversalFallback(Utilities.Model{T}()). If copying from a instance of a given model type is faster for optimizer then a new method returning an instance of this model type should be defined.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#Optimizer-attributes","page":"Models","title":"Optimizer attributes","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"AbstractOptimizerAttribute\nSolverName\nSolverVersion\nSilent\nTimeLimitSec\nObjectiveLimit\nSolutionLimit\nNodeLimit\nRawOptimizerAttribute\nNumberOfThreads\nRawSolver\nAbsoluteGapTolerance\nRelativeGapTolerance\nAutomaticDifferentiationBackend","category":"page"},{"location":"moi/reference/models/#MathOptInterface.AbstractOptimizerAttribute","page":"Models","title":"MathOptInterface.AbstractOptimizerAttribute","text":"AbstractOptimizerAttribute\n\nAbstract supertype for attribute objects that can be used to set or get attributes (properties) of the optimizer.\n\nNotes\n\nThe difference between AbstractOptimizerAttribute and AbstractModelAttribute lies in the behavior of is_empty, empty! and copy_to. Typically optimizer attributes affect only how the model is solved.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.SolverName","page":"Models","title":"MathOptInterface.SolverName","text":"SolverName()\n\nAn optimizer attribute for the string identifying the solver/optimizer.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.SolverVersion","page":"Models","title":"MathOptInterface.SolverVersion","text":"SolverVersion()\n\nAn optimizer attribute for the string identifying the version of the solver.\n\nnote: Note\nFor solvers supporting semantic versioning, the SolverVersion should be a string of the form \"vMAJOR.MINOR.PATCH\", so that it can be converted to a Julia VersionNumber (for example, `VersionNumber(\"v1.2.3\")).We do not require Semantic Versioning because some solvers use alternate versioning systems. For example, CPLEX uses Calendar Versioning, so SolverVersion will return a string like \"202001\".\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.Silent","page":"Models","title":"MathOptInterface.Silent","text":"Silent()\n\nAn optimizer attribute for silencing the output of an optimizer. When set to true, it takes precedence over any other attribute controlling verbosity and requires the solver to produce no output. The default value is false which has no effect. In this case the verbosity is controlled by other attributes.\n\nNote\n\nEvery optimizer should have verbosity on by default. For instance, if a solver has a solver-specific log level attribute, the MOI implementation should set it to 1 by default. If the user sets Silent to true, then the log level should be set to 0, even if the user specifically sets a value of log level. If the value of Silent is false then the log level set to the solver is the value given by the user for this solver-specific parameter or 1 if none is given.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.TimeLimitSec","page":"Models","title":"MathOptInterface.TimeLimitSec","text":"TimeLimitSec()\n\nAn optimizer attribute for setting a time limit (in seconds) for an optimization. When set to nothing, it deactivates the solver time limit. The default value is nothing.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveLimit","page":"Models","title":"MathOptInterface.ObjectiveLimit","text":"ObjectiveLimit()\n\nAn optimizer attribute for setting a limit on the objective value.\n\nThe provided limit must be a Union{Real,Nothing}.\n\nWhen set to nothing, the limit reverts to the solver's default.\n\nThe default value is nothing.\n\nThe solver may stop when the ObjectiveValue is better (lower for minimization, higher for maximization) than the ObjectiveLimit. If stopped, the TerminationStatus should be OBJECTIVE_LIMIT.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.SolutionLimit","page":"Models","title":"MathOptInterface.SolutionLimit","text":"SolutionLimit()\n\nAn optimizer attribute for setting a limit on the number of available feasible solutions.\n\nDefault values\n\nThe provided limit must be a Union{Nothing,Int}.\n\nWhen set to nothing, the limit reverts to the solver's default.\n\nThe default value is nothing.\n\nTermination criteria\n\nThe solver may stop when the ResultCount is larger than or equal to the SolutionLimit. If stopped because of this attribute, the TerminationStatus must be SOLUTION_LIMIT.\n\nSolution quality\n\nThe quality of the available solutions is solver-dependent. The set of resulting solutions is not guaranteed to contain an optimal solution.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NodeLimit","page":"Models","title":"MathOptInterface.NodeLimit","text":"NodeLimit()\n\nAn optimizer attribute for setting a limit on the number of branch-and-bound nodes explored by a mixed-integer program (MIP) solver.\n\nDefault values\n\nThe provided limit must be a Union{Nothing,Int}.\n\nWhen set to nothing, the limit reverts to the solver's default.\n\nThe default value is nothing.\n\nTermination criteria\n\nThe solver may stop when the NodeCount is larger than or equal to the NodeLimit. If stopped because of this attribute, the TerminationStatus must be NODE_LIMIT.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.RawOptimizerAttribute","page":"Models","title":"MathOptInterface.RawOptimizerAttribute","text":"RawOptimizerAttribute(name::String)\n\nAn optimizer attribute for the solver-specific parameter identified by name.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NumberOfThreads","page":"Models","title":"MathOptInterface.NumberOfThreads","text":"NumberOfThreads()\n\nAn optimizer attribute for setting the number of threads used for an optimization. When set to nothing uses solver default. Values are positive integers. The default value is nothing.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.RawSolver","page":"Models","title":"MathOptInterface.RawSolver","text":"RawSolver()\n\nA model attribute for the object that may be used to access a solver-specific API for this optimizer.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.AbsoluteGapTolerance","page":"Models","title":"MathOptInterface.AbsoluteGapTolerance","text":"AbsoluteGapTolerance()\n\nAn optimizer attribute for setting the absolute gap tolerance for an optimization. This is an optimizer attribute, and should be set before calling optimize!. When set to nothing (if supported), uses solver default.\n\nTo set a relative gap tolerance, see RelativeGapTolerance.\n\nwarning: Warning\nThe mathematical definition of \"absolute gap\", and its treatment during the optimization, are solver-dependent. However, assuming no other limit nor issue is encountered during the optimization, most solvers that implement this attribute will stop once f - b g_abs, where b is the best bound, f is the best feasible objective value, and g_abs is the absolute gap.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.RelativeGapTolerance","page":"Models","title":"MathOptInterface.RelativeGapTolerance","text":"RelativeGapTolerance()\n\nAn optimizer attribute for setting the relative gap tolerance for an optimization. This is an optimizer attribute, and should be set before calling optimize!. When set to nothing (if supported), uses solver default.\n\nIf you are looking for the relative gap of the current best solution, see RelativeGap. If no limit nor issue is encountered during the optimization, the value of RelativeGap should be at most as large as RelativeGapTolerance.\n\n# Before optimizing: set relative gap tolerance\n# set 0.1% relative gap tolerance\nMOI.set(model, MOI.RelativeGapTolerance(), 1e-3)\nMOI.optimize!(model)\n\n# After optimizing (assuming all went well)\n# The relative gap tolerance has not changed...\nMOI.get(model, MOI.RelativeGapTolerance()) # returns 1e-3\n# ... and the relative gap of the obtained solution is smaller or equal to the\n# tolerance\nMOI.get(model, MOI.RelativeGap()) # should return something ≤ 1e-3\n\nwarning: Warning\nThe mathematical definition of \"relative gap\", and its allowed range, are solver-dependent. Typically, solvers expect a value between 0.0 and 1.0.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.AutomaticDifferentiationBackend","page":"Models","title":"MathOptInterface.AutomaticDifferentiationBackend","text":"AutomaticDifferentiationBackend() <: AbstractOptimizerAttribute\n\nAn AbstractOptimizerAttribute for setting the automatic differentiation backend used by the solver.\n\nThe value must be a subtype of Nonlinear.AbstractAutomaticDifferentiation.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"List of attributes useful for optimizers","category":"page"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"TerminationStatus\nTerminationStatusCode\nOPTIMIZE_NOT_CALLED\nOPTIMAL\nINFEASIBLE\nDUAL_INFEASIBLE\nLOCALLY_SOLVED\nLOCALLY_INFEASIBLE\nINFEASIBLE_OR_UNBOUNDED\nALMOST_OPTIMAL\nALMOST_INFEASIBLE\nALMOST_DUAL_INFEASIBLE\nALMOST_LOCALLY_SOLVED\nITERATION_LIMIT\nTIME_LIMIT\nNODE_LIMIT\nSOLUTION_LIMIT\nMEMORY_LIMIT\nOBJECTIVE_LIMIT\nNORM_LIMIT\nOTHER_LIMIT\nSLOW_PROGRESS\nNUMERICAL_ERROR\nINVALID_MODEL\nINVALID_OPTION\nINTERRUPTED\nOTHER_ERROR\nPrimalStatus\nDualStatus\nRawStatusString\nResultCount\nObjectiveValue\nDualObjectiveValue\nObjectiveBound\nRelativeGap\nSolveTimeSec\nSimplexIterations\nBarrierIterations\nNodeCount","category":"page"},{"location":"moi/reference/models/#MathOptInterface.TerminationStatus","page":"Models","title":"MathOptInterface.TerminationStatus","text":"TerminationStatus()\n\nA model attribute for the TerminationStatusCode explaining why the optimizer stopped.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.TerminationStatusCode","page":"Models","title":"MathOptInterface.TerminationStatusCode","text":"TerminationStatusCode\n\nAn Enum of possible values for the TerminationStatus attribute. This attribute is meant to explain the reason why the optimizer stopped executing in the most recent call to optimize!.\n\nValues\n\nPossible values are:\n\nOPTIMIZE_NOT_CALLED: The algorithm has not started.\nOPTIMAL: The algorithm found a globally optimal solution.\nINFEASIBLE: The algorithm concluded that no feasible solution exists.\nDUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.\nLOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.\nLOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.\nINFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.\nALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.\nALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.\nALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.\nALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.\nITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.\nTIME_LIMIT: The algorithm stopped after a user-specified computation time.\nNODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.\nSOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.\nMEMORY_LIMIT: The algorithm stopped because it ran out of memory.\nOBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.\nNORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.\nOTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.\nSLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.\nNUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.\nINVALID_MODEL: The algorithm stopped because the model is invalid.\nINVALID_OPTION: The algorithm stopped because it was provided an invalid option.\nINTERRUPTED: The algorithm stopped because of an interrupt signal.\nOTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.OPTIMIZE_NOT_CALLED","page":"Models","title":"MathOptInterface.OPTIMIZE_NOT_CALLED","text":"OPTIMIZE_NOT_CALLED::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nOPTIMIZE_NOT_CALLED: The algorithm has not started.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.OPTIMAL","page":"Models","title":"MathOptInterface.OPTIMAL","text":"OPTIMAL::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nOPTIMAL: The algorithm found a globally optimal solution.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INFEASIBLE","page":"Models","title":"MathOptInterface.INFEASIBLE","text":"INFEASIBLE::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nINFEASIBLE: The algorithm concluded that no feasible solution exists.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.DUAL_INFEASIBLE","page":"Models","title":"MathOptInterface.DUAL_INFEASIBLE","text":"DUAL_INFEASIBLE::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nDUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem. If, additionally, a feasible (primal) solution is known to exist, this status typically implies that the problem is unbounded, with some technical exceptions.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.LOCALLY_SOLVED","page":"Models","title":"MathOptInterface.LOCALLY_SOLVED","text":"LOCALLY_SOLVED::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nLOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, could not find directions for improvement, or otherwise completed its search without global guarantees.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.LOCALLY_INFEASIBLE","page":"Models","title":"MathOptInterface.LOCALLY_INFEASIBLE","text":"LOCALLY_INFEASIBLE::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nLOCALLY_INFEASIBLE: The algorithm converged to an infeasible point or otherwise completed its search without finding a feasible solution, without guarantees that no feasible solution exists.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INFEASIBLE_OR_UNBOUNDED","page":"Models","title":"MathOptInterface.INFEASIBLE_OR_UNBOUNDED","text":"INFEASIBLE_OR_UNBOUNDED::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nINFEASIBLE_OR_UNBOUNDED: The algorithm stopped because it decided that the problem is infeasible or unbounded; this occasionally happens during MIP presolve.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.ALMOST_OPTIMAL","page":"Models","title":"MathOptInterface.ALMOST_OPTIMAL","text":"ALMOST_OPTIMAL::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nALMOST_OPTIMAL: The algorithm found a globally optimal solution to relaxed tolerances.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.ALMOST_INFEASIBLE","page":"Models","title":"MathOptInterface.ALMOST_INFEASIBLE","text":"ALMOST_INFEASIBLE::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nALMOST_INFEASIBLE: The algorithm concluded that no feasible solution exists within relaxed tolerances.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.ALMOST_DUAL_INFEASIBLE","page":"Models","title":"MathOptInterface.ALMOST_DUAL_INFEASIBLE","text":"ALMOST_DUAL_INFEASIBLE::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nALMOST_DUAL_INFEASIBLE: The algorithm concluded that no dual bound exists for the problem within relaxed tolerances.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.ALMOST_LOCALLY_SOLVED","page":"Models","title":"MathOptInterface.ALMOST_LOCALLY_SOLVED","text":"ALMOST_LOCALLY_SOLVED::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nALMOST_LOCALLY_SOLVED: The algorithm converged to a stationary point, local optimal solution, or could not find directions for improvement within relaxed tolerances.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.ITERATION_LIMIT","page":"Models","title":"MathOptInterface.ITERATION_LIMIT","text":"ITERATION_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nITERATION_LIMIT: An iterative algorithm stopped after conducting the maximum number of iterations.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.TIME_LIMIT","page":"Models","title":"MathOptInterface.TIME_LIMIT","text":"TIME_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nTIME_LIMIT: The algorithm stopped after a user-specified computation time.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NODE_LIMIT","page":"Models","title":"MathOptInterface.NODE_LIMIT","text":"NODE_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nNODE_LIMIT: A branch-and-bound algorithm stopped because it explored a maximum number of nodes in the branch-and-bound tree.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.SOLUTION_LIMIT","page":"Models","title":"MathOptInterface.SOLUTION_LIMIT","text":"SOLUTION_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nSOLUTION_LIMIT: The algorithm stopped because it found the required number of solutions. This is often used in MIPs to get the solver to return the first feasible solution it encounters.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.MEMORY_LIMIT","page":"Models","title":"MathOptInterface.MEMORY_LIMIT","text":"MEMORY_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nMEMORY_LIMIT: The algorithm stopped because it ran out of memory.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.OBJECTIVE_LIMIT","page":"Models","title":"MathOptInterface.OBJECTIVE_LIMIT","text":"OBJECTIVE_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nOBJECTIVE_LIMIT: The algorithm stopped because it found a solution better than a minimum limit set by the user.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NORM_LIMIT","page":"Models","title":"MathOptInterface.NORM_LIMIT","text":"NORM_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nNORM_LIMIT: The algorithm stopped because the norm of an iterate became too large.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.OTHER_LIMIT","page":"Models","title":"MathOptInterface.OTHER_LIMIT","text":"OTHER_LIMIT::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nOTHER_LIMIT: The algorithm stopped due to a limit not covered by one of the _LIMIT_ statuses above.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.SLOW_PROGRESS","page":"Models","title":"MathOptInterface.SLOW_PROGRESS","text":"SLOW_PROGRESS::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nSLOW_PROGRESS: The algorithm stopped because it was unable to continue making progress towards the solution.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NUMERICAL_ERROR","page":"Models","title":"MathOptInterface.NUMERICAL_ERROR","text":"NUMERICAL_ERROR::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nNUMERICAL_ERROR: The algorithm stopped because it encountered unrecoverable numerical error.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INVALID_MODEL","page":"Models","title":"MathOptInterface.INVALID_MODEL","text":"INVALID_MODEL::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nINVALID_MODEL: The algorithm stopped because the model is invalid.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INVALID_OPTION","page":"Models","title":"MathOptInterface.INVALID_OPTION","text":"INVALID_OPTION::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nINVALID_OPTION: The algorithm stopped because it was provided an invalid option.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INTERRUPTED","page":"Models","title":"MathOptInterface.INTERRUPTED","text":"INTERRUPTED::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nINTERRUPTED: The algorithm stopped because of an interrupt signal.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.OTHER_ERROR","page":"Models","title":"MathOptInterface.OTHER_ERROR","text":"OTHER_ERROR::TerminationStatusCode\n\nAn instance of the TerminationStatusCode enum.\n\nOTHER_ERROR: The algorithm stopped because of an error not covered by one of the statuses defined above.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.PrimalStatus","page":"Models","title":"MathOptInterface.PrimalStatus","text":"PrimalStatus(result_index::Int = 1)\n\nA model attribute for the ResultStatusCode of the primal result result_index. If result_index is omitted, it defaults to 1.\n\nSee ResultCount for information on how the results are ordered.\n\nIf result_index is larger than the value of ResultCount then NO_SOLUTION is returned.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.DualStatus","page":"Models","title":"MathOptInterface.DualStatus","text":"DualStatus(result_index::Int = 1)\n\nA model attribute for the ResultStatusCode of the dual result result_index. If result_index is omitted, it defaults to 1.\n\nSee ResultCount for information on how the results are ordered.\n\nIf result_index is larger than the value of ResultCount then NO_SOLUTION is returned.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.RawStatusString","page":"Models","title":"MathOptInterface.RawStatusString","text":"RawStatusString()\n\nA model attribute for a solver specific string explaining why the optimizer stopped.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ResultCount","page":"Models","title":"MathOptInterface.ResultCount","text":"ResultCount()\n\nA model attribute for the number of results available.\n\nOrder of solutions\n\nA number of attributes contain an index, result_index, which is used to refer to one of the available results. Thus, result_index must be an integer between 1 and the number of available results.\n\nAs a general rule, the first result (result_index=1) is the most important result (for example, an optimal solution or an infeasibility certificate). Other results will typically be alternate solutions that the solver found during the search for the first result.\n\nIf a (local) optimal solution is available, that is, TerminationStatus is OPTIMAL or LOCALLY_SOLVED, the first result must correspond to the (locally) optimal solution. Other results may be alternative optimal solutions, or they may be other suboptimal solutions; use ObjectiveValue to distinguish between them.\n\nIf a primal or dual infeasibility certificate is available, that is, TerminationStatus is INFEASIBLE or DUAL_INFEASIBLE and the corresponding PrimalStatus or DualStatus is INFEASIBILITY_CERTIFICATE, then the first result must be a certificate. Other results may be alternate certificates, or infeasible points.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveValue","page":"Models","title":"MathOptInterface.ObjectiveValue","text":"ObjectiveValue(result_index::Int = 1)\n\nA model attribute for the objective value of the primal solution result_index.\n\nIf the solver does not have a primal value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a dual solution is available), the result is undefined. Users should first check PrimalStatus before accessing the ObjectiveValue attribute.\n\nSee ResultCount for information on how the results are ordered.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.DualObjectiveValue","page":"Models","title":"MathOptInterface.DualObjectiveValue","text":"DualObjectiveValue(result_index::Int = 1)\n\nA model attribute for the value of the objective function of the dual problem for the result_indexth dual result.\n\nIf the solver does not have a dual value for the objective because the result_index is beyond the available solutions (whose number is indicated by the ResultCount attribute), getting this attribute must throw a ResultIndexBoundsError. Otherwise, if the result is unavailable for another reason (for instance, only a primal solution is available), the result is undefined. Users should first check DualStatus before accessing the DualObjectiveValue attribute.\n\nSee ResultCount for information on how the results are ordered.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ObjectiveBound","page":"Models","title":"MathOptInterface.ObjectiveBound","text":"ObjectiveBound()\n\nA model attribute for the best known bound on the optimal objective value.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.RelativeGap","page":"Models","title":"MathOptInterface.RelativeGap","text":"RelativeGap()\n\nA model attribute for the final relative optimality gap.\n\nwarning: Warning\nThe definition of this gap is solver-dependent. However, most solvers implementing this attribute define the relative gap as some variation of fracb-ff, where b is the best bound and f is the best feasible objective value.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.SolveTimeSec","page":"Models","title":"MathOptInterface.SolveTimeSec","text":"SolveTimeSec()\n\nA model attribute for the total elapsed solution time (in seconds) as reported by the optimizer.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.SimplexIterations","page":"Models","title":"MathOptInterface.SimplexIterations","text":"SimplexIterations()\n\nA model attribute for the cumulative number of simplex iterations during the optimization process.\n\nFor a mixed-integer program (MIP), the return value is the total simplex iterations for all nodes.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.BarrierIterations","page":"Models","title":"MathOptInterface.BarrierIterations","text":"BarrierIterations()\n\nA model attribute for the cumulative number of barrier iterations while solving a problem.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NodeCount","page":"Models","title":"MathOptInterface.NodeCount","text":"NodeCount()\n\nA model attribute for the total number of branch-and-bound nodes explored while solving a mixed-integer program (MIP).\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#ResultStatusCode","page":"Models","title":"ResultStatusCode","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"ResultStatusCode\nNO_SOLUTION\nFEASIBLE_POINT\nNEARLY_FEASIBLE_POINT\nINFEASIBLE_POINT\nINFEASIBILITY_CERTIFICATE\nNEARLY_INFEASIBILITY_CERTIFICATE\nREDUCTION_CERTIFICATE\nNEARLY_REDUCTION_CERTIFICATE\nUNKNOWN_RESULT_STATUS\nOTHER_RESULT_STATUS","category":"page"},{"location":"moi/reference/models/#MathOptInterface.ResultStatusCode","page":"Models","title":"MathOptInterface.ResultStatusCode","text":"ResultStatusCode\n\nAn Enum of possible values for the PrimalStatus and DualStatus attributes.\n\nThe values indicate how to interpret the result vector.\n\nValues\n\nPossible values are:\n\nNO_SOLUTION: the result vector is empty.\nFEASIBLE_POINT: the result vector is a feasible point.\nNEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.\nINFEASIBLE_POINT: the result vector is an infeasible point.\nINFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.\nNEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.\nREDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.\nNEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.\nUNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.\nOTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NO_SOLUTION","page":"Models","title":"MathOptInterface.NO_SOLUTION","text":"NO_SOLUTION::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nNO_SOLUTION: the result vector is empty.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.FEASIBLE_POINT","page":"Models","title":"MathOptInterface.FEASIBLE_POINT","text":"FEASIBLE_POINT::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nFEASIBLE_POINT: the result vector is a feasible point.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NEARLY_FEASIBLE_POINT","page":"Models","title":"MathOptInterface.NEARLY_FEASIBLE_POINT","text":"NEARLY_FEASIBLE_POINT::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nNEARLY_FEASIBLE_POINT: the result vector is feasible if some constraint tolerances are relaxed.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INFEASIBLE_POINT","page":"Models","title":"MathOptInterface.INFEASIBLE_POINT","text":"INFEASIBLE_POINT::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nINFEASIBLE_POINT: the result vector is an infeasible point.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.INFEASIBILITY_CERTIFICATE","page":"Models","title":"MathOptInterface.INFEASIBILITY_CERTIFICATE","text":"INFEASIBILITY_CERTIFICATE::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nINFEASIBILITY_CERTIFICATE: the result vector is an infeasibility certificate. If the PrimalStatus is INFEASIBILITY_CERTIFICATE, then the primal result vector is a certificate of dual infeasibility. If the DualStatus is INFEASIBILITY_CERTIFICATE, then the dual result vector is a proof of primal infeasibility.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NEARLY_INFEASIBILITY_CERTIFICATE","page":"Models","title":"MathOptInterface.NEARLY_INFEASIBILITY_CERTIFICATE","text":"NEARLY_INFEASIBILITY_CERTIFICATE::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nNEARLY_INFEASIBILITY_CERTIFICATE: the result satisfies a relaxed criterion for a certificate of infeasibility.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.REDUCTION_CERTIFICATE","page":"Models","title":"MathOptInterface.REDUCTION_CERTIFICATE","text":"REDUCTION_CERTIFICATE::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nREDUCTION_CERTIFICATE: the result vector is an ill-posed certificate; see this article for details. If the PrimalStatus is REDUCTION_CERTIFICATE, then the primal result vector is a proof that the dual problem is ill-posed. If the DualStatus is REDUCTION_CERTIFICATE, then the dual result vector is a proof that the primal is ill-posed.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.NEARLY_REDUCTION_CERTIFICATE","page":"Models","title":"MathOptInterface.NEARLY_REDUCTION_CERTIFICATE","text":"NEARLY_REDUCTION_CERTIFICATE::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nNEARLY_REDUCTION_CERTIFICATE: the result satisfies a relaxed criterion for an ill-posed certificate.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.UNKNOWN_RESULT_STATUS","page":"Models","title":"MathOptInterface.UNKNOWN_RESULT_STATUS","text":"UNKNOWN_RESULT_STATUS::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nUNKNOWN_RESULT_STATUS: the result vector contains a solution with an unknown interpretation.\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.OTHER_RESULT_STATUS","page":"Models","title":"MathOptInterface.OTHER_RESULT_STATUS","text":"OTHER_RESULT_STATUS::ResultStatusCode\n\nAn instance of the ResultStatusCode enum.\n\nOTHER_RESULT_STATUS: the result vector contains a solution with an interpretation not covered by one of the statuses defined above\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#Conflict-Status","page":"Models","title":"Conflict Status","text":"","category":"section"},{"location":"moi/reference/models/","page":"Models","title":"Models","text":"compute_conflict!\nConflictStatus\nConstraintConflictStatus\nConflictStatusCode\nConflictParticipationStatusCode\nNOT_IN_CONFLICT\nIN_CONFLICT\nMAYBE_IN_CONFLICT","category":"page"},{"location":"moi/reference/models/#MathOptInterface.compute_conflict!","page":"Models","title":"MathOptInterface.compute_conflict!","text":"compute_conflict!(optimizer::AbstractOptimizer)\n\nComputes a minimal subset of constraints such that the model with the other constraint removed is still infeasible.\n\nSome solvers call a set of conflicting constraints an Irreducible Inconsistent Subsystem (IIS).\n\nSee also ConflictStatus and ConstraintConflictStatus.\n\nNote\n\nIf the model is modified after a call to compute_conflict!, the implementor is not obliged to purge the conflict. Any calls to the above attributes may return values for the original conflict without a warning. Similarly, when modifying the model, the conflict can be discarded.\n\n\n\n\n\n","category":"function"},{"location":"moi/reference/models/#MathOptInterface.ConflictStatus","page":"Models","title":"MathOptInterface.ConflictStatus","text":"ConflictStatus()\n\nA model attribute for the ConflictStatusCode explaining why the conflict refiner stopped when computing the conflict.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ConstraintConflictStatus","page":"Models","title":"MathOptInterface.ConstraintConflictStatus","text":"ConstraintConflictStatus()\n\nA constraint attribute indicating whether the constraint participates in the conflict. Its type is ConflictParticipationStatusCode.\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ConflictStatusCode","page":"Models","title":"MathOptInterface.ConflictStatusCode","text":"ConflictStatusCode\n\nAn Enum of possible values for the ConflictStatus attribute. This attribute is meant to explain the reason why the conflict finder stopped executing in the most recent call to compute_conflict!.\n\nPossible values are:\n\nCOMPUTE_CONFLICT_NOT_CALLED: the function compute_conflict! has not yet been called\nNO_CONFLICT_EXISTS: there is no conflict because the problem is feasible\nNO_CONFLICT_FOUND: the solver could not find a conflict\nCONFLICT_FOUND: at least one conflict could be found\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.ConflictParticipationStatusCode","page":"Models","title":"MathOptInterface.ConflictParticipationStatusCode","text":"ConflictParticipationStatusCode\n\nAn Enum of possible values for the ConstraintConflictStatus attribute. This attribute is meant to indicate whether a given constraint participates or not in the last computed conflict.\n\nValues\n\nPossible values are:\n\nNOT_IN_CONFLICT: the constraint does not participate in the conflict\nIN_CONFLICT: the constraint participates in the conflict\nMAYBE_IN_CONFLICT: the constraint may participate in the conflict, the solver was not able to prove that the constraint can be excluded from the conflict\n\n\n\n\n\n","category":"type"},{"location":"moi/reference/models/#MathOptInterface.NOT_IN_CONFLICT","page":"Models","title":"MathOptInterface.NOT_IN_CONFLICT","text":"NOT_IN_CONFLICT::ConflictParticipationStatusCode\n\nAn instance of the ConflictParticipationStatusCode enum.\n\nNOT_IN_CONFLICT: the constraint does not participate in the conflict\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.IN_CONFLICT","page":"Models","title":"MathOptInterface.IN_CONFLICT","text":"IN_CONFLICT::ConflictParticipationStatusCode\n\nAn instance of the ConflictParticipationStatusCode enum.\n\nIN_CONFLICT: the constraint participates in the conflict\n\n\n\n\n\n","category":"constant"},{"location":"moi/reference/models/#MathOptInterface.MAYBE_IN_CONFLICT","page":"Models","title":"MathOptInterface.MAYBE_IN_CONFLICT","text":"MAYBE_IN_CONFLICT::ConflictParticipationStatusCode\n\nAn instance of the ConflictParticipationStatusCode enum.\n\nMAYBE_IN_CONFLICT: the constraint may participate in the conflict, the solver was not able to prove that the constraint can be excluded from the conflict\n\n\n\n\n\n","category":"constant"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"EditURL = \"https://github.com/jump-dev/MathOptInterface.jl/blob/v1.34.0/docs/src/submodules/Nonlinear/reference.md\"","category":"page"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"CurrentModule = MathOptInterface\nDocTestSetup = quote\n import MathOptInterface as MOI\nend\nDocTestFilters = [r\"MathOptInterface|MOI\"]","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#NonlinearAPI","page":"API Reference","title":"Nonlinear Modeling","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"More information can be found in the Nonlinear section of the manual.","category":"page"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear\nNonlinear.Model","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear","page":"API Reference","title":"MathOptInterface.Nonlinear","text":"Nonlinear\n\nwarning: Warning\nThe Nonlinear submodule is experimental. Until this message is removed, breaking changes may be introduced in any minor or patch release of MathOptInterface.\n\n\n\n\n\n","category":"module"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.Model","page":"API Reference","title":"MathOptInterface.Nonlinear.Model","text":"Model()\n\nThe core datastructure for representing a nonlinear optimization problem.\n\nIt has the following fields:\n\nobjective::Union{Nothing,Expression} : holds the nonlinear objective function, if one exists, otherwise nothing.\nexpressions::Vector{Expression} : a vector of expressions in the model.\nconstraints::OrderedDict{ConstraintIndex,Constraint} : a map from ConstraintIndex to the corresponding Constraint. An OrderedDict is used instead of a Vector to support constraint deletion.\nparameters::Vector{Float64} : holds the current values of the parameters.\noperators::OperatorRegistry : stores the operators used in the model.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#nonlinear_api_expressions","page":"API Reference","title":"Expressions","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.ExpressionIndex\nNonlinear.add_expression","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.ExpressionIndex","page":"API Reference","title":"MathOptInterface.Nonlinear.ExpressionIndex","text":"ExpressionIndex\n\nAn index to a nonlinear expression that is returned by add_expression.\n\nGiven data::Model and ex::ExpressionIndex, use data[ex] to retrieve the corresponding Expression.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.add_expression","page":"API Reference","title":"MathOptInterface.Nonlinear.add_expression","text":"add_expression(model::Model, expr)::ExpressionIndex\n\nParse expr into a Expression and add to model. Returns an ExpressionIndex that can be interpolated into other input expressions.\n\nexpr must be a type that is supported by parse_expression.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model();\n\njulia> x = MOI.VariableIndex(1);\n\njulia> ex = MOI.Nonlinear.add_expression(model, :($x^2 + 1))\nMathOptInterface.Nonlinear.ExpressionIndex(1)\n\njulia> MOI.Nonlinear.set_objective(model, :(sqrt($ex)))\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#nonlinear_api_parameters","page":"API Reference","title":"Parameters","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.ParameterIndex\nNonlinear.add_parameter","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.ParameterIndex","page":"API Reference","title":"MathOptInterface.Nonlinear.ParameterIndex","text":"ParameterIndex\n\nAn index to a nonlinear parameter that is returned by add_parameter. Given data::Model and p::ParameterIndex, use data[p] to retrieve the current value of the parameter and data[p] = value to set a new value.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.add_parameter","page":"API Reference","title":"MathOptInterface.Nonlinear.add_parameter","text":"add_parameter(model::Model, value::Float64)::ParameterIndex\n\nAdd a new parameter to model with the default value value. Returns a ParameterIndex that can be interpolated into other input expressions and used to modify the value of the parameter.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model()\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 0 constraints\n\njulia> x = MOI.VariableIndex(1)\nMOI.VariableIndex(1)\n\njulia> p = MOI.Nonlinear.add_parameter(model, 1.2)\nMathOptInterface.Nonlinear.ParameterIndex(1)\n\njulia> c = MOI.Nonlinear.add_constraint(model, :($x^2 - $p), MOI.LessThan(0.0))\nMathOptInterface.Nonlinear.ConstraintIndex(1)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#nonlinear_api_objectives","page":"API Reference","title":"Objectives","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.set_objective","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.set_objective","page":"API Reference","title":"MathOptInterface.Nonlinear.set_objective","text":"set_objective(model::Model, obj)::Nothing\n\nParse obj into a Expression and set as the objective function of model.\n\nobj must be a type that is supported by parse_expression.\n\nTo remove the objective, pass nothing.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model()\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 0 constraints\n\njulia> x = MOI.VariableIndex(1)\nMOI.VariableIndex(1)\n\njulia> MOI.Nonlinear.set_objective(model, :($x^2 + 1))\n\njulia> MOI.Nonlinear.set_objective(model, x)\n\njulia> MOI.Nonlinear.set_objective(model, nothing)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#nonlinear_api_constraints","page":"API Reference","title":"Constraints","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.ConstraintIndex\nNonlinear.add_constraint\nNonlinear.delete","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.ConstraintIndex","page":"API Reference","title":"MathOptInterface.Nonlinear.ConstraintIndex","text":"ConstraintIndex\n\nAn index to a nonlinear constraint that is returned by add_constraint.\n\nGiven data::Model and c::ConstraintIndex, use data[c] to retrieve the corresponding Constraint.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.add_constraint","page":"API Reference","title":"MathOptInterface.Nonlinear.add_constraint","text":"add_constraint(\n model::Model,\n func,\n set::Union{\n MOI.GreaterThan{Float64},\n MOI.LessThan{Float64},\n MOI.Interval{Float64},\n MOI.EqualTo{Float64},\n },\n)\n\nParse func and set into a Constraint and add to model. Returns a ConstraintIndex that can be used to delete the constraint or query solution information.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model();\n\njulia> x = MOI.VariableIndex(1);\n\njulia> c = MOI.Nonlinear.add_constraint(model, :($x^2), MOI.LessThan(1.0))\nMathOptInterface.Nonlinear.ConstraintIndex(1)\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.delete","page":"API Reference","title":"MathOptInterface.Nonlinear.delete","text":"delete(model::Model, c::ConstraintIndex)::Nothing\n\nDelete the constraint index c from model.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model()\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 0 constraints\n\njulia> x = MOI.VariableIndex(1)\nMOI.VariableIndex(1)\n\njulia> c = MOI.Nonlinear.add_constraint(model, :($x^2), MOI.LessThan(1.0))\nMathOptInterface.Nonlinear.ConstraintIndex(1)\n\njulia> model\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 1 constraint\n\njulia> MOI.Nonlinear.delete(model, c)\n\njulia> model\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 0 constraints\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#nonlinear_api_operators","page":"API Reference","title":"User-defined operators","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.OperatorRegistry\nNonlinear.DEFAULT_UNIVARIATE_OPERATORS\nNonlinear.DEFAULT_MULTIVARIATE_OPERATORS\nNonlinear.register_operator\nNonlinear.register_operator_if_needed\nNonlinear.assert_registered\nNonlinear.check_return_type\nNonlinear.eval_univariate_function\nNonlinear.eval_univariate_gradient\nNonlinear.eval_univariate_hessian\nNonlinear.eval_multivariate_function\nNonlinear.eval_multivariate_gradient\nNonlinear.eval_multivariate_hessian\nNonlinear.eval_logic_function\nNonlinear.eval_comparison_function","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.OperatorRegistry","page":"API Reference","title":"MathOptInterface.Nonlinear.OperatorRegistry","text":"OperatorRegistry()\n\nCreate a new OperatorRegistry to store and evaluate univariate and multivariate operators.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.DEFAULT_UNIVARIATE_OPERATORS","page":"API Reference","title":"MathOptInterface.Nonlinear.DEFAULT_UNIVARIATE_OPERATORS","text":"DEFAULT_UNIVARIATE_OPERATORS\n\nThe list of univariate operators that are supported by default.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.Nonlinear.DEFAULT_UNIVARIATE_OPERATORS\n73-element Vector{Symbol}:\n :+\n :-\n :abs\n :sign\n :sqrt\n :cbrt\n :abs2\n :inv\n :log\n :log10\n ⋮\n :airybi\n :airyaiprime\n :airybiprime\n :besselj0\n :besselj1\n :bessely0\n :bessely1\n :erfcx\n :dawson\n\n\n\n\n\n","category":"constant"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.DEFAULT_MULTIVARIATE_OPERATORS","page":"API Reference","title":"MathOptInterface.Nonlinear.DEFAULT_MULTIVARIATE_OPERATORS","text":"DEFAULT_MULTIVARIATE_OPERATORS\n\nThe list of multivariate operators that are supported by default.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> MOI.Nonlinear.DEFAULT_MULTIVARIATE_OPERATORS\n9-element Vector{Symbol}:\n :+\n :-\n :*\n :^\n :/\n :ifelse\n :atan\n :min\n :max\n\n\n\n\n\n","category":"constant"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.register_operator","page":"API Reference","title":"MathOptInterface.Nonlinear.register_operator","text":"register_operator(\n model::Model,\n op::Symbol,\n nargs::Int,\n f::Function,\n [∇f::Function],\n [∇²f::Function],\n)\n\nRegister the user-defined operator op with nargs input arguments in model.\n\nUnivariate functions\n\nf(x::T)::T must be a function that takes a single input argument x and returns the function evaluated at x. If ∇f and ∇²f are not provided, f must support any Real input type T.\n∇f(x::T)::T is a function that takes a single input argument x and returns the first derivative of f with respect to x. If ∇²f is not provided, ∇f must support any Real input type T.\n∇²f(x::T)::T is a function that takes a single input argument x and returns the second derivative of f with respect to x.\n\nMultivariate functions\n\nf(x::T...)::T must be a function that takes a nargs input arguments x and returns the function evaluated at x. If ∇f and ∇²f are not provided, f must support any Real input type T.\n∇f(g::AbstractVector{T}, x::T...)::T is a function that takes a cache vector g of length length(x), and fills each element g[i] with the partial derivative of f with respect to x[i].\n∇²f(H::AbstractMatrix, x::T...)::T is a function that takes a matrix H and fills the lower-triangular components H[i, j] with the Hessian of f with respect to x[i] and x[j] for i >= j.\n\nNotes for multivariate Hessians\n\nH has size(H) == (length(x), length(x)), but you must not access elements H[i, j] for i > j.\nH is dense, but you do not need to fill structural zeros.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.register_operator_if_needed","page":"API Reference","title":"MathOptInterface.Nonlinear.register_operator_if_needed","text":"register_operator_if_needed(\n registry::OperatorRegistry,\n op::Symbol,\n nargs::Int,\n f::Function;\n)\n\nSimilar to register_operator, but this function warns if the function is not registered, and skips silently if it already is.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.assert_registered","page":"API Reference","title":"MathOptInterface.Nonlinear.assert_registered","text":"assert_registered(registry::OperatorRegistry, op::Symbol, nargs::Int)\n\nThrow an error if op is not registered in registry with nargs arguments.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.check_return_type","page":"API Reference","title":"MathOptInterface.Nonlinear.check_return_type","text":"check_return_type(::Type{T}, ret::S) where {T,S}\n\nOverload this method for new types S to throw an informative error if a user-defined function returns the type S instead of T.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_univariate_function","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_univariate_function","text":"eval_univariate_function(\n registry::OperatorRegistry,\n op::Symbol,\n x::T,\n) where {T}\n\nEvaluate the operator op(x)::T, where op is a univariate function in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_univariate_gradient","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_univariate_gradient","text":"eval_univariate_gradient(\n registry::OperatorRegistry,\n op::Symbol,\n x::T,\n) where {T}\n\nEvaluate the first-derivative of the operator op(x)::T, where op is a univariate function in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_univariate_hessian","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_univariate_hessian","text":"eval_univariate_hessian(\n registry::OperatorRegistry,\n op::Symbol,\n x::T,\n) where {T}\n\nEvaluate the second-derivative of the operator op(x)::T, where op is a univariate function in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_multivariate_function","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_multivariate_function","text":"eval_multivariate_function(\n registry::OperatorRegistry,\n op::Symbol,\n x::AbstractVector{T},\n) where {T}\n\nEvaluate the operator op(x)::T, where op is a multivariate function in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_multivariate_gradient","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_multivariate_gradient","text":"eval_multivariate_gradient(\n registry::OperatorRegistry,\n op::Symbol,\n g::AbstractVector{T},\n x::AbstractVector{T},\n) where {T}\n\nEvaluate the gradient of operator g .= ∇op(x), where op is a multivariate function in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_multivariate_hessian","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_multivariate_hessian","text":"eval_multivariate_hessian(\n registry::OperatorRegistry,\n op::Symbol,\n H::AbstractMatrix,\n x::AbstractVector{T},\n) where {T}\n\nEvaluate the Hessian of operator ∇²op(x), where op is a multivariate function in registry.\n\nThe Hessian is stored in the lower-triangular part of the matrix H.\n\nnote: Note\nImplementations of the Hessian operators will not fill structural zeros. Therefore, before calling this function you should pre-populate the matrix H with 0.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_logic_function","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_logic_function","text":"eval_logic_function(\n registry::OperatorRegistry,\n op::Symbol,\n lhs::T,\n rhs::T,\n)::Bool where {T}\n\nEvaluate (lhs op rhs)::Bool, where op is a logic operator in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.eval_comparison_function","page":"API Reference","title":"MathOptInterface.Nonlinear.eval_comparison_function","text":"eval_comparison_function(\n registry::OperatorRegistry,\n op::Symbol,\n lhs::T,\n rhs::T,\n)::Bool where {T}\n\nEvaluate (lhs op rhs)::Bool, where op is a comparison operator in registry.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#Automatic-differentiation-backends","page":"API Reference","title":"Automatic-differentiation backends","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.Evaluator\nNonlinear.AbstractAutomaticDifferentiation\nNonlinear.ExprGraphOnly\nNonlinear.SparseReverseMode","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.Evaluator","page":"API Reference","title":"MathOptInterface.Nonlinear.Evaluator","text":"Evaluator(\n model::Model,\n backend::AbstractAutomaticDifferentiation,\n ordered_variables::Vector{MOI.VariableIndex},\n)\n\nCreate Evaluator, a subtype of MOI.AbstractNLPEvaluator, from Model.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.AbstractAutomaticDifferentiation","page":"API Reference","title":"MathOptInterface.Nonlinear.AbstractAutomaticDifferentiation","text":"AbstractAutomaticDifferentiation\n\nAn abstract type for extending Evaluator.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.ExprGraphOnly","page":"API Reference","title":"MathOptInterface.Nonlinear.ExprGraphOnly","text":"ExprGraphOnly() <: AbstractAutomaticDifferentiation\n\nThe default implementation of AbstractAutomaticDifferentiation. The only supported feature is :ExprGraph.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.SparseReverseMode","page":"API Reference","title":"MathOptInterface.Nonlinear.SparseReverseMode","text":"SparseReverseMode() <: AbstractAutomaticDifferentiation\n\nAn implementation of AbstractAutomaticDifferentiation that uses sparse reverse-mode automatic differentiation to compute derivatives. Supports all features in the MOI nonlinear interface.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#Data-structure","page":"API Reference","title":"Data-structure","text":"","category":"section"},{"location":"moi/submodules/Nonlinear/reference/","page":"API Reference","title":"API Reference","text":"Nonlinear.Node\nNonlinear.NodeType\nNonlinear.Expression\nNonlinear.Constraint\nNonlinear.adjacency_matrix\nNonlinear.parse_expression\nNonlinear.convert_to_expr\nNonlinear.ordinal_index","category":"page"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.Node","page":"API Reference","title":"MathOptInterface.Nonlinear.Node","text":"struct Node\n type::NodeType\n index::Int\n parent::Int\nend\n\nA single node in a nonlinear expression tree. Used by Expression.\n\nSee the MathOptInterface documentation for information on how the nodes and values form an expression tree.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.NodeType","page":"API Reference","title":"MathOptInterface.Nonlinear.NodeType","text":"NodeType\n\nAn enum describing the possible node types. Each Node has a .index field, which should be interpreted as follows:\n\nNODE_CALL_MULTIVARIATE: the index into operators.multivariate_operators\nNODE_CALL_UNIVARIATE: the index into operators.univariate_operators\nNODE_LOGIC: the index into operators.logic_operators\nNODE_COMPARISON: the index into operators.comparison_operators\nNODE_MOI_VARIABLE: the value of MOI.VariableIndex(index) in the user's space of the model.\nNODE_VARIABLE: the 1-based index of the internal vector\nNODE_VALUE: the index into the .values field of Expression\nNODE_PARAMETER: the index into data.parameters\nNODE_SUBEXPRESSION: the index into data.expressions\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.Expression","page":"API Reference","title":"MathOptInterface.Nonlinear.Expression","text":"struct Expression\n nodes::Vector{Node}\n values::Vector{Float64}\nend\n\nThe core type that represents a nonlinear expression. See the MathOptInterface documentation for information on how the nodes and values form an expression tree.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.Constraint","page":"API Reference","title":"MathOptInterface.Nonlinear.Constraint","text":"struct Constraint\n expression::Expression\n set::Union{\n MOI.LessThan{Float64},\n MOI.GreaterThan{Float64},\n MOI.EqualTo{Float64},\n MOI.Interval{Float64},\n }\nend\n\nA type to hold information relating to the nonlinear constraint f(x) in S, where f(x) is defined by .expression, and S is .set.\n\n\n\n\n\n","category":"type"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.adjacency_matrix","page":"API Reference","title":"MathOptInterface.Nonlinear.adjacency_matrix","text":"adjacency_matrix(nodes::Vector{Node})\n\nCompute the sparse adjacency matrix describing the parent-child relationships in nodes.\n\nThe element (i, j) is true if there is an edge from node[j] to node[i]. Since we get a column-oriented matrix, this gives us a fast way to look up the edges leaving any node (that is, the children).\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.parse_expression","page":"API Reference","title":"MathOptInterface.Nonlinear.parse_expression","text":"parse_expression(data::Model, input)::Expression\n\nParse input into a Expression.\n\n\n\n\n\nparse_expression(\n data::Model,\n expr::Expression,\n input::Any,\n parent_index::Int,\n)::Expression\n\nParse input into a Expression, and add it to expr as a child of expr.nodes[parent_index]. Existing subexpressions and parameters are stored in data.\n\nYou can extend parsing support to new types of objects by overloading this method with a different type on input::Any.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.convert_to_expr","page":"API Reference","title":"MathOptInterface.Nonlinear.convert_to_expr","text":"convert_to_expr(data::Model, expr::Expression)\n\nConvert the Expression expr into a Julia Expr.\n\nsubexpressions are represented by a ExpressionIndex object.\nparameters are represented by a ParameterIndex object.\nvariables are represented by an MOI.VariableIndex object.\n\n\n\n\n\nconvert_to_expr(\n evaluator::Evaluator,\n expr::Expression;\n moi_output_format::Bool,\n)\n\nConvert the Expression expr into a Julia Expr.\n\nIf moi_output_format = true:\n\nsubexpressions will be converted to Julia Expr and substituted into the output expression.\nthe current value of each parameter will be interpolated into the expression\nvariables will be represented in the form x[MOI.VariableIndex(i)]\n\nIf moi_output_format = false:\n\nsubexpressions will be represented by a ExpressionIndex object.\nparameters will be represented by a ParameterIndex object.\nvariables will be represented by an MOI.VariableIndex object.\n\nwarning: Warning\nTo use moi_output_format = true, you must have first called MOI.initialize with :ExprGraph as a requested feature.\n\n\n\n\n\n","category":"function"},{"location":"moi/submodules/Nonlinear/reference/#MathOptInterface.Nonlinear.ordinal_index","page":"API Reference","title":"MathOptInterface.Nonlinear.ordinal_index","text":"ordinal_index(evaluator::Evaluator, c::ConstraintIndex)::Int\n\nReturn the 1-indexed value of the constraint index c in evaluator.\n\nExample\n\njulia> import MathOptInterface as MOI\n\njulia> model = MOI.Nonlinear.Model()\nA Nonlinear.Model with:\n 0 objectives\n 0 parameters\n 0 expressions\n 0 constraints\n\njulia> x = MOI.VariableIndex(1)\nMOI.VariableIndex(1)\n\njulia> c1 = MOI.Nonlinear.add_constraint(model, :($x^2), MOI.LessThan(1.0))\nMathOptInterface.Nonlinear.ConstraintIndex(1)\n\njulia> c2 = MOI.Nonlinear.add_constraint(model, :($x^2), MOI.LessThan(1.0))\nMathOptInterface.Nonlinear.ConstraintIndex(2)\n\njulia> evaluator = MOI.Nonlinear.Evaluator(model)\nNonlinear.Evaluator with available features:\n * :ExprGraph\n\njulia> MOI.initialize(evaluator, Symbol[])\n\njulia> MOI.Nonlinear.ordinal_index(evaluator, c2) # Returns 2\n2\n\njulia> MOI.Nonlinear.delete(model, c1)\n\njulia> evaluator = MOI.Nonlinear.Evaluator(model)\nNonlinear.Evaluator with available features:\n * :ExprGraph\n\njulia> MOI.initialize(evaluator, Symbol[])\n\njulia> MOI.Nonlinear.ordinal_index(evaluator, c2) # Returns 1\n1\n\n\n\n\n\n","category":"function"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"EditURL = \"https://github.com/lanl-ansi/Juniper.jl/blob/v0.9.2/README.md\"","category":"page"},{"location":"packages/Juniper/#Juniper","page":"lanl-ansi/Juniper.jl","title":"Juniper","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"(Image: CI) (Image: codecov) (Image: Documentation)","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"Juniper (Jump Nonlinear Integer Program solver) is a solver for mixed-integer nonlinear programs. ","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"It is a heuristic which is not guaranteed to find the global optimum. If you need the global optimum, check out Alpine.","category":"page"},{"location":"packages/Juniper/#Installation","page":"lanl-ansi/Juniper.jl","title":"Installation","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"Install Juniper using the Julia package manager:","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"import Pkg\nPkg.add(\"JuMP\")","category":"page"},{"location":"packages/Juniper/#Use-with-JuMP","page":"lanl-ansi/Juniper.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"Use Juniper with JuMP as follows:","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"using JuMP, Juniper, Ipopt\nipopt = optimizer_with_attributes(Ipopt.Optimizer, \"print_level\"=>0)\noptimizer = optimizer_with_attributes(Juniper.Optimizer, \"nl_solver\"=>ipopt)\nmodel = Model(optimizer)\nv = [10, 20, 12, 23, 42]\nw = [12, 45, 12, 22, 21]\n@variable(model, x[1:5], Bin)\n@objective(model, Max, v' * x)\n@constraint(model, sum(w[i]*x[i]^2 for i in 1:5) <= 45)\noptimize!(model)\nprintln(termination_status(model))\nprintln(objective_value(model))\nprintln(value.(x))","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"The nl_solver is used by Juniper to solve continuous nonlinear sub-problems while Juniper searches for acceptable assignments to the discrete variables. A common choice is Ipopt, but any optimizer that supports the continuous relaxation of the model may be used.","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"To solve problems with more complex nonlinear functions, use the @NLconstraint and @NLobjective JuMP macros.","category":"page"},{"location":"packages/Juniper/#Documentation","page":"lanl-ansi/Juniper.jl","title":"Documentation","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"The online documentation is available at https://lanl-ansi.github.io/Juniper.jl/stable/.","category":"page"},{"location":"packages/Juniper/#Feasibility-pump","page":"lanl-ansi/Juniper.jl","title":"Feasibility pump","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"If Juniper has difficulty finding feasible solutions on your model, try adding a solver that supports integer variables (for example, HiGHS) to run a feasibility pump:","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"using JuMP, Juniper, Ipopt, HiGHS\nipopt = optimizer_with_attributes(Ipopt.Optimizer, \"print_level\" => 0)\nhighs = optimizer_with_attributes(HiGHS.Optimizer, \"output_flag\" => false)\nmodel = Model(\n optimizer_with_attributes(\n Juniper.Optimizer,\n \"nl_solver\" => ipopt,\n \"mip_solver\" => highs,\n ),\n)","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"The feasibility pump is used at the start of Juniper to find a feasible solution before the branch and bound part starts. For some classes of problems this can be a highly effective pre-processor.","category":"page"},{"location":"packages/Juniper/#Citing-Juniper","page":"lanl-ansi/Juniper.jl","title":"Citing Juniper","text":"","category":"section"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"If you find Juniper useful in your work, we kindly request that you cite the following paper or technical report:","category":"page"},{"location":"packages/Juniper/","page":"lanl-ansi/Juniper.jl","title":"lanl-ansi/Juniper.jl","text":"@inproceedings{juniper,\n Author = {Ole Kröger and Carleton Coffrin and Hassan Hijazi and Harsha Nagarajan},\n Title = {Juniper: An Open-Source Nonlinear Branch-and-Bound Solver in Julia},\n booktitle=\"Integration of Constraint Programming, Artificial Intelligence, and Operations Research\",\n pages=\"377--386\",\n year=\"2018\",\n publisher=\"Springer International Publishing\",\n isbn=\"978-3-319-93031-2\"\n}","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"EditURL = \"diet.jl\"","category":"page"},{"location":"tutorials/linear/diet/#The-diet-problem","page":"The diet problem","title":"The diet problem","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"The purpose of this tutorial is to demonstrate how to incorporate DataFrames into a JuMP model. As an example, we use classic Stigler diet problem.","category":"page"},{"location":"tutorials/linear/diet/#Required-packages","page":"The diet problem","title":"Required packages","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"This tutorial requires the following packages:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"using JuMP\nimport CSV\nimport DataFrames\nimport HiGHS\nimport Test","category":"page"},{"location":"tutorials/linear/diet/#Formulation","page":"The diet problem","title":"Formulation","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"We wish to cook a nutritionally balanced meal by choosing the quantity of each food f to eat from a set of foods F in our kitchen.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Each food f has a cost, c_f, as well as a macro-nutrient profile a_mf for each macro-nutrient m in M.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Because we care about a nutritionally balanced meal, we set some minimum and maximum limits for each nutrient, which we denote l_m and u_m respectively.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Furthermore, because we are optimizers, we seek the minimum cost solution.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"With a little effort, we can formulate our dinner problem as the following linear program:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"beginaligned\nmin sumlimits_f in F c_f x_f \ntextst l_m le sumlimits_f in F a_mf x_f le u_m forall m in M \n x_f ge 0 forall f in F\nendaligned","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"In the rest of this tutorial, we will create and solve this problem in JuMP, and learn what we should cook for dinner.","category":"page"},{"location":"tutorials/linear/diet/#Data","page":"The diet problem","title":"Data","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"First, we need some data for the problem. For this tutorial, we'll write CSV files to a temporary directory from Julia. If you have existing files, you could change the filenames to point to them instead.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"dir = mktempdir()","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"The first file is a list of foods with their macro-nutrient profile:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"food_csv_filename = joinpath(dir, \"diet_foods.csv\")\nopen(food_csv_filename, \"w\") do io\n write(\n io,\n \"\"\"\n name,cost,calories,protein,fat,sodium\n hamburger,2.49,410,24,26,730\n chicken,2.89,420,32,10,1190\n hot dog,1.50,560,20,32,1800\n fries,1.89,380,4,19,270\n macaroni,2.09,320,12,10,930\n pizza,1.99,320,15,12,820\n salad,2.49,320,31,12,1230\n milk,0.89,100,8,2.5,125\n ice cream,1.59,330,8,10,180\n \"\"\",\n )\n return\nend\nfoods = CSV.read(food_csv_filename, DataFrames.DataFrame)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Here, F is foods.name and c_f is foods.cost. (We're also playing a bit loose the term \"macro-nutrient\" by including calories and sodium.)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"We also need our minimum and maximum limits:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"nutrient_csv_filename = joinpath(dir, \"diet_nutrient.csv\")\nopen(nutrient_csv_filename, \"w\") do io\n write(\n io,\n \"\"\"\n nutrient,min,max\n calories,1800,2200\n protein,91,\n fat,0,65\n sodium,0,1779\n \"\"\",\n )\n return\nend\nlimits = CSV.read(nutrient_csv_filename, DataFrames.DataFrame)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Protein is missing data for the maximum. Let's fix that using coalesce:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"limits.max = coalesce.(limits.max, Inf)\nlimits","category":"page"},{"location":"tutorials/linear/diet/#JuMP-formulation","page":"The diet problem","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Now we're ready to convert our mathematical formulation into a JuMP model.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"First, create a new JuMP model. Since we have a linear program, we'll use HiGHS as our optimizer:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"model = Model(HiGHS.Optimizer)\nset_silent(model)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Next, we create a set of decision variables x, with one element for each row in the DataFrame, and each x has a lower bound of 0:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"@variable(model, x[foods.name] >= 0)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"To simplify things later on, we store the vector as a new column x in the DataFrame foods. Since x is a DenseAxisArray, we first need to convert it to an Array:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"foods.x = Array(x)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Our objective is to minimize the total cost of purchasing food:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"@objective(model, Min, sum(foods.cost .* foods.x));\nnothing #hide","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"For the next component, we need to add a constraint that our total intake of each component is within the limits contained in the limits DataFrame:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"@constraint(\n model,\n [row in eachrow(limits)],\n row.min <= sum(foods[!, row.nutrient] .* foods.x) <= row.max,\n);\nnothing #hide","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"What does our model look like?","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"print(model)","category":"page"},{"location":"tutorials/linear/diet/#Solution","page":"The diet problem","title":"Solution","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"Let's optimize and take a look at the solution:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"optimize!(model)\n@assert is_solved_and_feasible(model)\nTest.@test objective_value(model) ≈ 11.8288 atol = 1e-4 #hide\nsolution_summary(model)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"We found an optimal solution. Let's see what the optimal solution is:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"for row in eachrow(foods)\n println(row.name, \" = \", value(row.x))\nend","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"That's a lot of milk and ice cream, and sadly, we only get 0.6 of a hamburger.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"We can also use the function Containers.rowtable to easily convert the result into a DataFrame:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"table = Containers.rowtable(value, x; header = [:food, :quantity])\nsolution = DataFrames.DataFrame(table)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"This makes it easy to perform analyses our solution:","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"filter!(row -> row.quantity > 0.0, solution)","category":"page"},{"location":"tutorials/linear/diet/#Problem-modification","page":"The diet problem","title":"Problem modification","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"JuMP makes it easy to take an existing model and modify it by adding extra constraints. Let's see what happens if we add a constraint that we can buy at most 6 units of milk or ice cream combined.","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"dairy_foods = [\"milk\", \"ice cream\"]\nis_dairy = map(name -> name in dairy_foods, foods.name)\ndairy_constraint = @constraint(model, sum(foods[is_dairy, :x]) <= 6)\noptimize!(model)\nTest.@test !is_solved_and_feasible(model)\nTest.@test termination_status(model) == INFEASIBLE\nTest.@test primal_status(model) == NO_SOLUTION\nsolution_summary(model)","category":"page"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"There exists no feasible solution to our problem. Looks like we're stuck eating ice cream for dinner.","category":"page"},{"location":"tutorials/linear/diet/#Next-steps","page":"The diet problem","title":"Next steps","text":"","category":"section"},{"location":"tutorials/linear/diet/","page":"The diet problem","title":"The diet problem","text":"You can delete a constraint using delete(model, dairy_constraint). Can you add a different constraint to provide a diet with less dairy?\nSome food items (like hamburgers) are discrete. You can use set_integer to force a variable to take integer values. What happens to the solution if you do?","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"EditURL = \"n-queens.jl\"","category":"page"},{"location":"tutorials/linear/n-queens/#N-Queens","page":"N-Queens","title":"N-Queens","text":"","category":"section"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"This tutorial was originally contributed by Matthew Helm and Mathieu Tanneau.","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"The N-Queens problem involves placing N queens on an N x N chessboard such that none of the queens attacks another. In chess, a queen can move vertically, horizontally, and diagonally so there cannot be more than one queen on any given row, column, or diagonal.","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"(Image: Four Queens)","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"Note that none of the queens above are able to attack any other as a result of their careful placement.","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"using JuMP\nimport HiGHS\nimport LinearAlgebra","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"N-Queens","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"N = 8\n\nmodel = Model(HiGHS.Optimizer)\nset_silent(model)","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"Next, let's create an N x N chessboard of binary values. 0 will represent an empty space on the board and 1 will represent a space occupied by one of our queens:","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"@variable(model, x[1:N, 1:N], Bin);\nnothing #hide","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"Now we can add our constraints:","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"There must be exactly one queen in a given row/column","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"for i in 1:N\n @constraint(model, sum(x[i, :]) == 1)\n @constraint(model, sum(x[:, i]) == 1)\nend","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"There can only be one queen on any given diagonal","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"for i in -(N - 1):(N-1)\n @constraint(model, sum(LinearAlgebra.diag(x, i)) <= 1)\n @constraint(model, sum(LinearAlgebra.diag(reverse(x; dims = 1), i)) <= 1)\nend","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"We are ready to put our model to work and see if it is able to find a feasible solution:","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"optimize!(model)\n@assert is_solved_and_feasible(model)","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"We can now review the solution that our model found:","category":"page"},{"location":"tutorials/linear/n-queens/","page":"N-Queens","title":"N-Queens","text":"solution = round.(Int, value.(x))","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"EditURL = \"https://github.com/MAiNGO-github/MAiNGO.jl/blob/v0.2.2/README.md\"","category":"page"},{"location":"packages/MAiNGO/#MAiNGO.jl","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO.jl","text":"","category":"section"},{"location":"packages/MAiNGO/#What-is-MAiNGO?","page":"MAiNGO-github/MAiNGO.jl","title":"What is MAiNGO?","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"MAiNGO (McCormick-based Algorithm for mixed-integer Nonlinear Global Optimization) is a deterministic global optimization solver for nonconvex mixed-integer nonlinear programs (MINLPs). For more information on MAiNGO, including installation, usage, and licensing, please see the repository and the documentation.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"MAiNGO.jl is a wrapper for using MAiNGO in Julia. It requires a working installation of MAiNGO, either the standalone version with parser support (Mode A), or the shared parser library version (Mode B). When building MAiNGO from source this is configurable in the CMake configuration of MAiNGO. Per default, precompiled version of MAiNGO is used that operates in Mode B. ","category":"page"},{"location":"packages/MAiNGO/#Using-the-precompiled-version-of-MAiNGO-from-the-Julia-Package-Manager","page":"MAiNGO-github/MAiNGO.jl","title":"Using the precompiled version of MAiNGO from the Julia Package Manager","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"A Julia package containing a precompiled version of MAiNGO is available (MAiNGO_jll). This version is used by default on supported platforms (Linux/MacOs/Windows), but this can be changed (see here). The precompiled version contains only open-source components. If you would like to use commercial subsolvers with MAiNGO (for example CPLEX or KNITRO), it might still make sense to compile MAiNGO yourself and use this version rather than the precompiled one.","category":"page"},{"location":"packages/MAiNGO/#Quick-start","page":"MAiNGO-github/MAiNGO.jl","title":"Quick start","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"using MAiNGO # if this fails, you need to add the package first manually\nusing JuMP\n#Set options in constructor\nmodel=Model(optimizer_with_attributes(MAiNGO.Optimizer, \"epsilonA\"=> 1e-8))\nset_silent(model)\n\n@variable(model, x, lower_bound=-20, upper_bound=20)\n@variable(model, 0<=y<=2)\n@variable(model, 0<=z<=2)\n@variable(model, 0<=d<=2)\n@variable(model, 0<=l<=6)\n@variable(model, 0<=b<=6)\n\n@NLobjective(model, Min, y*-1*x^2*(exp(-x^2+z+d+b)+l*b))\n@NLconstraint(model,(x^2+y^2>=1))\nJuMP.optimize!(model)\n#query results\nprintln(value(x),\" \",value(y))\nprintln(termination_status(model))\nprintln(primal_status(model))","category":"page"},{"location":"packages/MAiNGO/#Using-a-custom-MAiNGO-version","page":"MAiNGO-github/MAiNGO.jl","title":"Using a custom MAiNGO version","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"If you want to make use of a MAiNGO version that you build from source yourself, you have to give the path to the correct binary file. The correct path depends on the mode of operation.","category":"page"},{"location":"packages/MAiNGO/#Modes-of-operation","page":"MAiNGO-github/MAiNGO.jl","title":"Modes of operation","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"The following library allows to call MAiNGO from Julia. Currently two modes are supported:","category":"page"},{"location":"packages/MAiNGO/#Mode-A)","page":"MAiNGO-github/MAiNGO.jl","title":"Mode A)","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Using MAiNGO standalone exe with compiled parser support. This only allows to construct the problem in JuMP and call the MAiNGO executable with the filepath. Thus, results are obtained in form of an output text file.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"If a JSON file is also written (by setting the corresponding MAiNGO option), then the contents of that file are parsed, allowing to query the model from JuMP. This requires the JSON module to be installed in Julia.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"#Set path to MAiNGO standalone exe with compiled parser support.\nENV[\"MAINGO_EXEC\"] = \"W:\\\\maingo_build\\\\Debug\\\\MAiNGO.exe\" #replace \"W:\\\\maingo_build\\\\Debug\\\\\" with path to MAiNGO.exe\nusing MAiNGO # if this fails, you need to add the package first manually\n#create model\nusing JuMP\nmodel=Model(MAiNGO.Optimizer)\n@variable(model, x, lower_bound=0, upper_bound=5)\n@variable(model, y, lower_bound=0, upper_bound=2, start=0.5)\n\n#The following also works:\n#@variable(model,x in MOI.Interval(0,5)) \n#@variable(model, 0<=x<=5)\n#For integer variables use \n#@variable(model, y in MOI.Integer(), start=0.5)\n\n@constraint(model,y+x<=5)\n@constraint(model,x+y>=4)\n#Linear objective is also possible\n#@objective(model, Max, (1 - x)*y)\n@NLobjective(model, Max, (1 - x)^2 + 100 * (y - x^2)^2)\n@NLconstraint(model,min(x^2+y^2,y)<=5+y^2)\nMOI.set(model, MOI.RawOptimizerAttribute(\"writeJson\"),1) # write JSON file to enable querying of results from JuMP\nJuMP.optimize!(model)\nprintln(objective_value(model))","category":"page"},{"location":"packages/MAiNGO/#Mode-B)","page":"MAiNGO-github/MAiNGO.jl","title":"Mode B)","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Compiling an interface presenting a C-API to Julia. This must be configured when building MAiNGO, but allows several improvements. The problem definition is passed in memory. Settings can be set from within Julia/JuMP and the results are returned as Julia variables/ are queryable from JuMP.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"For example:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"#Set path to shared library with C-API.\nENV[\"MAINGO_LIB\"]=\"W:\\\\maingo_build\\\\Debug\\\\shared_parser.dll\" #replace \"W:\\\\maingo_build\\\\Debug\\\\\" with path to shared_parser.dll\n#include the wrapper\nusing MAiNGO # if this fails, you need to add the package first manually\n\n#Set options in constructor\nmodel=Model(optimizer_with_attributes(MAiNGO.Optimizer, \"epsilonA\"=> 1e-8,\"res_name\"=>\"res_new.txt\",\"prob_name\"=>\"problem.txt\"))\n#Alternate syntax\n#model=Model(() -> MAiNGO.Optimizer(epsilonA=1e-8))#, \"options\" => options))\n\n@variable(model, x, lower_bound=-20, upper_bound=20)\n#@variable(model, y in MOI.Integer(),lower_bound=-10,upper_bound=10, start=0.5)\n#Alterntaive forms\n#@variable(model,x in MOI.Interval(0,5))\n#@variable(model,y in MOI.Interval(0,2))\n#@variable(model, 0<=x<=5)\n@variable(model, 0<=y<=2)\n@variable(model, 0<=z<=2)\n@variable(model, 0<=d<=2)\n@variable(model, 0<=l<=6)\n@variable(model, 0<=b<=6)\n#@constraint(model,y+x<=5)\n#@constraint(model,x+y>=4)\n\n@NLobjective(model, Min, y*-1*x^2*(exp(-x^2+z+d+b)+l*b))\n@NLconstraint(model,(x^2+y^2>=1))\nJuMP.optimize!(model)\n#C-API allows us to query results\nprintln(value(x),\" \",value(y))\nprintln(termination_status(model))\nprintln(primal_status(model))","category":"page"},{"location":"packages/MAiNGO/#Supported-MAiNGO-Options","page":"MAiNGO-github/MAiNGO.jl","title":"Supported MAiNGO Options","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Both modes of operation allow setting MAiNGO options through the MatOptInterface-API. An example of how to do so is given below. All numerical and boolean options that are available in MAiNGO can be set using the MOI.RawOptimizerAttribute() function. Additionally, the following options can also be set through specific other MOI functions:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Solver time limit (in seconds): MOI.TimeLimitSec()\nAbsolute gap: MOI.AbsoluteGapTolerance()\nRelative gap: MOI.RelativeGapTolerance()\nSilencing output: MOI.Silent() (this overwrites any other verbosity settings)","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"# assuming necessary paths and using-statements have already been set\nmodel = Model(MAiNGO.Optimizer)\nMOI.set(model, MOI.Silent(), true) # silence all MAiNGO output\nMOI.set(model, MOI.AbsoluteGapTolerance(), 1e-8) # set the absolute gap tolerance\nMOI.set(model, MOI.RawOptimizerAttribute(\"PRE_pureMultistart\"), 1) # example of setting an option via the MOI.RawOptimizerAttribute() function","category":"page"},{"location":"packages/MAiNGO/#Switching-between-modes,-finding-the-MAiNGO-executable","page":"MAiNGO-github/MAiNGO.jl","title":"Switching between modes, finding the MAiNGO executable","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"If you need to update the path to the MAiNGO executable during a session, this can be done as follows:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"\nusing MAiNGO\n# by default, MAiNGO_jll will be used\n# explicitly force use of standalone version (mode A)\nENV[\"MAINGO_EXEC\"] = \"W:\\\\maingo_build\\\\Debug\\\\MAiNGO.exe\"\nfindMAiNGO(preferred=MAiNGO.C_API) # see note on \"preferred\"-argument below\n# ...\n# for example switch to release version of MAiNGO\nENV[\"MAINGO_EXEC\"] = \"W:\\\\maingo_build\\\\Release\\\\MAiNGO.exe\"\nfindMAiNGO(preferred=MAiNGO.C_API)\n# now switch to C-API (mode B)\nENV[\"MAINGO_LIB\"]=\"W:\\\\maingo_build\\\\Debug\\\\shared_parser.dll\" #replace \"W:\\\\maingo_build\\\\Debug\\\\\" with path to shared_parser.dll\nfindMAiNGO(preferred=MAiNGO.C_API)\n# switch back to MAiNGO_jll\nfindMAiNGO(preferred=MAiNGO.MAINGO_JLL)","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"The findMAiNGO() function takes several optional arguments, which can be passed as keyword-arguments:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"verbose: boolean, whether or not progress on finding MAiNGO is reported. (Default value: false)\npreferred: either MAiNGO.MAINGOJLL or MAiNGO.CAPI, determines whether jll binaries or custom installation of MAiNGO is preferred. Note that the C-API is always preferred to the standalone version. If a custom standalone version should be used, set this value to C-API and pass an empty string as the capi argument (see next). (Default value: MAINGOJLL)\ncapi: string, path to C-API file. If set, this overrides the environment variable MAINGOLIB.\nstandalone: string, path to standalone executable file. If set, this overrides the environment variable MAINGO_EXEC.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"For example, to use the C-API at a new location, one could call:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"using MAiNGO\nfindMAiNGO(preferred=MAiNGO.C_API, c_api=\"path\\\\to\\\\c\\\\api\\\\shared_parser.dll\")","category":"page"},{"location":"packages/MAiNGO/#Currently-working:","page":"MAiNGO-github/MAiNGO.jl","title":"Currently working:","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Integer and binary variables.\nAffine, Quadratic and nonlinear constraints and objectives.\nOperations: min,max,*,/,+,-,-(unary), exp,log,abs,sqrt,^\nOther operations are easy to add if supported by MathOptInterface,ALE and MAiNGO.\nWriting problem defined in JuMP syntax to an ALE problem.txt and calling MAiNGO.exe on a specified path.\nAlternatively using a C-API to call MAiNGO.","category":"page"},{"location":"packages/MAiNGO/#Restrictions-compared-to-using-the-Python-or-C-interface","page":"MAiNGO-github/MAiNGO.jl","title":"Restrictions compared to using the Python or C++ interface","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"It is assumed that all variables are bounded. This interface assumes that integer variables are bounded between -1e6 and 1e6. For real variables these bounds are -1e8 and 1e8.","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Other functionality such as special support for growing datasets or MPI parallelization is not currently supported via this wrapper. Additionally, constraint formulations are simply passed from their representation in JuMP/MathOptInterface to MAiNGO. As such, there is no way to make use of advanced techniques such as defining constraints that are only used for the relaxations, using special relaxations for functions used in thermodynamics and process engineering or formulating reduced space formulations.","category":"page"},{"location":"packages/MAiNGO/#Tests","page":"MAiNGO-github/MAiNGO.jl","title":"Tests","text":"","category":"section"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"A subset of test cases for MathOptInterface solvers can be run by running the script ./test/runtests.jl. The current release was tested in the following combinations:","category":"page"},{"location":"packages/MAiNGO/","page":"MAiNGO-github/MAiNGO.jl","title":"MAiNGO-github/MAiNGO.jl","text":"Julia 1.8.5 and MathOptInterface v1.18.0\nJulia 1.9.4 and MathOptInterface v1.23.0.","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"EditURL = \"https://github.com/jump-dev/SDPNAL.jl/blob/00a3fa19f4e1235587948113b0b681da17f4dab5/README.md\"","category":"page"},{"location":"packages/SDPNAL/#SDPNAL.jl","page":"jump-dev/SDPNAL.jl","title":"SDPNAL.jl","text":"","category":"section"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"SDPNAL.jl is wrapper for the SDPNALplus solver.","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"The wrapper has two components:","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"an exported sdpnalplus function that is a thin wrapper on top of the sdpnalplus MATLAB function\nan interface to MathOptInterface","category":"page"},{"location":"packages/SDPNAL/#Affiliation","page":"jump-dev/SDPNAL.jl","title":"Affiliation","text":"","category":"section"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"This wrapper is maintained by the JuMP community and is not an official wrapper of SDPNALplus.","category":"page"},{"location":"packages/SDPNAL/#License","page":"jump-dev/SDPNAL.jl","title":"License","text":"","category":"section"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"SDPNAL.jl is licensed under the MIT License.","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"The underlying solver, SDPNALplus is licensed under the Creative Commons Attribution-ShareAlike 4.0 International Public License.","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"In addition, SDPNAL requires an installation of MATLAB, which is a closed-source commercial product for which you must obtain a license.","category":"page"},{"location":"packages/SDPNAL/#Use-with-JuMP","page":"jump-dev/SDPNAL.jl","title":"Use with JuMP","text":"","category":"section"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"To use SDPNAL with JuMP, do:","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"using JuMP, SDPNAL\nmodel = Model(SDPNAL.Optimizer)\nset_attribute(model, \"printlevel\", 0)","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"Note that, contrary to implementation of other solver-independent interfaces, using SDPNAL from JuMP or MOI fully exploits the particular structures of the SDPNAL interface and does not create superfluous slack variables and equality constraints as discussed in the SDPNAL guide:","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"A new interface is necessary to facilitate the modeling of an SDP problem for SDPNAL+ because of latter’s flexibility to directly accept inequality constraints of the form “l ≤ B(X) ≤ u”, and bound constraints of the form “L ≤ X ≤ U”. The flexibility can significantly simplify the generation of the data in the SDPNAL+ format as compared to what need to be done in CVX or YALMIP to reformulate them as equality constraints through introducing extra variables. In addition, the final number of equality constraints present in the data input to SDPNAL+ can also be substantially fewer than those present in CVX or YALMIP. It is important to note here that the number of equality constraints present in the generated problem data can greatly affect the computational efficiency of the solvers, especially for interior-point based solvers.","category":"page"},{"location":"packages/SDPNAL/#Installation","page":"jump-dev/SDPNAL.jl","title":"Installation","text":"","category":"section"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"First, make sure that you satisfy the requirements of the MATLAB.jl Julia package, and that the SDPNALplus software is installed in your MATLAB™ installation.","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"Then, install SDPNAL.jl using Pkg.add:","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"import Pkg\nPkg.add(\"SDPNAL\")","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"There is a startup.m file at the root of the SDPNAL folder. This adds all subdirectories recursively when MATLAB starts. However, the interface directory contains a .git subdirectory which contains a very large number of files. Because of this, MATLAB crashes if SDPNAL is in its path because the startup.m requests MATLAB to try to parse all the files in the .git folder. To resolve this problem, delete the startup.m file and .git folder, and add the subdirectories manually your toolbox/local/pathdef.m file as follows:","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"function p = pathdef\n\n% (...)\n\np = [...\n%%% BEGIN ENTRIES %%%\n'/path/to/SDPNALv1.0:', ...\n'/path/to/SDPNALv1.0/interface:', ...\n'/path/to/SDPNALv1.0/mexfun:', ...\n'/path/to/SDPNALv1.0/solver:', ...\n'/path/to/SDPNALv1.0/solver_main_default:', ...\n'/path/to/SDPNALv1.0/util:', ...\n% (...)","category":"page"},{"location":"packages/SDPNAL/","page":"jump-dev/SDPNAL.jl","title":"jump-dev/SDPNAL.jl","text":"If you have SDPT3 in addition to SDPNAL in the MATLAB path (that is, the toolbox/local/pathdef.m file) then you might have issues because both solvers define a validate function, and this might make SDPNAL call SDPT3's validate function instead of SDPT3's validate function.","category":"page"},{"location":"should_i_use/#Should-you-use-JuMP?","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP is an algebraic modeling language for mathematical optimization written in the Julia language.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"This page explains when you should consider using JuMP, and importantly, when you should not use JuMP.","category":"page"},{"location":"should_i_use/#When-should-you-use-JuMP?","page":"Should you use JuMP?","title":"When should you use JuMP?","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"You should use JuMP if you have a constrained optimization problem that is formulated using the language of mathematical programming, that is, the problem has:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"a set of real- or complex-valued decision variables\na scalar- or vector-valued real objective function\na set of constraints.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Key reasons to use JuMP include:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"User friendliness\nJuMP has syntax that mimics natural mathematical expressions. (See the section on algebraic modeling languages.)\nSolver independence\nJuMP uses a generic solver-independent interface provided by the MathOptInterface package, making it easy to change between a number of open-source and commercial optimization software packages (\"solvers\"). The Supported solvers section contains a table of the currently supported solvers.\nEase of embedding\nJuMP itself is written purely in Julia. Solvers are the only binary dependencies.\nJuMP provides automatic installation of most solvers.\nBecause it is embedded in a general-purpose programming language, JuMP makes it easy to solve optimization problems as part of a larger workflow, for example, inside a simulation, behind a web server, or as a subproblem in a decomposition algorithm. As a trade-off, JuMP's syntax is constrained by the syntax and functionality available in Julia.\nJuMP is MPL licensed, meaning that it can be embedded in commercial software that complies with the terms of the license.\nSpeed\nBenchmarking has shown that JuMP can create problems at similar speeds to special-purpose modeling languages such as AMPL.\nJuMP communicates with most solvers in memory, avoiding the need to write intermediary files.\nAccess to advanced algorithmic techniques\nJuMP supports efficient in-memory re-solves of models.\nJuMP provides access to solver-independent and solver-dependent Callbacks.","category":"page"},{"location":"should_i_use/#When-should-you-not-use-JuMP?","page":"Should you use JuMP?","title":"When should you not use JuMP?","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP supports a broad range of optimization classes. However, there are still some that it doesn't support, or that are better supported by other software packages.","category":"page"},{"location":"should_i_use/#You-want-to-optimize-a-complicated-Julia-function","page":"Should you use JuMP?","title":"You want to optimize a complicated Julia function","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Packages in Julia compose well. It's common for people to pick two unrelated packages and use them in conjunction to create novel behavior. JuMP isn't one of those packages.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"If you want to optimize an ordinary differential equation from DifferentialEquations.jl or tune a neural network from Flux.jl, consider using other packages such as:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Optim.jl\nOptimization.jl\nNLPModels.jl\nNonconvex.jl","category":"page"},{"location":"should_i_use/#Black-box,-derivative-free,-or-unconstrained-optimization","page":"Should you use JuMP?","title":"Black-box, derivative free, or unconstrained optimization","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP does support nonlinear programs with constraints and objectives containing user-defined operators. However, the functions must be automatically differentiable, or need to provide explicit derivatives. (See User-defined operators for more information.)","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"If your function is a black-box that is non-differentiable (for example, it is the output of a simulation written in C++), JuMP is not the right tool for the job. This also applies if you want to use a derivative free method.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Even if your problem is differentiable, if it is unconstrained there is limited benefit (and downsides in the form of more overhead) to using JuMP over tools which are only concerned with function minimization.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Alternatives to consider are:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Optim.jl\nOptimization.jl\nNLopt.jl","category":"page"},{"location":"should_i_use/#Disciplined-convex-programming","page":"Should you use JuMP?","title":"Disciplined convex programming","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP does not support disciplined convex programming (DCP).","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Alternatives to consider are:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Convex.jl\nCVXPY [Python]\nYALMIP [MATLAB]","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"note: Note\nConvex.jl is also built on MathOptInterface, and shares the same set of underlying solvers. However, you input problems differently, and Convex.jl checks that the problem is DCP.","category":"page"},{"location":"should_i_use/#Stochastic-programming","page":"Should you use JuMP?","title":"Stochastic programming","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP requires deterministic input data.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"If you have stochastic input data, consider using a JuMP extension such as:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"InfiniteOpt.jl\nStochasticPrograms.jl\nSDDP.jl","category":"page"},{"location":"should_i_use/#Polyhedral-computations","page":"Should you use JuMP?","title":"Polyhedral computations","text":"","category":"section"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"JuMP does not provide tools for working with the polyhedron formed by the set of linear constraints.","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Alternatives to consider are:","category":"page"},{"location":"should_i_use/","page":"Should you use JuMP?","title":"Should you use JuMP?","text":"Polyhedra.jl (See the documentation to create a polyhedron from a JuMP model.)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"EditURL = \"design_patterns_for_larger_models.jl\"","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Design-patterns-for-larger-models","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"JuMP makes it easy to build and solve optimization models. However, once you start to construct larger models, and especially ones that interact with external data sources or have customizable sets of variables and constraints based on client choices, you may find that your scripts become unwieldy. This tutorial demonstrates a variety of ways in which you can structure larger JuMP models to improve their readability and maintainability.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"tip: Tip\nThis tutorial is more advanced than the other \"Getting started\" tutorials. It's in the \"Getting started\" section to give you an early preview of how JuMP makes it easy to structure larger models. However, if you are new to JuMP you may want to briefly skim the tutorial, and come back to it once you have written a few JuMP models.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Overview","page":"Design patterns for larger models","title":"Overview","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"This tutorial uses explanation-by-example. We're going to start with a simple knapsack model, and then expand it to add various features and structure.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#A-simple-script","page":"Design patterns for larger models","title":"A simple script","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Your first prototype of a JuMP model is probably a script that uses a small set of hard-coded data.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"using JuMP, HiGHS\nprofit = [5, 3, 2, 7, 4]\nweight = [2, 8, 4, 2, 5]\ncapacity = 10\nN = 5\nmodel = Model(HiGHS.Optimizer)\n@variable(model, x[1:N], Bin)\n@objective(model, Max, sum(profit[i] * x[i] for i in 1:N))\n@constraint(model, sum(weight[i] * x[i] for i in 1:N) <= capacity)\noptimize!(model)\n@assert is_solved_and_feasible(model)\nvalue.(x)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"The benefits of this approach are:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"it is quick to code\nit is quick to make changes.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"The downsides include:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"all variables are global (read Performance tips)\nit is easy to introduce errors, for example, having profit and weight be vectors of different lengths, or not match N\nthe solution, x[i], is hard to interpret without knowing the order in which we provided the data.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Wrap-the-model-in-a-function","page":"Design patterns for larger models","title":"Wrap the model in a function","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"A good next step is to wrap your model in a function. This is useful for a few reasons:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"it removes global variables\nit encapsulates the JuMP model and forces you to clarify your inputs and outputs\nwe can add some error checking.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function solve_knapsack_1(profit::Vector, weight::Vector, capacity::Real)\n if length(profit) != length(weight)\n throw(DimensionMismatch(\"profit and weight are different sizes\"))\n end\n N = length(weight)\n model = Model(HiGHS.Optimizer)\n @variable(model, x[1:N], Bin)\n @objective(model, Max, sum(profit[i] * x[i] for i in 1:N))\n @constraint(model, sum(weight[i] * x[i] for i in 1:N) <= capacity)\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value.(x)\nend\n\nsolve_knapsack_1([5, 3, 2, 7, 4], [2, 8, 4, 2, 5], 10)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Create-better-data-structures","page":"Design patterns for larger models","title":"Create better data structures","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Although we can check for errors like mis-matched vector lengths, if you start to develop models with a lot of data, keeping track of vectors and lengths and indices is fragile and a common source of bugs. A good solution is to use Julia's type system to create an abstraction over your data.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"For example, we can create a struct that represents a single object, with a constructor that lets us validate assumptions on the input data:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"struct KnapsackObject\n profit::Float64\n weight::Float64\n function KnapsackObject(profit::Float64, weight::Float64)\n if weight < 0\n throw(DomainError(\"Weight of object cannot be negative\"))\n end\n return new(profit, weight)\n end\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"as well as a struct that holds a dictionary of objects and the knapsack's capacity:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"struct KnapsackData\n objects::Dict{String,KnapsackObject}\n capacity::Float64\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Here's what our data might look like now:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"objects = Dict(\n \"apple\" => KnapsackObject(5.0, 2.0),\n \"banana\" => KnapsackObject(3.0, 8.0),\n \"cherry\" => KnapsackObject(2.0, 4.0),\n \"date\" => KnapsackObject(7.0, 2.0),\n \"eggplant\" => KnapsackObject(4.0, 5.0),\n)\ndata = KnapsackData(objects, 10.0)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"If you want, you can add custom printing to make it easier to visualize:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function Base.show(io::IO, data::KnapsackData)\n println(io, \"A knapsack with capacity $(data.capacity) and possible items:\")\n for (k, v) in data.objects\n println(\n io,\n \" $(rpad(k, 8)) : profit = $(v.profit), weight = $(v.weight)\",\n )\n end\n return\nend\n\ndata","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Then, we can re-write our solve_knapsack function to take our KnapsackData as input:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function solve_knapsack_2(data::KnapsackData)\n model = Model(HiGHS.Optimizer)\n @variable(model, x[keys(data.objects)], Bin)\n @objective(model, Max, sum(v.profit * x[k] for (k, v) in data.objects))\n @constraint(\n model,\n sum(v.weight * x[k] for (k, v) in data.objects) <= data.capacity,\n )\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value.(x)\nend\n\nsolve_knapsack_2(data)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Read-in-data-from-files","page":"Design patterns for larger models","title":"Read in data from files","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Having a data structure is a good step. But it is still annoying that we have to hard-code the data into Julia. A good next step is to separate the data into an external file format; JSON is a common choice.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"json_data = \"\"\"\n{\n \"objects\": {\n \"apple\": {\"profit\": 5.0, \"weight\": 2.0},\n \"banana\": {\"profit\": 3.0, \"weight\": 8.0},\n \"cherry\": {\"profit\": 2.0, \"weight\": 4.0},\n \"date\": {\"profit\": 7.0, \"weight\": 2.0},\n \"eggplant\": {\"profit\": 4.0, \"weight\": 5.0}\n },\n \"capacity\": 10.0\n}\n\"\"\"\ntemp_dir = mktempdir()\nknapsack_json_filename = joinpath(temp_dir, \"knapsack.json\")\n# Instead of writing a new file here you could replace `knapsack_json_filename`\n# with the path to a local file.\nwrite(knapsack_json_filename, json_data);\nnothing #hide","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Now let's write a function that reads this file and builds a KnapsackData object:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"import JSON\n\nfunction read_data(filename)\n d = JSON.parsefile(filename)\n return KnapsackData(\n Dict(\n k => KnapsackObject(v[\"profit\"], v[\"weight\"]) for\n (k, v) in d[\"objects\"]\n ),\n d[\"capacity\"],\n )\nend\n\ndata = read_data(knapsack_json_filename)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Add-options-via-if-else","page":"Design patterns for larger models","title":"Add options via if-else","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"At this point, we have data in a file format which we can load and solve a single problem. For many users, this might be sufficient. However, at some point you may be asked to add features like \"but what if we want to take more than one of a particular item?\"","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"If this is the first time that you've been asked to add a feature, adding options via if-else statements is a good approach. For example, we might write:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function solve_knapsack_3(data::KnapsackData; binary_knapsack::Bool)\n model = Model(HiGHS.Optimizer)\n if binary_knapsack\n @variable(model, x[keys(data.objects)], Bin)\n else\n @variable(model, x[keys(data.objects)] >= 0, Int)\n end\n @objective(model, Max, sum(v.profit * x[k] for (k, v) in data.objects))\n @constraint(\n model,\n sum(v.weight * x[k] for (k, v) in data.objects) <= data.capacity,\n )\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value.(x)\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Now we can solve the binary knapsack:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"solve_knapsack_3(data; binary_knapsack = true)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"And an integer knapsack where we can take more than one copy of each item:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"solve_knapsack_3(data; binary_knapsack = false)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Add-configuration-options-via-dispatch","page":"Design patterns for larger models","title":"Add configuration options via dispatch","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"If you get repeated requests to add different options, you'll quickly find yourself in a mess of different flags and if-else statements. It's hard to write, hard to read, and hard to ensure you haven't introduced any bugs. A good solution is to use Julia's type dispatch to control the configuration of the model. The easiest way to explain this is by example.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"First, start by defining a new abstract type, as well as new subtypes for each of our options. These types are going to control the configuration of the knapsack model.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"abstract type AbstractConfiguration end\n\nstruct BinaryKnapsackConfig <: AbstractConfiguration end\n\nstruct IntegerKnapsackConfig <: AbstractConfiguration end","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Then, we rewrite our solve_knapsack function to take a config argument, and we introduce an add_knapsack_variables function to abstract the creation of our variables.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function solve_knapsack_4(data::KnapsackData, config::AbstractConfiguration)\n model = Model(HiGHS.Optimizer)\n x = add_knapsack_variables(model, data, config)\n @objective(model, Max, sum(v.profit * x[k] for (k, v) in data.objects))\n @constraint(\n model,\n sum(v.weight * x[k] for (k, v) in data.objects) <= data.capacity,\n )\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value.(x)\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"For the binary knapsack problem, add_knapsack_variables looks like this:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function add_knapsack_variables(\n model::Model,\n data::KnapsackData,\n ::BinaryKnapsackConfig,\n)\n return @variable(model, x[keys(data.objects)], Bin)\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"For the integer knapsack problem, add_knapsack_variables looks like this:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function add_knapsack_variables(\n model::Model,\n data::KnapsackData,\n ::IntegerKnapsackConfig,\n)\n return @variable(model, x[keys(data.objects)] >= 0, Int)\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Now we can solve the binary knapsack:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"solve_knapsack_4(data, BinaryKnapsackConfig())","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"and the integer knapsack problem:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"solve_knapsack_4(data, IntegerKnapsackConfig())","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"The main benefit of the dispatch approach is that you can quickly add new options without needing to modify the existing code. For example:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"struct UpperBoundedKnapsackConfig <: AbstractConfiguration\n limit::Int\nend\n\nfunction add_knapsack_variables(\n model::Model,\n data::KnapsackData,\n config::UpperBoundedKnapsackConfig,\n)\n return @variable(model, 0 <= x[keys(data.objects)] <= config.limit, Int)\nend\n\nsolve_knapsack_4(data, UpperBoundedKnapsackConfig(3))","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Generalize-constraints-and-objectives","page":"Design patterns for larger models","title":"Generalize constraints and objectives","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"It's easy to extend the dispatch approach to constraints and objectives as well. The key points to notice in the next two functions are that:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"we can access registered variables via model[:x]\nwe can define generic functions which accept any AbstractConfiguration as a configuration argument. That means we can implement a single method and have it apply to multiple configuration types.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function add_knapsack_constraints(\n model::Model,\n data::KnapsackData,\n ::AbstractConfiguration,\n)\n x = model[:x]\n @constraint(\n model,\n capacity_constraint,\n sum(v.weight * x[k] for (k, v) in data.objects) <= data.capacity,\n )\n return\nend\n\nfunction add_knapsack_objective(\n model::Model,\n data::KnapsackData,\n ::AbstractConfiguration,\n)\n x = model[:x]\n @objective(model, Max, sum(v.profit * x[k] for (k, v) in data.objects))\n return\nend\n\nfunction solve_knapsack_5(data::KnapsackData, config::AbstractConfiguration)\n model = Model(HiGHS.Optimizer)\n add_knapsack_variables(model, data, config)\n add_knapsack_constraints(model, data, config)\n add_knapsack_objective(model, data, config)\n optimize!(model)\n @assert is_solved_and_feasible(model)\n return value.(model[:x])\nend\n\nsolve_knapsack_5(data, BinaryKnapsackConfig())","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Remove-solver-dependence,-add-error-checks","page":"Design patterns for larger models","title":"Remove solver dependence, add error checks","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Compared to where we started, our knapsack model is now significantly different. We've wrapped it in a function, defined some data types, and introduced configuration options to control the variables and constraints that get added. There are a few other steps we can do to further improve things:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"remove the dependence on HiGHS\nadd checks that we found an optimal solution\nadd a helper function to avoid the need to explicitly construct the data.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"function solve_knapsack_6(\n optimizer,\n data::KnapsackData,\n config::AbstractConfiguration,\n)\n model = Model(optimizer)\n add_knapsack_variables(model, data, config)\n add_knapsack_constraints(model, data, config)\n add_knapsack_objective(model, data, config)\n optimize!(model)\n if !is_solved_and_feasible(model)\n @warn(\"Model not solved to optimality\")\n return nothing\n end\n return value.(model[:x])\nend\n\nfunction solve_knapsack_6(\n optimizer,\n data::String,\n config::AbstractConfiguration,\n)\n return solve_knapsack_6(optimizer, read_data(data), config)\nend\n\nsolution = solve_knapsack_6(\n HiGHS.Optimizer,\n knapsack_json_filename,\n BinaryKnapsackConfig(),\n)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Create-a-module","page":"Design patterns for larger models","title":"Create a module","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Now we're ready to expose our model to the wider world. That might be as part of a larger Julia project that we're contributing to, or as a stand-alone script that we can run on-demand. In either case, it's good practice to wrap everything in a module. This further encapsulates our code into a single namespace, and we can add documentation in the form of docstrings.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Some good rules to follow when creating a module are:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"use import in a module instead of using to make it clear which functions are from which packages\nuse _ to start function and type names that are considered private\nadd docstrings to all public variables and functions.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"module KnapsackModel\n\nimport JuMP\nimport JSON\n\nstruct _KnapsackObject\n profit::Float64\n weight::Float64\n function _KnapsackObject(profit::Float64, weight::Float64)\n if weight < 0\n throw(DomainError(\"Weight of object cannot be negative\"))\n end\n return new(profit, weight)\n end\nend\n\nstruct _KnapsackData\n objects::Dict{String,_KnapsackObject}\n capacity::Float64\nend\n\nfunction _read_data(filename)\n d = JSON.parsefile(filename)\n return _KnapsackData(\n Dict(\n k => _KnapsackObject(v[\"profit\"], v[\"weight\"]) for\n (k, v) in d[\"objects\"]\n ),\n d[\"capacity\"],\n )\nend\n\nabstract type _AbstractConfiguration end\n\n\"\"\"\n BinaryKnapsackConfig()\n\nCreate a binary knapsack problem where each object can be taken 0 or 1 times.\n\"\"\"\nstruct BinaryKnapsackConfig <: _AbstractConfiguration end\n\n\"\"\"\n IntegerKnapsackConfig()\n\nCreate an integer knapsack problem where each object can be taken any number of\ntimes.\n\"\"\"\nstruct IntegerKnapsackConfig <: _AbstractConfiguration end\n\nfunction _add_knapsack_variables(\n model::JuMP.Model,\n data::_KnapsackData,\n ::BinaryKnapsackConfig,\n)\n return JuMP.@variable(model, x[keys(data.objects)], Bin)\nend\n\nfunction _add_knapsack_variables(\n model::JuMP.Model,\n data::_KnapsackData,\n ::IntegerKnapsackConfig,\n)\n return JuMP.@variable(model, x[keys(data.objects)] >= 0, Int)\nend\n\nfunction _add_knapsack_constraints(\n model::JuMP.Model,\n data::_KnapsackData,\n ::_AbstractConfiguration,\n)\n x = model[:x]\n JuMP.@constraint(\n model,\n capacity_constraint,\n sum(v.weight * x[k] for (k, v) in data.objects) <= data.capacity,\n )\n return\nend\n\nfunction _add_knapsack_objective(\n model::JuMP.Model,\n data::_KnapsackData,\n ::_AbstractConfiguration,\n)\n x = model[:x]\n JuMP.@objective(model, Max, sum(v.profit * x[k] for (k, v) in data.objects))\n return\nend\n\nfunction _solve_knapsack(\n optimizer,\n data::_KnapsackData,\n config::_AbstractConfiguration,\n)\n model = JuMP.Model(optimizer)\n _add_knapsack_variables(model, data, config)\n _add_knapsack_constraints(model, data, config)\n _add_knapsack_objective(model, data, config)\n JuMP.optimize!(model)\n if !JuMP.is_solved_and_feasible(model)\n @warn(\"Model not solved to optimality\")\n return nothing\n end\n return JuMP.value.(model[:x])\nend\n\n\"\"\"\n solve_knapsack(\n optimizer,\n knapsack_json_filename::String,\n config::_AbstractConfiguration,\n )\n\nSolve the knapsack problem and return the optimal primal solution\n\n# Arguments\n\n * `optimizer` : an object that can be passed to `JuMP.Model` to construct a new\n JuMP model.\n * `knapsack_json_filename` : the filename of a JSON file containing the data for the\n problem.\n * `config` : an object to control the type of knapsack model constructed.\n Valid options are:\n * `BinaryKnapsackConfig()`\n * `IntegerKnapsackConfig()`\n\n# Returns\n\n * If an optimal solution exists: a `JuMP.DenseAxisArray` that maps the `String`\n name of each object to the number of objects to pack into the knapsack.\n * Otherwise, `nothing`, indicating that the problem does not have an optimal\n solution.\n\n# Example\n\n```julia\nsolution = solve_knapsack(\n HiGHS.Optimizer,\n \"path/to/data.json\",\n BinaryKnapsackConfig(),\n)\n```\n\n```julia\nsolution = solve_knapsack(\n MOI.OptimizerWithAttributes(HiGHS.Optimizer, \"output_flag\" => false),\n \"path/to/data.json\",\n IntegerKnapsackConfig(),\n)\n```\n\"\"\"\nfunction solve_knapsack(\n optimizer,\n knapsack_json_filename::String,\n config::_AbstractConfiguration,\n)\n data = _read_data(knapsack_json_filename)\n return _solve_knapsack(optimizer, data, config)\nend\n\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Finally, you can call your model:","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"import .KnapsackModel\n\nKnapsackModel.solve_knapsack(\n HiGHS.Optimizer,\n knapsack_json_filename,\n KnapsackModel.BinaryKnapsackConfig(),\n)","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"note: Note\nThe . in .KnapsackModel denotes that it is a submodule and not a separate package that we installed with Pkg.add. If you put the KnapsackModel in a separate file, load it with:include(\"path/to/KnapsackModel.jl\")\nimport .KnapsackModel","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Add-tests","page":"Design patterns for larger models","title":"Add tests","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"As a final step, you should add tests for your model. This often means testing on a small problem for which you can work out the optimal solution by hand. The Julia standard library Test has good unit-testing functionality.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"import .KnapsackModel\nusing Test\n\n@testset \"KnapsackModel\" begin\n @testset \"feasible_binary_knapsack\" begin\n x = KnapsackModel.solve_knapsack(\n HiGHS.Optimizer,\n knapsack_json_filename,\n KnapsackModel.BinaryKnapsackConfig(),\n )\n @test isapprox(x[\"apple\"], 1, atol = 1e-5)\n @test isapprox(x[\"banana\"], 0, atol = 1e-5)\n @test isapprox(x[\"cherry\"], 0, atol = 1e-5)\n @test isapprox(x[\"date\"], 1, atol = 1e-5)\n @test isapprox(x[\"eggplant\"], 1, atol = 1e-5)\n end\n @testset \"feasible_integer_knapsack\" begin\n x = KnapsackModel.solve_knapsack(\n HiGHS.Optimizer,\n knapsack_json_filename,\n KnapsackModel.IntegerKnapsackConfig(),\n )\n @test isapprox(x[\"apple\"], 0, atol = 1e-5)\n @test isapprox(x[\"banana\"], 0, atol = 1e-5)\n @test isapprox(x[\"cherry\"], 0, atol = 1e-5)\n @test isapprox(x[\"date\"], 5, atol = 1e-5)\n @test isapprox(x[\"eggplant\"], 0, atol = 1e-5)\n end\n @testset \"infeasible_binary_knapsack\" begin\n dir = mktempdir()\n infeasible_filename = joinpath(dir, \"infeasible.json\")\n write(\n infeasible_filename,\n \"\"\"{\n \"objects\": {\n \"apple\": {\"profit\": 5.0, \"weight\": 2.0},\n \"banana\": {\"profit\": 3.0, \"weight\": 8.0},\n \"cherry\": {\"profit\": 2.0, \"weight\": 4.0},\n \"date\": {\"profit\": 7.0, \"weight\": 2.0},\n \"eggplant\": {\"profit\": 4.0, \"weight\": 5.0}\n },\n \"capacity\": -10.0\n }\"\"\",\n )\n x = KnapsackModel.solve_knapsack(\n HiGHS.Optimizer,\n infeasible_filename,\n KnapsackModel.BinaryKnapsackConfig(),\n )\n @test x === nothing\n end\nend","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"tip: Tip\nPlace these tests in a separate file test_knapsack_model.jl so that you can run the tests by adding include(\"test_knapsack_model.jl\") to any file where needed.","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/#Next-steps","page":"Design patterns for larger models","title":"Next steps","text":"","category":"section"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"We've only briefly scratched the surface of ways to create and structure large JuMP models, so consider this tutorial a starting point, rather than a comprehensive list of all the possible ways to structure JuMP models. If you are embarking on a large project that uses JuMP, a good next step is to look at ways people have written large JuMP projects \"in the wild.\"","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"Here are some good examples (all co-incidentally related to energy):","category":"page"},{"location":"tutorials/getting_started/design_patterns_for_larger_models/","page":"Design patterns for larger models","title":"Design patterns for larger models","text":"AnyMOD.jl\nJuMP-dev 2021 talk\nsource code\nPowerModels.jl\nJuMP-dev 2021 talk\nsource code\nPowerSimulations.jl\nJuliaCon 2021 talk\nsource code\nUnitCommitment.jl\nJuMP-dev 2021 talk\nsource code","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"EditURL = \"multi.jl\"","category":"page"},{"location":"tutorials/linear/multi/#The-multi-commodity-flow-problem","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"This tutorial was originally contributed by Louis Luangkesorn.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"This tutorial is a JuMP implementation of the multi-commodity transportation model described in AMPL: A Modeling Language for Mathematical Programming, by R. Fourer, D.M. Gay and B.W. Kernighan.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"The purpose of this tutorial is to demonstrate creating a JuMP model from an SQLite database.","category":"page"},{"location":"tutorials/linear/multi/#Required-packages","page":"The multi-commodity flow problem","title":"Required packages","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"This tutorial uses the following packages","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"using JuMP\nimport DataFrames\nimport HiGHS\nimport SQLite\nimport Tables\nimport Test\n\nconst DBInterface = SQLite.DBInterface","category":"page"},{"location":"tutorials/linear/multi/#Formulation","page":"The multi-commodity flow problem","title":"Formulation","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"The multi-commondity flow problem is a simple extension of The transportation problem to multiple types of products. Briefly, we start with the formulation of the transportation problem:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"beginaligned\nmin sum_i in O j in D c_ij x_ij \nst sum_j in D x_i j le s_i forall i in O \n sum_i in O x_i j = d_j forall j in D \n x_i j ge 0 forall i in O j in D\nendaligned","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"but introduce a set of products P, resulting in:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"beginaligned\nmin sum_i in O j in D k in P c_ijk x_ijk \nst sum_j in D x_i j k le s_ik forall i in O k in P \n sum_i in O x_i j k = d_jk forall j in D k in P \n x_i jk ge 0 forall i in O j in D k in P \n sum_k in P x_i j k le u_ij forall i in O j in D\nendaligned","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"Note that the last constraint is new; it says that there is a maximum quantity of goods (of any type) that can be transported from origin i to destination j.","category":"page"},{"location":"tutorials/linear/multi/#Data","page":"The multi-commodity flow problem","title":"Data","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"For the purpose of this tutorial, the JuMP repository contains an example database called multi.sqlite.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"filename = joinpath(@__DIR__, \"multi.sqlite\");\nnothing #hide","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"To run locally, download multi.sqlite and update filename appropriately.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"Load the database using SQLite.DB:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"db = SQLite.DB(filename)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"A quick way to see the schema of the database is via SQLite.tables:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"SQLite.tables(db)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"We interact with the database by executing queries, and then piping the results to an appropriate table. One example is a DataFrame:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"DBInterface.execute(db, \"SELECT * FROM locations\") |> DataFrames.DataFrame","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"But other table types are supported, such as Tables.rowtable:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"DBInterface.execute(db, \"SELECT * FROM locations\") |> Tables.rowtable","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"A rowtable is a Vector of NamedTuples.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"You can construct more complicated SQL queries:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"origins =\n DBInterface.execute(\n db,\n \"SELECT location FROM locations WHERE type = \\\"origin\\\"\",\n ) |> Tables.rowtable","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"But for our purpose, we just want the list of strings:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"origins = map(y -> y.location, origins)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"We can compose these two operations to get a list of destinations:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"destinations =\n DBInterface.execute(\n db,\n \"SELECT location FROM locations WHERE type = \\\"destination\\\"\",\n ) |>\n Tables.rowtable |>\n x -> map(y -> y.location, x)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"And a list of products from our products table:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"products =\n DBInterface.execute(db, \"SELECT product FROM products\") |>\n Tables.rowtable |>\n x -> map(y -> y.product, x)","category":"page"},{"location":"tutorials/linear/multi/#JuMP-formulation","page":"The multi-commodity flow problem","title":"JuMP formulation","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"We start by creating a model and our decision variables:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"model = Model(HiGHS.Optimizer)\nset_silent(model)\n@variable(model, x[origins, destinations, products] >= 0)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"One approach when working with databases is to extract all of the data into a Julia datastructure. For example, let's pull the cost table into a DataFrame and then construct our objective by iterating over the rows of the DataFrame:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"cost = DBInterface.execute(db, \"SELECT * FROM cost\") |> DataFrames.DataFrame\n@objective(\n model,\n Max,\n sum(r.cost * x[r.origin, r.destination, r.product] for r in eachrow(cost)),\n);\nnothing #hide","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"If we don't want to use a DataFrame, we can use a Tables.rowtable instead:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"supply = DBInterface.execute(db, \"SELECT * FROM supply\") |> Tables.rowtable\nfor r in supply\n @constraint(model, sum(x[r.origin, :, r.product]) <= r.supply)\nend","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"Another approach is to execute the query, and then to iterate through the rows of the query using Tables.rows:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"demand = DBInterface.execute(db, \"SELECT * FROM demand\")\nfor r in Tables.rows(demand)\n @constraint(model, sum(x[:, r.destination, r.product]) == r.demand)\nend","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"warning: Warning\nIterating through the rows of a query result works by incrementing a cursor inside the database. As a consequence, you cannot call Tables.rows twice on the same query result.","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"The SQLite queries can be arbitrarily complex. For example, here's a query which builds every possible origin-destination pair:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"od_pairs = DBInterface.execute(\n db,\n \"\"\"\n SELECT a.location as 'origin',\n b.location as 'destination'\n FROM locations a\n INNER JOIN locations b\n ON a.type = 'origin' AND b.type = 'destination'\n \"\"\",\n)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"With a constraint that we cannot send more than 625 units between each pair:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"for r in Tables.rows(od_pairs)\n @constraint(model, sum(x[r.origin, r.destination, :]) <= 625)\nend","category":"page"},{"location":"tutorials/linear/multi/#Solution","page":"The multi-commodity flow problem","title":"Solution","text":"","category":"section"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"Finally, we can optimize the model:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"optimize!(model)\nTest.@test is_solved_and_feasible(model)\nsolution_summary(model)","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"and print the solution:","category":"page"},{"location":"tutorials/linear/multi/","page":"The multi-commodity flow problem","title":"The multi-commodity flow problem","text":"begin\n println(\" \", join(products, ' '))\n for o in origins, d in destinations\n v = lpad.([round(Int, value(x[o, d, p])) for p in products], 5)\n println(o, \" \", d, \" \", join(replace.(v, \" 0\" => \" . \"), \" \"))\n end\nend","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"EditURL = \"finance.jl\"","category":"page"},{"location":"tutorials/linear/finance/#Financial-modeling-problems","page":"Financial modeling problems","title":"Financial modeling problems","text":"","category":"section"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"This tutorial was generated using Literate.jl. Download the source as a .jl file.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"This tutorial was originally contributed by Arpit Bhatia.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Optimization models play an increasingly important role in financial decisions. Many computational finance problems can be solved efficiently using modern optimization techniques.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"In this tutorial we will discuss two such examples taken from (Cornuéjols et al., 2018).","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"This tutorial uses the following packages","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"using JuMP\nimport HiGHS","category":"page"},{"location":"tutorials/linear/finance/#Short-term-financing","page":"Financial modeling problems","title":"Short-term financing","text":"","category":"section"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Corporations routinely face the problem of financing short term cash commitments such as the following:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Month Jan Feb Mar Apr May Jun\nNet Cash Flow -150 -100 200 -200 50 300","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Net cash flow requirements are given in thousands of dollars. The company has the following sources of funds:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"A line of credit of up to $100K at an interest rate of 1% per month,\nIn any one of the first three months, it can issue 90-day commercial paper bearing a total interest of 2% for the 3-month period,\nExcess funds can be invested at an interest rate of 0.3% per month.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Our task is to find out the most economical way to use these 3 sources such that we end up with the most amount of money at the end of June.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"We model this problem in the following manner:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"We will use the following decision variables:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"the amount u_i drawn from the line of credit in month i\nthe amount v_i of commercial paper issued in month i\nthe excess funds w_i in month i","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Here we have three types of constraints:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"for every month, cash inflow = cash outflow for each month\nupper bounds on u_i\nnonnegativity of the decision variables u_i, v_i and w_i.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Our objective will be to simply maximize the company's wealth in June, which say we represent with the variable m.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"financing = Model(HiGHS.Optimizer)\n\n@variables(financing, begin\n 0 <= u[1:5] <= 100\n 0 <= v[1:3]\n 0 <= w[1:5]\n m\nend)\n\n@objective(financing, Max, m)\n\n@constraints(\n financing,\n begin\n u[1] + v[1] - w[1] == 150 # January\n u[2] + v[2] - w[2] - 1.01u[1] + 1.003w[1] == 100 # February\n u[3] + v[3] - w[3] - 1.01u[2] + 1.003w[2] == -200 # March\n u[4] - w[4] - 1.02v[1] - 1.01u[3] + 1.003w[3] == 200 # April\n u[5] - w[5] - 1.02v[2] - 1.01u[4] + 1.003w[4] == -50 # May\n -m - 1.02v[3] - 1.01u[5] + 1.003w[5] == -300 # June\n end\n)\n\noptimize!(financing)\n@assert is_solved_and_feasible(financing)\nobjective_value(financing)","category":"page"},{"location":"tutorials/linear/finance/#Combinatorial-auctions","page":"Financial modeling problems","title":"Combinatorial auctions","text":"","category":"section"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"In many auctions, the value that a bidder has for a set of items may not be the sum of the values that he has for individual items.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Examples are equity trading, electricity markets, pollution right auctions and auctions for airport landing slots.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"To take this into account, combinatorial auctions allow the bidders to submit bids on combinations of items.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Let M=12 ldots m be the set of items that the auctioneer has to sell. A bid is a pair B_j=left(S_j p_jright) where S_j subseteq M is a nonempty set of items and p_j is the price offer for this set.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"Suppose that the auctioneer has received n bids B_1 B_2 ldots B_n The goal of this problem is to help an auctioneer determine the winners in order to maximize his revenue.","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"We model this problem by taking a decision variable y_j for every bid. We add a constraint that each item i is sold at most once. This gives us the following model:","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"beginaligned\nmax sum_i=1^n p_j y_j \ntext st sum_j i in S_j y_j leq 1 forall i=12 ldots m \n y_j in01 forall j in12 ldots n\nendaligned","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"bid_values = [6 3 12 12 8 16]\nbid_items = [[1], [2], [3 4], [1 3], [2 4], [1 3 4]]\n\nauction = Model(HiGHS.Optimizer)\n@variable(auction, y[1:6], Bin)\n@objective(auction, Max, sum(y' .* bid_values))\nfor i in 1:6\n @constraint(auction, sum(y[j] for j in 1:6 if i in bid_items[j]) <= 1)\nend\noptimize!(auction)\n@assert is_solved_and_feasible(auction)\nobjective_value(auction)","category":"page"},{"location":"tutorials/linear/finance/","page":"Financial modeling problems","title":"Financial modeling problems","text":"value.(y)","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"EditURL = \"https://github.com/GAMS-dev/GAMS.jl/blob/e00a845d42653adf5d26c7cef1ef84fb990c91c7/README.md\"","category":"page"},{"location":"packages/GAMS/#GAMS.jl","page":"GAMS-dev/GAMS.jl","title":"GAMS.jl","text":"","category":"section"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"GAMS.jl provides a MathOptInterface Optimizer to solve JuMP models using GAMS.","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"GAMS comes with dozens of supported solvers. Among them are: ALPHAECP, ANTIGONE, BARON, CBC, CONOPT, CPLEX, DICOPT, GUROBI, IPOPT, KNITRO, LINDO, LINDOGLOBAL, MINOS, MOSEK, NLPEC, PATH, QUADMINOS, SBB, SHOT, SCIP, SNOPT, SOPLEX, XPRESS. Find a complete list here.","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"GAMS.jl supports the following JuMP features:","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"linear, quadratic and nonlinear (convex and non-convex) objective and constraints\ncontinuous, binary, integer, semi-continuous and semi-integer variables\nSOS1 and SOS2 sets\ncomplementarity constraints","category":"page"},{"location":"packages/GAMS/#Installation","page":"GAMS-dev/GAMS.jl","title":"Installation","text":"","category":"section"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"Download GAMS and obtain a GAMS license. Please note that GAMS also offers a free community license.\n(optional) Add the GAMS system directory to the PATH variable in order to find GAMS automatically.\nInstall GAMS.jl using the Julia package manager:\nusing Pkg\nPkg.add(\"GAMS\")","category":"page"},{"location":"packages/GAMS/#Usage","page":"GAMS-dev/GAMS.jl","title":"Usage","text":"","category":"section"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"Using GAMS as optimizer for your JuMP model:","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"using GAMS, JuMP\nmodel = Model(GAMS.Optimizer)","category":"page"},{"location":"packages/GAMS/#GAMS-System","page":"GAMS-dev/GAMS.jl","title":"GAMS System","text":"","category":"section"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"If the GAMS system directory has been added to the PATH variable (you can check this with print(ENV[\"PATH\"])), GAMS.jl will find it automatically. Otherwise, or if you like to switch between systems, the system directory can be specified by (one of the following):","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"set_optimizer_attribute(model, \"SysDir\", \"\")\nset_optimizer_attribute(model, GAMS.SysDir(), \"\")","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"Analogously, you can specify a working directory with \"WorkDir\" or GAMS.WorkDir(). If no working directory has been set, GAMS.jl will create a temporary one.","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"If you want to use the same GAMS workspace (same system and working directory) for multiple models, you can create a GAMSWorkspace first with either of the following","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"ws = GAMS.GAMSWorkspace()\nws = GAMS.GAMSWorkspace(\"\")\nws = GAMS.GAMSWorkspace(\"\", \"\")","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"and then pass it to your models:","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"model = Model(() -> GAMS.Optimizer(ws))","category":"page"},{"location":"packages/GAMS/#GAMS-Options","page":"GAMS-dev/GAMS.jl","title":"GAMS Options","text":"","category":"section"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"GAMS command line options can be specified by","category":"page"},{"location":"packages/GAMS/","page":"GAMS-dev/GAMS.jl","title":"GAMS-dev/GAMS.jl","text":"set_optimizer_attribute(model, \"

      <9_yYk*sm<;g7Jcm?d{J0!x1 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໛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 F3+!|0pvz`Tb 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%0AyYR~ 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ǒ>{pe* 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

    )O*#)Oh%OuMTOZVZnc(srAnfAQAbX-_3Q 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%0D+1=-^$roUK8d&E%eoGJ99|D-MQ=%@j;b}G72yM0 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%0Ap_@+gTRvaOxa`0j|{ z>uA()@XVlmDTt|z6X2mN_4_qhXV=d-Dp_Vw?PMjhg&eh1J)ByQid)B#(>PIR(TQGB zI8}oY`wQp_1dHp@O*4EsySzsZ?h8RxK5Y5_{vbeEesiYecEegUmzS{3#sL51VCMfq z0r}0A!sG=(nbO9=o&^@0)z*=s&B<;7@V;2TKwZNQjX^mlgbWNEt51zptV5;>pn2GI zW}R(pUYNtnyxM^cr24KwIJsjmI9(`q(wEDxyIwisi&n^OO)t@xgzmaYs!sN0o12&9 zLR%&wD0>)_sM4v0Q}@4OugjWs`1s+6ch(Gyao+ zp?Nm3IKs&Kgwvh^R-{&HbE>in z&V|Eo`0UmBmb)e%nMJx?vJ;s|l3A`MzY-VOs)}EBM#!|ZcYut6f@EnAV&dwLq$