Skip to content

Add hs85 and hs89 problems#412

Open
arnavk23 wants to merge 9 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:docs-nls-mainonly
Open

Add hs85 and hs89 problems#412
arnavk23 wants to merge 9 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:docs-nls-mainonly

Conversation

@arnavk23
Copy link
Copy Markdown
Contributor

@arnavk23 arnavk23 commented Mar 17, 2026

@dpo @tmigot
Towards #113

@tmigot tmigot requested review from tmigot March 17, 2026 15:04
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 29, 2026

Codecov Report

❌ Patch coverage is 69.40299% with 82 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.63%. Comparing base (2ada450) to head (763e55b).
⚠️ Report is 46 commits behind head on main.

Files with missing lines Patch % Lines
src/PureJuMP/hs85.jl 0.00% 62 Missing ⚠️
src/PureJuMP/hs89.jl 0.00% 18 Missing ⚠️
src/Meta/hs85.jl 75.00% 1 Missing ⚠️
src/Meta/hs89.jl 75.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #412       +/-   ##
===========================================
- Coverage   99.80%   54.63%   -45.17%     
===========================================
  Files        1084     1144       +60     
  Lines       12319    13639     +1320     
===========================================
- Hits        12295     7452     -4843     
- Misses         24     6187     +6163     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment on lines +11 to +16
header_ok = false
if result["ADNLP"]
header = readlines("src/ADNLPProblems/$problem.jl")[1:10]
header_ok = any(occursin("Hock and Schittkowski", h) for h in header)
end
result["Header"] = header_ok
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I am not sure to understand what you are checking here ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This code checks if the first 10 lines (the "header") of the src/ADNLPProblems/$problem.jl file mention "Hock and Schittkowski" for proper documentation of source. Once you commit, will change it to meta, kept adnlp as placeholder for now.

# Script to check OptimizationProblems.jl rules for HS85/HS89
using JSON

function check_problem(problem::String)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like this idea :).

Copilot AI review requested due to automatic review settings April 5, 2026 23:20
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds Hock–Schittkowski problems HS85 and HS89 to the repository, including ADNLPModels + JuMP formulations, metadata entries, and supporting reviewer/workflow documentation.

Changes:

  • Implement HS85 and HS89 in src/ADNLPProblems/ and src/PureJuMP/
  • Add metadata for both problems in src/Meta/
  • Add extraction/workflow/rules docs and a rule-checking script; update Project.toml

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
src/PureJuMP/hs85.jl New JuMP formulation for HS85 (currently has API/export + model-construction issues)
src/PureJuMP/hs89.jl New JuMP formulation for HS89 (currently has API/export + dependency issues)
src/ADNLPProblems/hs85.jl New ADNLP formulation for HS85 (currently double-encodes bounds as constraints)
src/ADNLPProblems/hs89.jl New ADNLP formulation for HS89
src/Meta/hs85.jl Metadata for HS85 (currently ncon should be updated after removing redundant bound-constraints)
src/Meta/hs89.jl Metadata for HS89 (currently equality/inequality flags are incorrect)
Project.toml Adds StaticArrays dependency (currently unused)
docs/RULES_hs85_hs89.md Adds a checklist doc (currently mismatched with repo conventions: Meta .jl, constructor naming)
docs/hs85_workflow.ipynb Adds an end-to-end workflow notebook (currently calls hs85_jump, which won’t match repo conventions/tests)
docs/extract_hs89.json Adds HS89 extraction artifact (currently inconsistent with provided x0)
docs/extract_hs85.json Adds HS85 extraction artifact
docs/check_rules.jl Adds a basic rule-check script for HS85/HS89

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

arnavk23 and others added 3 commits April 6, 2026 05:24
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants