Releases: infiniteopt/InfiniteOpt.jl
Releases · infiniteopt/InfiniteOpt.jl
v0.6.1
InfiniteOpt v0.6.1
Merged pull requests:
- Update the Status Badge (#400) (@pulsipher)
- Refactor Interpolations Extension (#401) (@pulsipher)
- Add
JuMP.set_start_values(#402) (@pulsipher) - Update version for JuMP dependency (#403) (@wenwen0231)
- Add tutorial for resolves (#405) (@wenwen0231)
- Update documentation links (#406) (@wenwen0231)
- Expand Compat for Interpolations (#408) (@pulsipher)
- Prep v
0.6.1(#409) (@pulsipher) - CompatHelper: bump compat for MathOptAI in [weakdeps] to 0.2, (keep existing compat) (#410) (@github-actions[bot])
Closed issues:
v0.6.0
InfiniteOpt v0.6.0
Breaking changes
NLPExpris dropped in favor ofJuMP.GenericNonlinearExpr@registerhas been replaced withJuMP.@operatormap_nlp_to_asthas been discontinued- Optimizer model API has been replaced with the more general transformation backend API. For modelling, the syntax is largely the same, but accessing methods like
optimizer_model_variablehave been changed totransformation_variable. The old API is still supported via deprecation and users are encouraged to run Julia in deprecation mode to update their code. DomainRestrictionshave been replaced withDomainRestrictionwhich enforces restrictions based on arbitrary Julia functions (similar to parameter functions). Please see the constraint guide in the documentation for details.start_value_functionandset_start_value_functionhave been dropped in favor ofJuMP.start_valueandJuMP.set_start_value.- Semi-infinite variables have been refactored internally to behave more consistently with point variables. The user API remains the same, though bounds and start values can now be specified.
- Point variables inherit domain info from infinite variables in a more general way. Semi-infinite and point variables defined via macros define their own info that overwrites that of the infinite variable. Semi-infinite and point variables defined functionally only modify info if specified via domain modification methods (e.g.,
set_lower_bound,delete_lower_bound). @infinite_parameterno longer supportsDenseAxisArrays andSparseAxisArrays in favor ofArrayto significantly improve performance.Collections.VectorTuplehave been refactored to focus on tuples ofArrays andNumbers.- Core data structures have been modified to simply the code base; however, users are not encouraged work directly with core data objects.
Features
- Trained machine learning models can be embedded via the
InfiniteMathOptAIextension. - Transcribed values can be converted to interpolated functions via the
InfiniteInterpolationsextension. - Semi-infinite variables can now have bounds and start values.
- Higher-order derivatives are now preserved to facilitate more accurate transformations.
- Recursion is removed to handle deeply nested nonlinear expressions without stackoverflow errors
- Non-JuMP models (e.g., ExaModels) can now be interfaced via the new transformation API.
set_parameter_valuenow preserves the backend for efficient resolves.warmstart_backend_start_valuesefficiently warmstarts the backend for resolves.- Support is added for
MOI.Parameter. - New examples have been added to the documentation.
- Misc. bug fixes and documentation improvements.
Merged pull requests:
- Refactor to directly support higher order derivatives (#341) (@pulsipher)
- Fix SigFig Bug (#344) (@pulsipher)
- Improve the Extensibility of Derivative Methods (#345) (@pulsipher)
- Support Expression Restrictions (#348) (@pulsipher)
- Generalize Transformation API (#349) (@pulsipher)
- Backend API Refinements (#351) (@pulsipher)
- Remove
ndarrayKeyword Argument (#356) (@pulsipher) - Use
OrderedDictfor Array Parameter Supports (#357) (@pulsipher) - Allow Non-Vector Input for Infinite Parameter Supports (#358) (@pulsipher)
- Improve Performance of Internal Semi-Infinite Variables (#359) (@pulsipher)
- Fix bug in
restricted_copy(#360) (@pulsipher) - Fix printing test for JuMP v1.23.0 (#361) (@odow)
- Improve Defaults of
JuMP.is_binary,JuMP.is_integer, andJuMP.is_fixed(#365) (@pulsipher) - Use invokelatest after eval to adjust to upcoming julia change (#369) (@Keno)
- Addition of three new examples under optimial control. (#370) (@dnguyen227)
- Fix Deletion of Variable Dependencies (#377) (@pulsipher)
- Update CI Versioning (#378) (@pulsipher)
- Update Optimal Control Example Documentation (#380) (@wenwen0231)
- Add InfiniteInterpolate as an extension (#382) (@wenwen0231)
- CompatHelper: bump compat for DataStructures to 0.19, (keep existing compat) (#385) (@github-actions[bot])
- Map finite parameters to JuMP.Parameters (#387) (@wenwen0231)
- Map parameter functions to JuMP.Parameters (#389) (@wenwen0231)
- Add Extension for MathOptAI (#390) (@pulsipher)
- Properly Handle Parameter Functions as JuMP.Parameters in Measures (#391) (@wenwen0231)
- Updated Versioning (#392) (@pulsipher)
- Clean Up and Simplify Dependence on Infinite Parameters (#393) (@pulsipher)
- Improve Parameter Support (#394) (@pulsipher)
- Add Support for Functions in Variable Domains and Overhaul Domain Restrictions (#395) (@pulsipher)
- Provide an API for Reformulating High Order Derivatives into 1st Order Derivatives (#396) (@pulsipher)
- Remove Parameter Numbers (#397) (@pulsipher)
- Remove Recursion from
map_expression(#398) (@pulsipher) - Prep for v0.6 (#399) (@pulsipher)
Closed issues:
- Cannot Transcribe Scalar Measures/Derivatives of Dependent Infinite Parameters (#56)
- Return Interpolated Value Functions (#82)
- Point Variable Inheritance is Invalidated with Changes to Infinite Variable Info (#148)
- Specify Exclusion Points for Constraints (#167)
- Maintain Higher-Order Derivative Representations (#197)
- Vector-Valued Nonlinear Functions (#229)
- Restrict Infinite Parameters to only use Arrays (#233)
- Allow Functional Bounds on Infinite Variables (#253)
- Support Restrictions on Expressions (#347)
- Can i write the InfiniteOpt's Model to file of nl? (#364)
- [FEATURE] Query expression and parameter function names. (#367)
- Deleting variables does not work when a constraint evaluates a variable at multiple time points (#376)
- Update example documentation (#379)
- Ability for Callback function during optimization run (#383)
- Can't install/precompile InfiniteOpt (#388)
v0.5.9
v0.5.8
InfiniteOpt v0.5.8
Closed issues:
- Test failure on Julia 1.9 (#315)
Merged pull requests:
- Fix printing in JuMP v1.11.1 (#314) (@odow)
- Fix for Julia v1.9 by adding check_belongs_to_model (#316) (@odow)
- Fix Transcription w/ Constrained Nonlinear Measures (#318) (@pulsipher)
- Update JuMP Links (#319) (@pulsipher)
- Prep for v
0.5.8(#320) (@pulsipher)
v0.5.7
InfiniteOpt v0.5.7
Closed issues:
- Salvage value (#286)
- Support Complex Variables and Expressions (#300)
- Generative Support Generation over Empty Sets (#306)
Merged pull requests:
- CompatHelper: bump compat for FastGaussQuadrature to 0.5, (keep existing compat) (#297) (@github-actions[bot])
- Fix Test Coverage for NLP Change in JuMP (#298) (@pulsipher)
- Remove qt5-default from Documentation Build (#299) (@pulsipher)
- Fix Generative Supports for Empty Sets (#307) (@pulsipher)
- Fix Ambiguity with JuMP 1.10 (#310) (@pulsipher)
- Add README for JuMP Documentation (#311) (@pulsipher)
- Finalize JuMP README (#312) (@pulsipher)
- Prep
v0.5.7Release (#313) (@pulsipher)
v0.5.6
InfiniteOpt v0.5.6
Closed issues:
- Inconsistent Info Updates for Derivatives (#263)
- Inconsistent result in farmer problem (#269)
- Incompatible with JuMP v1.2 due to removal of nlp_data (#280)
Merged pull requests:
- Clarify Generation of Random Scenarios in SO Examples (#270) (@pulsipher)
- Update Links for New Organization (#275) (@pulsipher)
- Update the Tree Package Dependencies (#276) (@pulsipher)
- Update to JuMP v1.2 NLP Model Structure (#281) (@pulsipher)
- Update to Julia v1.8 (#282) (@pulsipher)
- Prep for v0.5.6 (#283) (@pulsipher)
v0.5.5
InfiniteOpt v0.5.5
Merged pull requests:
- Fix Derivative Update Bug (#264) (@pulsipher)
- Transcription Doc Typo Fix (#265) (@pulsipher)
- Improve
DiscreteMeasureDataTutorial (#266) (@pulsipher) - Simplify Optimizer Model Docs (#267) (@pulsipher)
- Prep v0.5.5 (#268) (@pulsipher)
v0.5.4
InfiniteOpt v0.5.4
Closed issues:
- Conflict with
KernelDensity(#260)
Merged pull requests:
- Fix Generality of
sumandprod(#261) (@pulsipher) - Prep v0.5.4 (#262) (@pulsipher)
v0.5.3
InfiniteOpt v0.5.3
Closed issues:
- beginner issue (ϵ not defined) (#202)
- Update to JuMP v0.23 (#222)
- Unsmooth points at the beginning and end of control function (#250)
- Cannot use
valueon Parameter Functions (#254)
Merged pull requests:
- Update to JuMP v0.23 (#223) (@pulsipher)
- Drop Use of
nl_String Functions (#249) (@pulsipher) - Update Workflows for Drafts (#256) (@pulsipher)
- CompatHelper: bump compat for "JuMP" to "1" (#257) (@github-actions[bot])
- Update Docs for JuMP v1 (#258) (@pulsipher)
- Prep for v0.5.3 (#259) (@pulsipher)
v0.5.2
InfiniteOpt v0.5.2
Merged pull requests:
- Minor Keyword Argument Fix with 𝔼 (#191) (@pulsipher)
- Remove
maxandminas default NLP functions (#195) (@pulsipher) - Require JuMP 0.22.2 for max/min fix (#200) (@pulsipher)
- Prep for v0.5.2 (#201) (@pulsipher)