Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for user-defined multivariate hessians #2961

Merged
merged 12 commits into from
Aug 2, 2022
Merged

Conversation

odow
Copy link
Member

@odow odow commented Apr 26, 2022

Refactor of #2953

Requires jump-dev/MathOptInterface.jl#1819

Closes #1198

@codecov
Copy link

codecov bot commented Apr 26, 2022

Codecov Report

Merging #2961 (5059148) into master (8af2d3f) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2961   +/-   ##
=======================================
  Coverage   96.13%   96.13%           
=======================================
  Files          32       32           
  Lines        4135     4141    +6     
=======================================
+ Hits         3975     3981    +6     
  Misses        160      160           
Impacted Files Coverage Δ
src/nlp.jl 98.87% <ø> (+0.02%) ⬆️
src/print.jl 98.63% <0.00%> (+<0.01%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8af2d3f...5059148. Read the comment docs.

@odow odow force-pushed the od/moi-nonlinear branch from 5a3c234 to 185f983 Compare May 3, 2022 03:03
@odow odow force-pushed the od/multivariate branch from 3051b4d to fb534fe Compare May 5, 2022 22:01
@odow odow force-pushed the od/moi-nonlinear branch from f2d3c02 to f9e9ff9 Compare May 29, 2022 23:50
@odow odow force-pushed the od/multivariate branch from fb534fe to 8ba1e5a Compare May 30, 2022 22:49
@odow odow force-pushed the od/moi-nonlinear branch from 516f8e3 to a63c9e8 Compare June 12, 2022 23:12
Base automatically changed from od/moi-nonlinear to master July 4, 2022 22:52
@odow odow force-pushed the od/multivariate branch 2 times, most recently from 8608d59 to fe4a10d Compare July 4, 2022 22:55
@odow
Copy link
Member Author

odow commented Jul 8, 2022

I added a tutorial. Preview is here: https://jump.dev/JuMP.jl/previews/PR2961/tutorials/nonlinear/user_defined_hessians/

I think this is quite nice.

Copy link
Contributor

@frapac frapac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It overall looks good to me, apart of a few minor comments. I must say that the tutorial is very nice.

Also: would it be possible to add a warning telling explicitly that sparse Hessian are not supported in user-registered function?

@odow odow force-pushed the od/multivariate branch from 6dfd24e to a33e65f Compare July 14, 2022 02:44
@odow
Copy link
Member Author

odow commented Jul 14, 2022

I made your changes.

Also: would it be possible to add a warning telling explicitly that sparse Hessian are not supported in user-registered function?

I don't know if we need to warn that something doesn't exist. There's no way for the user to specify a sparse hessian. I say we let this go out into the wild with little fanfare and see how people end up using it, and whether it makes a performance difference.

@odow
Copy link
Member Author

odow commented Jul 20, 2022

I'll plan to merge this in a few days unless anyone wants to review beforehand. At the JuMP side, this is a pretty minor change. It's also opt-in, so it shouldn't affect anyone.

@mlubin
Copy link
Member

mlubin commented Jul 26, 2022

I'd like to take a look at this, but it may be a couple days before I get a chance.

@odow
Copy link
Member Author

odow commented Aug 1, 2022

How's this now?

@odow odow merged commit 8d7e89f into master Aug 2, 2022
@odow odow deleted the od/multivariate branch August 2, 2022 02:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Nonlinear Related to nonlinear programming
Development

Successfully merging this pull request may close these issues.

Feature Request: Second Derivatives for User Defined Functions
4 participants