OpenMDAO / Aviary

NASA's aircraft analysis, design, and optimization tool
https://openmdao.github.io/Aviary/
Other
129 stars 53 forks source link

Benchmark Test GwGm doesn't converge with IPOPT #444

Open cmbenne3 opened 1 month ago

cmbenne3 commented 1 month ago

Description

The IPOPT test in test_bench_GwGm doesn't converge. No errors are thrown, and due to the generous 1% tolerance on the assert_near_equal() constraints, then the tests pass. This example does converge with SNPOPT.

Suggest we look at the IPOPT tolerances and/or constraint scale factors to pose the problem so that IPOPT can solve it.

Discussion Should we add a convergence test to check for convergence in the bench test scripts? Should we reduce the tolerance on the assert_near_equal() constraints as the current 1% seems large.

Unknown whether this same issue occurs for other bench tests.

Example

& python.exe ./Git/Aviary/aviary/validation_cases/benchmark_tests/test_bench_GwGm.py

image

Aviary Version

0.9.4-dev

Relevant environment information

pyoptsparse==2.11.1

xjjiang commented 1 month ago

Should we make sure that all benchmark tests run with both IPOPT and SNOPT?

xjjiang commented 3 weeks ago

Why do you run python test_bench_GwGm.py instead of testflo? You only run the code under your __main__ block of code.

Kenneth-T-Moore commented 3 weeks ago

Why do you run python test_bench_GwGm.py instead of testflo? You only run the code under your __main__ block of code.

I do that all the time when I am working on or debugging a single test.

xjjiang commented 3 weeks ago

I do that too, but when you do that, you need to tell us which exact test fails you. It is not clear from the screen shot.

cmbenne3 commented 3 weeks ago

I created this issue as it was something Carl, Kaushik and I found whilst doing some other testing/development. We just ran the test_bench_GwGm.py file with the above command "python test_bench_GwGm.py" and found that IPOPT didn't seem to converge. Not sure what other info we need, are you not able to re-create the problem @xjjiang ?