Skip to content
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

[OptApp] Integration of NLOPT library #11480

Merged
merged 12 commits into from
Oct 25, 2023
Merged

Conversation

RezaNajian
Copy link
Contributor

@RezaNajian RezaNajian commented Aug 15, 2023

This PR makes available NLOPT optimizers in OptimizationApplication. Currently, it supports gradient-based optimizers as:
"mma": nlopt.LD_MMA,
"slsqp": nlopt.LD_SLSQP,
"lbfgs": nlopt.LD_LBFGS,
"ccsaq": nlopt.LD_CCSAQ,
"tnewton_precond_restart": nlopt.LD_TNEWTON_PRECOND_RESTART,
"tnewton_precond": nlopt.LD_TNEWTON_PRECOND,
"tnewton_restart": nlopt.LD_TNEWTON_RESTART,
"augmented_lagrangian": nlopt.AUGLAG

and gradient-free optimizers as
"neldermead": nlopt.LN_NELDERMEAD,
"evolutionary": nlopt.GN_ESCH

The interface is implemented at the Python level, and the NLOPT Python library needs to be in the Python path.

A test case is also made which uses MMA for constrained thickness optimization.

@RezaNajian RezaNajian changed the title Integration of NLOPT libraray OptApp Integration of NLOPT libraray Aug 15, 2023
@RezaNajian RezaNajian changed the title OptApp Integration of NLOPT libraray [OptApp] Integration of NLOPT libraray Aug 15, 2023
Copy link
Member

@sunethwarna sunethwarna left a comment

Choose a reason for hiding this comment

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

Nice work @RezaNajian Its cool to see the hardwork we put in last few months pays off. Apart from the minor comments I have mentioned in-place, my major comment is, Could you please reduce the mdpa size. It is 4k+ lines, and whole PR is 5k+ :/

@RezaNajian RezaNajian requested review from a team as code owners October 10, 2023 10:55
@RezaNajian RezaNajian removed request for a team, Igarizza and philbucher October 10, 2023 10:56
@RezaNajian
Copy link
Contributor Author

@sunethwarna I addressed your points could please accept it ?!

sunethwarna
sunethwarna previously approved these changes Oct 13, 2023
Copy link
Member

@sunethwarna sunethwarna left a comment

Choose a reason for hiding this comment

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

Thanks @RezaNajian :)

@RezaNajian
Copy link
Contributor Author

RezaNajian commented Oct 21, 2023

@KratosMultiphysics/technical-committee
@philbucher
@sunethwarna
I have been trying to merge this PR but CI/CD on debug mode fails. Could you please guid me to fix the issue ?! Thanks in advance.

@matekelemen
Copy link
Contributor

@KratosMultiphysics/technical-committee @philbucher @sunethwarna I have been trying to merge this PR but CI/CD on debug mode fails. Could you please guid me to fix the issue ?! Thanks in advance.

#11564

@matekelemen matekelemen changed the title [OptApp] Integration of NLOPT libraray [OptApp] Integration of NLOPT library Oct 21, 2023
Copy link
Member

@sunethwarna sunethwarna left a comment

Choose a reason for hiding this comment

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

Thanks @RezaNajian. You can merge this. The FullDebug versions are for the time being disabled in the CI. (Every developer has to check them in their PCs). I also checked this PR, hence approving :D

@RezaNajian RezaNajian merged commit 4f50de6 into master Oct 25, 2023
9 of 11 checks passed
@RezaNajian RezaNajian deleted the optapp/updated-NLOPT-integration branch October 25, 2023 16:08
@RezaNajian
Copy link
Contributor Author

RezaNajian commented Oct 25, 2023

Thanks @RezaNajian. You can merge this. The FullDebug versions are for the time being disabled in the CI. (Every developer has to check them in their PCs). I also checked this PR, hence approving :D

Thanks @sunethwarna 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants