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

Ground state solver (upper-bound problem formulation) #343

Merged
merged 86 commits into from
Jul 26, 2023

Conversation

qchempku2017
Copy link
Collaborator

@qchempku2017 qchempku2017 commented Mar 9, 2023

Summary

  • Enables formulating a ground state upper-bound problem from Ensemble.
  • Enables setting composition constraints in CompositionSpace from a string of equations, which should be more convenient.

Additional dependencies introduced (if any)

SCIP, pysciopt (For solving non-linear MIP problems).

Checklist

@qchempku2017 qchempku2017 added the enhancement New feature or request label Mar 9, 2023
@qchempku2017 qchempku2017 requested a review from lbluque March 9, 2023 01:24
@lbluque lbluque changed the title Ground state solver (upper-bound problem formulation) [WIP] Ground state solver (upper-bound problem formulation) Mar 9, 2023
@lbluque lbluque marked this pull request as draft March 9, 2023 16:37
qchempku2017 and others added 18 commits March 13, 2023 17:04
… Updated settings and docs in composition.py accordingly.
…ndling splitted sub-lattices and manually restricted sites. Ready to make tests.
… generation from using table to using orbits and decomposition objects. Need to add linearization for cvxpy to work.
Copy link
Collaborator

@lbluque lbluque left a comment

Choose a reason for hiding this comment

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

Thanks so much for the hard work on this! It is starting to look pretty good. Apart from the inline comments, I have some overall comments:

I think you should use a simpler composition space in the jupyter notebook example. Since it is just a complex disordered structure you are only solving for a supercell of two unit cells. I think for the example it's better to have a simpler space and do a larger supercell.

I think we should mention in both the example and in the documentation (docstrings of Solver), that scaling is very poor because variables and constraints grow very rapidly.

@qchempku2017
Copy link
Collaborator Author

Thanks so much for the hard work on this! It is starting to look pretty good. Apart from the inline comments, I have some overall comments:

I think you should use a simpler composition space in the jupyter notebook example. Since it is just a complex disordered structure you are only solving for a supercell of two unit cells. I think for the example it's better to have a simpler space and do a larger supercell.

I think we should mention in both the example and in the documentation (docstrings of Solver), that scaling is very poor because variables and constraints grow very rapidly.

The composition space example will be changed accordingly.

@qchempku2017 qchempku2017 requested a review from lbluque July 21, 2023 22:39
@qchempku2017 qchempku2017 requested a review from lbluque July 23, 2023 00:40
@qchempku2017 qchempku2017 requested a review from lbluque July 25, 2023 03:08
Copy link
Collaborator

@lbluque lbluque left a comment

Choose a reason for hiding this comment

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

Thanks so much @qchempku2017, this looks great!

I have a few suggestions for edits on the CompositionSpace class and example, but since it is not the bulk of this PR, I will address it in a separate issue.

@lbluque lbluque changed the title [WIP] Ground state solver (upper-bound problem formulation) Ground state solver (upper-bound problem formulation) Jul 26, 2023
@lbluque lbluque merged commit 3f1f8e4 into CederGroupHub:main Jul 26, 2023
@qchempku2017 qchempku2017 deleted the gs_solver branch September 13, 2023 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants