|
| 1 | +# OptimizationProblems.jl Rules — HS85 & HS89 Example |
| 2 | + |
| 3 | +| Rule | HS85 | HS89 | How to Check | |
| 4 | +|------|------|------|--------------| |
| 5 | +| File Structure | src/ADNLPProblems/hs85.jl, src/PureJuMP/hs85.jl, src/Meta/hs85.md | src/ADNLPProblems/hs89.jl, src/PureJuMP/hs89.jl, src/Meta/hs89.md | Check for all three files per problem | |
| 6 | +| Header | HS-style header: source, classification, implementation date | Same | Parse header comments for required fields | |
| 7 | +| Mathematical Expressions | All intermediates, constraints, objective explicit, match paper | Same | Compare expressions to paper and extracted JSON | |
| 8 | +| Variable Bounds | Explicit bounds and x0 in ADNLP and PureJuMP | Same | Check for bounds and x0 in both files | |
| 9 | +| Metadata | References, classification, origin, scalable, etc. in Meta file | Same | Parse Meta file for required metadata | |
| 10 | +| Naming | hs85.jl, hs85_jump.jl, hs85.md | hs89.jl, hs89_jump.jl, hs89.md | Check file/function names | |
| 11 | +| Allocation | Constraint function minimizes allocations (relaxed for complex) | Same | Run allocation test or allow allocation | |
| 12 | +| Ipopt Solve | Problem solves with Ipopt (PureJuMP) | Same | Run Ipopt solver and check for solution | |
| 13 | +| Reviewer Markdown | Summary, PDF screenshot, extraction uncertainties, test results | Same | Generate reviewer markdown file | |
| 14 | +| Duplication | No duplicate (by name, structure, metadata) | Same | Check for similar names/metadata | |
| 15 | +| Traceability | Origin clear and referenced in header/Meta | Same | Check Meta/header | |
| 16 | +| Scalability | Marked if scalable (not for hs85/hs89) | Same | Check Meta/implementation | |
| 17 | +| Multiple Problems | One PDF = one problem (for hs85/hs89) | Same | Allow multiple if needed | |
| 18 | +| Uncertainty | Warn if extraction unclear (not for hs85/hs89) | Same | Parse extraction JSON for uncertainties | |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +This table is tailored to HS85 and HS89. Use as a checklist for similar problems and PRs. |
0 commit comments