-
Notifications
You must be signed in to change notification settings - Fork 48
Problem 9,10 and 16 #396
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
base: main
Are you sure you want to change the base?
Problem 9,10 and 16 #396
Conversation
|
@tmigot please review. On my system they are passing when I use one(T), T(i) and T(mod(i,5)). |
tmigot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first batch of comments
Co-authored-by: Tangi Migot <tangi.migot@gmail.com>
|
@tmigot Worked on your review comments but now seeing |
tmigot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@arnavk23 I stopped after the first file
Co-authored-by: Tangi Migot <tangi.migot@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds three new optimization test problems (Problems 9, 10, and 16) from the Luksan, Matonoha, and Vlcek test problem collection. The implementation follows the established pattern for optimization problems in this repository, providing three variants: PureJuMP models, ADNLPProblems models, and metadata files.
Key Changes:
- Added three trigonometric optimization problems:
trig(Problem 9),toint(Problem 10), andtrigb(Problem 16) - Each problem is implemented in three formats: PureJuMP, ADNLPProblems, and metadata configurations
- All problems are unconstrained minimization problems with variable dimensions
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/PureJuMP/trig.jl | PureJuMP implementation of the "Another trigonometric function" problem (Problem 9) |
| src/PureJuMP/toint.jl | PureJuMP implementation of the "Toint trigonometric function" problem (Problem 10) |
| src/PureJuMP/trigb.jl | PureJuMP implementation of the "Banded trigonometric problem" (Problem 16) |
| src/ADNLPProblems/trig.jl | ADNLPProblems implementation of Problem 9 using automatic differentiation |
| src/ADNLPProblems/toint.jl | ADNLPProblems implementation of Problem 10 with critical bugs in division operators |
| src/ADNLPProblems/trigb.jl | ADNLPProblems implementation of Problem 16 |
| src/Meta/trig.jl | Metadata configuration for the trig problem |
| src/Meta/toint.jl | Metadata configuration for the toint problem |
| src/Meta/trigb.jl | Metadata configuration for the trigb problem |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #396 +/- ##
===========================================
- Coverage 99.80% 54.34% -45.47%
===========================================
Files 1084 1138 +54
Lines 12319 13371 +1052
===========================================
- Hits 12295 7266 -5029
- Misses 24 6105 +6081 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| @@ -0,0 +1,40 @@ | |||
| export toint | |||
|
|
|||
| function toint(; n::Int = default_nvar, type::Type{T} = Float64, kwargs...) where {T} | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seems to be an inconsistency between the AD version and the JuMP version:
julia> ju_nlp1 = MathOptNLPModel(OptimizationProblems.PureJuMP.toint());
julia> ad_nlp1 = OptimizationProblems.ADNLPProblems.toint();
julia> obj(ad_nlp1, ad_nlp1.meta.x0) == obj(ju_nlp1, ju_nlp1.meta.x0)
false
The other two seem correct.
#116


