Skip to content

SQP and QP update - #455

Merged
maisonobe merged 29 commits into
Hipparchus-Math:developfrom
roccafrancesco:develop3
Aug 28, 2026
Merged

SQP and QP update#455
maisonobe merged 29 commits into
Hipparchus-Math:developfrom
roccafrancesco:develop3

Conversation

@roccafrancesco

@roccafrancesco roccafrancesco commented Apr 2, 2026

Copy link
Copy Markdown
Contributor

QPDualActiveSolver
SQPOptimizerS2

@roccafrancesco roccafrancesco changed the title SQP and QP improvement SQP and QP update Jun 29, 2026
@maisonobe

Copy link
Copy Markdown
Contributor

I have pushed a few javadoc fixes in branch roccafrancesco-develop3.
There are still some two missing javadoc parameters in SQPLogger.logRow. As the parameters have very generic names (and are also out of order), I was not able to find their meaning.

There are also 33 failing tests.

@roccafrancesco

Copy link
Copy Markdown
Contributor Author

Hi Luc,
on my side i have 18 tests failed and 7 are skipped;
the two ADMMQP optimizer tests fail due to tolerance issues; the tolerance needs to be relaxed;
the LineSearchTest fails because the class has been modified and the test is no longer applicable;
most of the failures in the Hock-Schittkowski suite are due to reaching a relative minimum; this accounts for 15 failed tests;

@maisonobe

maisonobe commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

OK, I will then increase tolerance for ADMMQP and remove the linear search test.
Concerning the Hock-Schittkowski suite, I would prefer to keep at least the code of the tests, but flag them as @disabled with a comment, so if later improvements allow to identify the local minimum we could reactivate the tests?

@roccafrancesco

Copy link
Copy Markdown
Contributor Author

Yes, Luc, that’s fine; the important thing is that we are aligned and both detect the same number of errors.

@maisonobe
maisonobe merged commit 9f0d3ea into Hipparchus-Math:develop Aug 28, 2026
@maisonobe

maisonobe commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

I have fixed numerous issues triggered by SonarQube after the merge.
I have also improved code coverage, but it is still below our very high thresholds (we want 95% code coverage on new code, we are at 90% after the improvements I made). In fact, despite the very large number of tests, some parts are never exercised. I guess it is because they are related to convergence issues or too stringent settings, and these do not occur in the current tests.
Could you have a look at these and see if we can improve this coverage? See SonarQube coverage for the remaining non-covered parts. Maybe reusing some existing tests but intentionally setting convergence to some too low values would enforce using these code paths?

@roccafrancesco

Copy link
Copy Markdown
Contributor Author

Hi Luc,
I don't think the low coverage is due to the skipped test; rather, it stems from the fact that a specific execution path within a given class isn't being exercised. Take BFGSUpdate, for instance—the initial if condition is never met.

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.

2 participants