Skip to content

Releases: jump-dev/JuMP.jl

v0.23.0

25 Feb 01:30
9b4847a
Compare
Choose a tag to compare

JuMP v0.23.0

Diff since v0.22.3

Closed issues:

  • Refactor print to using printing implemented for MOI backend (#2814)
  • Add function to set all start values for constraints and variables based on current solution (#2836)
  • [docs] Mention CasADi as an alternative to JuMP (#2871)
  • Expose NLPBlockDualStart (#2875)
  • [docs] update MILP examples to HiGHS (#2878)
  • Rename nl_ functions to nonlinear_ (#2882)
  • Symmetric vs SkewSymmetric Variables (#2884)

Merged pull requests:

  • Preliminary support for complex numbers (#2391) (@blegat)
  • [docs] improve section on constraint start values (#2861) (@odow)
  • [docs] fix typo in design patterns tutorial (#2870) (@odow)
  • [docs] add CasADi to Should I use JuMP? (#2872) (@odow)
  • Allow NaNMath 1.0 (#2873) (@mlubin)
  • [breaking] remove PrintMode instead of explicit MIME types (#2874) (@odow)
  • WIP: prep for v1.0 (#2876) (@odow)
  • Remove deprecated functionality (#2877) (@odow)
  • Add nl_dual_start_value (#2879) (@odow)
  • Fix bug in solution summary (#2880) (@odow)
  • [docs] switch from GLPK to HiGHS (#2881) (@odow)
  • [breaking] rename nl_ functions to nonlinear_ (#2885) (@odow)
  • [docs] clarify return type of SkewSymmetricMatrixSpace (#2888) (@odow)
  • [breaking] rename SymMatrixSpace to SymmetricMatrixSpace (#2889) (@odow)
  • Fix addition/substraction between variable and complex number (#2890) (@blegat)
  • Prep for v0.23 (#2891) (@odow)

v0.22.3

11 Feb 00:06
538213f
Compare
Choose a tag to compare

JuMP v0.22.3

Diff since v0.22.2

Closed issues:

  • Remove dirty flag (#2797)
  • User-defined (nonlinear) objective with vectorized variables (#2854)
  • Typo in RotatedSecondOrderCone docstring (#2855)
  • Debug TSP example on Julia 1.7 (#2862)
  • Benchmark (#2864)
  • Bug broadcasting an empty SparseAxisArray (#2867)

Merged pull requests:

  • [docs] Add introduction sections to tutorials (#2850) (@odow)
  • [docs] update cutting stock algorithm (#2851) (@odow)
  • [docs] Fix typo in TSP tutorial (#2852) (@odow)
  • [docs] Update Benders decomposition algorithm (#2853) (@odow)
  • Fix typo in docstring of RotatedSecondOrderCone (#2856) (@sean-lo)
  • [docs] fix start value in max_cut_sdp (#2857) (@odow)
  • Add warning and improve docs for modify-then-query (#2858) (@odow)
  • [docs] update to MOI v0.10.8 and bump SCS (#2860) (@odow)
  • Make Random seed more explicit (#2863) (@jd-foster)
  • Bump JuliaFormatter to v0.22.2 (#2865) (@odow)
  • Add Aqua.jl as a CI job (#2866) (@odow)
  • [Containers] fix broadcasting over empty SparseAxisArray (#2868) (@odow)
  • Prep for v0.22.3 (#2869) (@odow)

v0.22.2

10 Jan 21:19
f63cdaa
Compare
Choose a tag to compare

JuMP v0.22.2

Diff since v0.22.1

Closed issues:

  • Problematic dirty flag change (#2809)
  • operate!! not defined error (#2821)
  • CartesianIndex as keys in a DenseAxisArray (#2825)
  • Error message copyin certain types with copy_model (#2828)
  • In: Contribute code to JuMP, talk about JuliaFormatter (#2834)
  • Implement set_start_value for constraint indices (#2835)
  • Make plural macros (e.g. @variables) return collections of the defined objects (#2837)
  • Unrecognized min and max NLP Functions (#2841)

Merged pull requests:

v0.22.1

29 Nov 06:47
313ad90
Compare
Choose a tag to compare

JuMP v0.22.1

Diff since v0.22.0

Closed issues:

  • LoadError after updating from version 0.21.10 to 0.22.0 (#2799)
  • Optimizer Attributes Not Standardized (#2805)
  • Export MOI.OptimizationSense (#2807)
  • define Base.isempty or is_empty for JuMP models (#2810)

Merged pull requests:

v0.22.0

10 Nov 03:32
744888c
Compare
Choose a tag to compare

JuMP v0.22.0

Diff since v0.21.10

Closed issues:

  • Should we define zero(AffExpr) and one(AffExpr)? (#1151)
  • set constraint names from @constraint macro (#1166)
  • Precompile JuMP (#1181)
  • Performance regressions from v0.18 (#1403)
  • Bridges in Manual mode with solver not supporting default_copy_to (#1627)
  • Performance of small constraints (#1654)
  • Decide whether to export MOI. (#1789)
  • inequality syntax for set constraints (#1798)
  • Exported functions with no doc (#1825)
  • Generate a PDF version of the docs (#1881)
  • Cannot retrieve vector created with string name (#1895)
  • Optimize time to add constraints JuMP 0.19.0 (#1905)
  • provide function which composes names (#1936)
  • Error message for anonymous variables (#1938)
  • Macros should use add_variables & add_constraints rather than singular methods (#1939)
  • [Needs MOI 0.9.21] AffExpr in ZeroOne does not work (#1943)
  • Better error messages for vector variable bounds (#2056)
  • SparseAxisArray does not implement size (#2117)
  • Better error message for sparse RHS terms in vector constraints (#2162)
  • Print constraints/variables in set form instead of scalarized (#2171)
  • Remove variable_type (#2174)
  • Feature request: reuse a variable name in @variable on non-overlapping indices (#2200)
  • Clean up and document parse_constraint (#2236)
  • Custom attributes not queried correctly with caching optimizer (#2587)
  • parse_one_operator_constraint: clash with parse_ternary_constraint when there are four arguments (#2246)
  • Address invalidations to speed up compile time (#2273)
  • Sparse array addition with diagonal is dense (#2309)
  • Subtle trap with semicolon syntax (#2318)
  • [Feature Request] Error Function Keyword Argument for Macros (#2333)
  • Container with a dictionary as the dimension (#2424)
  • JuMP v0.18.6 doesn't compile in Julia v1.6 (#2438)
  • Fix TODOs in print.jl (#2446)
  • sum comparison parses wrongly without error (#2461)
  • Document extensions (#2485)
  • Support anonymous NL parameters (#2510)
  • Do not add infinite bounds (#2634)
  • Feasibility checker with function (#2526)
  • Ordering of function arguments (#2539)
  • Error on modify-then-query (#2566)
  • Improve error when singular macro used instead of plural (#2582)
  • Disallow multiple positional arguments in the @variable macro (#2583)
  • Improve error for Interval constraints with non-constant set (#2599)
  • Public API for Building Containers in Macros (#2604)
  • Auto-register is incorrect when splatting (#2609)
  • Unhelpful error message for @NLparameter (#2620)
  • Error message improvement for value(Array of NLexpression) (#2635)
  • Rename .m field of some structs (#2636)
  • Document callback gotchas (#2642)
  • Add name keyword to macros (#2643)
  • Constructor of Array with DenseAxisArray (#2644)
  • Names lost from model when read from file (#2647)
  • copy conflict fails when model has parameters (#2649)
  • Surprising argument ordering in macros (#2651)
  • Model that builds in v0.21.8 errors in v0.21.9 with "constraints are not supported" (#2654)
  • Do not set names if the solver does not support it (#2655)
  • Write a tutorial solving parametric problems (#2663)
  • Documentation improvements (#2675)
  • Stop returning MA.Zero() from expressions (#2677)
  • Implement owner_model for expressions (#2678)
  • set_dual_start_value() error (#2679)
  • Improve error message of unsupported constraints (#2680)
  • Large SparseAxisArrays get stuck on show (#2683)
  • Bug using "/" before the variable in @variable macro (#2692)
  • Error thrown when pushing a DenseAxisArray into a set (#2696)
  • erronerous output in solution_summary (Barrier/Simplex iterations) (#2697)
  • Usage Question (#2715)
  • gh-pages branch can get big with push_preview=true (#2721)
  • Size of gh-pages branch (#2727)
  • Copy in Array constructor from DenseAxisArray (#2766)
  • Follow bang convention (#2767)
  • Make delete, is_valid and set_objective_coefficient consistent with other methods (#2769)
  • Add get/set_variable/constraint_attribute (#2770)
  • Should SparseAxisArray <: AbstractArray? (#2783)
  • Fix DiffRules compat (#2793)

Merged pull requests:

  • Fix bug broadcasting constraints with sparse terms (#2558) (@odow)
  • [breaking] Ignore infinite variable bounds (#2618) (@odow)
  • Add vector of scalar variables with in syntax (#2657) (@joaquimg)
  • Style guide: using Foo: Foo is an acceptable substitute for import Foo (#2682) (@DilumAluthge)
  • Add MadNLP.jl to suppported solvers (#2684) (@sshin23)
  • Improve error message of unsupported constraints (#2685) (@odow)
  • Fix performance of show on SparseAxisArray (#2686) (@odow)
  • [docs] Clarify read_from_file does not register names (#2687) (@odow)
  • [docs] Clarify callback gotchas (#2688) (@odow)
  • [Containers] add Array constructor for DenseAxisArray (#2689) (@odow)
  • Make NonlinearExpression <: AbstractJuMPScalar (#2690) (@odow)
  • Move release notes to documentation (#2691) (@odow)
  • [docs] update build to Julia 1.6 (#2693) (@odow)
  • [breaking] remove deprecated LP sensitivity (#2694) (@odow)
  • [breaking] update to MOI v0.10 (#2695) (@odow)
  • Fix barrier/simplex iteration swap in summary (#2698) (@blegat)
  • [breaking] rename .m field of some structs to .model (#2699) (@odow)
  • [docs] Fix invalid local links (#2700) (@odow)
  • [breaking] make ::Function first argument of value (#2701) (@odow)
  • Remove variable_type and constraint_type (#2702) (@odow)
  • Fix deprecation of VectorQuadraticFunction (#2703) (@odow)
  • Do not set Name attributes if unsupported (#2704) (@odow)
  • Only shift constant if supported (#2705) (@odow)
  • Warn when copying unknown extension data (#2706) (@odow)
  • [Containers] Implement Base.hash (#2707) (@odow)
  • Throw better error for singular macros (#2708) (@odow)
  • [breaking] Reset model to OPTIMIZE_NOT_CALLED if model is modified after optimize (#2709) (@odow)
  • Add primal_feasibility_report(::Function (#2710) (@odow)
  • Improve error for non-constant Interval constraints (#2712) (@odow)
  • [Containers] convert axes to AbstractVector in DenseAxisArray (#2713) (@odow)
  • Clarify documentation of build_variable (#2714) (@odow)
  • [docs] Document zero and one gotchas for expressions (#2716) (@odow)
  • Clean up NLparameter macro and improve tests (#2718) (@odow)
  • [breaking] Add anonymous NLparameters and registered named parameters (#2719) (@odow)
  • [docs] Clarify user-defined containers (#2720) (@odow)
  • Refactor test/macros.jl into functional form (#2722) (@odow)
  • Add proper benchmarking scripts (#2723) (@odow)
  • Doc cleanup workflow (#2724) (@guilhermebodin)
  • Add better error messages for vectors passed as variable bounds (#2725) (@odow)
  • [docs] add examples to extension documentation (#2726) (@odow)
  • Improve error message for invalidly named containers (#2728) (@odow)
  • Add error message for variable comparison with number (#2729) (@odow)
  • Warn if DenseAxisArray is passed Number as axis (#2730) (@odow)
  • [breaking] Make moi_xxx functions private (#2731) (@odow)
  • [breaking] Deprecate SDconstraint and add new syntax for PSDCone constraints (#2732) (@odow)
  • Add set inequality syntax for any set (#2733) (@odow)
  • Don't return MA.Zero from expressions (#2734) (@odow)
  • [breaking] refactor the parse_constraint methods (#2736) (@odow)
  • Fixing a missed case in the OR logic in tips_and_tricks.jl (#2737) (@jlwether)
  • [docs] Improve documentation for name and set_name (#2738) (@odow)
  • Set names for anonymous constraints (#2739) (@odow)
  • Add a test for reordering kwargs in macros (#2740) (@odow)
  • Add fallbacks for == 0 of expressions (#2741) (@odow)
  • [docs] Clarify usage of set_optimizer and add docs for relax_integrality (#2742) (@odow)
  • [docs] move contributing guide to docs and expand (#2743) (@odow)
  • [breaking] remove unused Containers.generate_container (#2744) (@odow)
  • [docs] variety of minor changes (#2745) (@odow)
  • [Containers] cleanup and document the macro API (#2746) (@odow)
  • [docs] better clarify variable bound on LHS error (#2747) (@odow)
  • Style improvements to aff_expr.jl (#2749) (@odow)
  • [Containers] document nested and vectorized_product (#2751) (@odow)
  • Fix TODO items in print.jl (#2752) (@odow)
  • Fix incorrect auto register of splats (#2753) (@odow)
  • Relax type restriction in _parse_ref_sets (#2754) (@odow)
  • [docs] improve extensions.md (#2755) (@odow)
  • [breaking] Make moi_backend a concrete type and remove MANUAL mode (#2756) (@odow)
  • [docs] Various improvements to getting started tutorials (#2757) (@odow)
  • Work-around bug in MutableArithmetics (#2758) (@odow)
  • [docs] revise and improve power_systems tutorial (#2759) (@odow)
  • Build docs as a PDF (#2760) (@odow)
  • [docs] reorganization of tutorials (#2761) (@odow)
  • [Containers] maintenance of SparseAxisArray.jl (#2762) (@odow)
  • [docs] Various minor changes to the docs (#2763) (@odow)
  • Add release notes for 0.22 (#2764) (@odow)
  • Improve docstring links for xxx_status (#2765) (@odow)
  • [Containers] make Array copy the data (#2768) (@odow)
  • [docs] Use local image for space shuttle example (#2771) (@odow)
  • [docs] tweak intro docs and expand installation (#2772) (@odow)
  • [docs] edit the getting started tutorials (#2773) (@odow)
  • [Containers] throw nice error for size(::SparseAxisArray) (#2774) (@odow)
  • [docs] revise diet tutorial (#2775) (@odow)
  • [docs] revise cannery tutorial (#2776) (@odow)
  • [docs] revise diet tutorial II (#2777) (@odow)
  • [docs] add sets and indexing tutorial (#2778) (@odow)
  • [docs] update footer link to source files (#2779) (@odow)
  • Update to MOI 0.10.4 (#2780) (@odow)
  • [docs] fix admonition in callbacks.md (#2781) (@odow)
  • Export Result and Termination status codes (#2782) (@odow)
  • [docs] edit models.jl (#2785) (@odow)
  • [docs] Clarify MOI symbol imports (#2787) (@odow)
  • Update release_notes.md (#2789) (@odow)
  • Prep for v0.22 release (#2790) (@odow)
  • [docs] General edit for common tics (#2791) (@odow)
  • Temporarily limit DiffRules.jl compat (#2792) (@odow)
  • Revert PR2792 (#2795) (@odow)

v0.21.10

05 Sep 03:15
c9e7a89
Compare
Choose a tag to compare

JuMP v0.21.10

Diff since v0.21.9

Closed issues:

  • Migrate JuMPTutorials (#2483)
  • Add add_NL_expression function (#2506)
  • Throw better error in lp_sensitivity_report (#2569)
  • Unhelpful error message for affine and quadratic expression combination (#2622)
  • Bugs in solution summary when results not available (#2648)
  • Errors when running JuMP examples from documentation (ERROR: LoadError: UndefVarError: optimize! not defined) (#2656)
  • Run JuliaFormatter on tutorials (#2659)
  • Defining a problem when an analytical expression exists for the Jacobian (#2670)
  • Extend Raw NLP Expr Input to Allow AffExprs and QuadExprs (#2671)
  • Format failing on master (#2673)

Merged pull requests:

v0.21.9

01 Aug 01:39
784533b
Compare
Choose a tag to compare

JuMP v0.21.9

Diff since v0.21.8

Closed issues:

  • Should SparseAxisArray be an AbstractDict? (#2176)
  • Certain base functions on JuMP constraints not implemented for NLconstraints. (#2355)
  • Replace Containers with an external package (#2523)
  • Support Containers in VectorConstraints (#2563)
  • Add a function to get inner-most optimizer (#2565)
  • Discuss start-up latency in performance tips (#2577)
  • Logo thoughts (#2581)
  • Document solver-dependent callbacks (#2588)
  • Document that delete does not call unregister (#2589)
  • Better document SOS1 and SOS2 (#2591)
  • Pluralisation of @NLparameters (#2593)
  • Enhance Usability of Variable(s)ConstrainedOnCreation for Extensions (#2594)
  • Add an @register macro (#2606)
  • Documentation is broken (#2607)
  • Type-stability of add_constraint (#2611)
  • doctest failure on v1.7 (#2623)
  • stable printing for SparseAxisArray.jl (#2624)
  • Affine expressions are slow (#2628)
  • objective_value(model) returns the wrong objective function evaluation (#2637)
  • User-defined gradients need to accept AbstractVector (#2638)
  • Dual value computation / convention? (#2640)

Merged pull requests:

v0.21.8

08 May 23:09
4f6abf8
Compare
Choose a tag to compare

JuMP v0.21.8

Diff since v0.21.7

Closed issues:

  • Constant in sum and prod (#2097)
  • JuMP logo on night/dark theme (#2492)
  • type unstability with container generation (#2552)
  • LP sensitivity summary doesn't handle nonbasic free variables correctly (#2560)
  • Deprecated Base.warn_once (#2567)
  • Allow Extra Positional Arguments for @constraint (#2573)

Merged pull requests:

v0.21.7

12 Apr 08:29
843c196
Compare
Choose a tag to compare

JuMP v0.21.7

Diff since v0.21.6

Closed issues:

  • Slicing DenseAxisArrays (#287)
  • An efficient way to verify the feasibility of provided solution (#693)
  • getvalue slow for nonlinear expressions (#746)
  • Make JuMP.register optional (#808)
  • Scope of index variables (#858)
  • Base.show(model) calling print on Jupyter (#957)
  • Suggestions for Documentation Improvements (#1062)
  • Fixing axes(::JuMPArray) (#1623)
  • Summary section for how containers work (#1663)
  • Missing style guide points (#1780)
  • MethodError: Unexpected keyword argument to at-variable (#1884)
  • Define haskey on model (#1887)
  • Does JuMP support max and min operator in the constraint (#1889)
  • [Useability] @constraint and @variable: cannot use an iterator (#1915)
  • Bug when formulating LMI constraint with sparse matrices (#1950)
  • DenseAxisArray with vector of vector of indices (#2012)
  • Make ReferenceMap support indexing with containers? (#2019)
  • "reregister" a function? (#2058)
  • Document that nonlinear expressions cannot be built outside of a macro (#2060)
  • Style: in vs = for index variables in macros (#2104)
  • VectorOfVariable to VectorAffineFunction does not keep variable indices? (#2167)
  • Update example using variable_type (#2173)
  • Feature Request: Report table for query solutions (#2191)
  • Feature Request: Reified constraint (#2215)
  • Explain difference of parameter and variable? (#2500)
  • set_start_value only accept numbers (#2237)
  • Generalize modification functions (#2256)
  • Broadcasting over multiple DenseAxisArrays (#2267)
  • Assignment allowed in macros where it shouldn't be (#2289)
  • Bool.(::DenseAxisArray) errors (#2291)
  • Docs: explain package incompatibility (#2296)
  • nonlinear complementary constraints (#2308)
  • Feature request: implement getindex for expressions (#2371)
  • [docs] add page on AML concepts (#2412)
  • Bug copying models with quadratic expressions (#2425)
  • [docs] improve nonlinear docs (#2430)
  • Inconsistance between @NLobjective and @objective (#2448)
  • TypeError when using rad2deg in a @NLexpression (#2455)
  • Restore multiline LaTeX (#2460)
  • Documentation suggestions from Discourse (#2487)
  • Documentation failing on master with MOI 0.9.20 (#2495)
  • Register non linear parameters in the model (#2509)
  • JuMP appears unable to recognise that a matrix is positive definite (#2517)

Merged pull requests:

v0.21.6

28 Jan 23:44
5fec8c0
Compare
Choose a tag to compare

JuMP v0.21.6

Diff since v0.21.5

Closed issues:

  • @test_macro_throws and coverage (#1331)
  • erf not defined (#1803)
  • Improvements to the Solver Table (#1894)
  • \in not supported in constraint macro (#1896)
  • Deleting constraint in order to modify it not possible due to name registered in model (#1956)
  • Cannot iterate over keys of a variable in 0.18.4 (#2007)
  • Constraint being violated in a nonlinear model (#2037)
  • type assert failing when displaying direct_model(Gurobi.Optimizer()) (#2045)
  • Expose and document dual warm starts (#2094)
  • Add support for CallbackNodeStatus (#2123)
  • Print bridge graph (#2142)
  • Support for skew-symmetric matrix variables (#2146)
  • Sparse Matrix multiplied by variable vector with Julia v1.0.5 and 1.3 (#2163)
  • Problem with dot broadcasting with sums of empty sets (#2195)
  • Improve performance of LP sensitivity summary (#2244)
  • Powers print incorrectly in IJulia mode (#2293)
  • Recommend using multiple dispatch instead of isa to check types (#2295)
  • Running Aqua.jl on the code base: ambiguities (#2301)
  • StackOverflowError for SparseAxisArray of constraints (#2335)
  • Documentation missing for v0.21.5 (#2337)
  • BoundsError in NLP classify_linearity (#2340)
  • Relaxation of fixed binary variable raises AssertionError (#2344)
  • Using a nonlinear expression in a registered function nested in a nonlinear objective causes a BoundsError (#2347)
  • Clarify what can be done in callbacks (#2354)
  • Optimize a quadratic expression with respect to some quadratic Constraints (#2357)
  • Source links in solutions.md (#2358)
  • L1 regularization with box constraint in JuMP? (#2361)
  • Can't register erf as :erf (#2368)
  • Documentation not deployed (#2373)
  • Add a new variable to an existant constraint (#2376)
  • Add example on memoizing NLP functions (#2377)
  • Table of content (#2394)
  • Issues when fixing variable value using CPLEX (#2400)
  • NLP parser assumes ::Model and violates MethodError principle (#2402)
  • Error copying a model having expressions (#2403)
  • Copying expressions between models (#2407)
  • Variable names with underscores print incorrectly in IJuliaMode (#2422)
  • sum over a SparseAxisArray (#2428)
  • How to use constraint_by_name for vectorized constraints (#2432)
  • Extend CommonSolve.jl? (#2437)

Merged pull requests: