-
Notifications
You must be signed in to change notification settings - Fork 34
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
How should I install the package (to be used as a fortran dependency)? #29
Comments
Hi @bellomia thank you for your interest. Would the Makefiles in fortran/examples help? You are right --- as mentioned on Fortran discourse, the Fortran building facility for this package is (totally) missing. My intention was first and foremost to make the solvers available under MATLAB and Python. Now I have very limited time, if any, to work on it. Before you start exploring these solvers, I invite you to have a look at https://www.pdfo.net/docs.html#introduction (it is a webpage for PDFO, which provides the F77 version of the solvers). I want to make it crystal clear that these solvers are NOT intended to be used as general-purpose solvers. They are designed for a class of VERY SPECIAL problems, namely derivative-free / black-box optimization problems. For problems not in this category, MUCH BETTER solvers exist, and it is STRONGLY discouraged to use the solvers here. Below I quote the above mentioned webpage. See the first two sections of https://arxiv.org/pdf/2302.13246.pdf for more information. "Professor Powell devised these solvers to tackle general nonlinear optimization problems of continuous variables with or without constraints using only function values but not derivatives of the objective function or nonlinear constraint functions. In practice, such functions are often black boxes defined by simulations. Consequently, the corresponding optimization problems are often categorized as black-box optimization or simulation-based optimization. Problem specified by explicit formulas can probably be handled by other methods more efficiently." |
I added cmake files for this purpose in #28 to install the fortran & C lib |
@zaikunzhang Thanks a lot for the very detailed clarification. We are more or less into the proper domain of applicability, but to be honest we are indeed still investigating on which minimizer would best fit our needs. More in general we maintain https://github.com/QcmPlab/SciFortran and may potentially be interested in embedding PRIMA into the library. Would you be comfortable with us doing that? License wise it should be feasible, if I'm not missing @jschueller thanks a lot for the effort, much appreciated! I will look closely into the fate of that PR :) |
Hi @bellomia ,
Absolutely. I am very glad if you embed PRIMA in your library. This is why I work on PRIMA --- to make Powell's methods easily available to as many people as possible. I am in academia, so citation and acknowledgment are all that matter to me. As long as you do the following, it is perfect for me.
I will write a paper on PRIMA later. When the paper is ready to cite, I will inform you to update the citation.
It will be super interesting to me if your optimization problem is a true derivative-free / black-box problem. If you are comfortable, I am interested in hearing more about this problem. I need interesting applications to support my research. Thanks. Best regards, |
Hi, @bellomia , I should give another comment about derivative-free optimization (DFO). In DFO, we assume that the major cost comes from the evaluation of the objective / constraint functions, not from the numerical linear algebra of the solver. In practice, it is not uncommon that each function evaluation takes minutes, hours, or even days to finish. Therefore, the numerical linear algebra cost of the solver is negligible. This justifies the following.
Thanks, |
Hi @beddalumia , FYI, PRIMA now has a CMake building system, thanks to @jschueller . I hope this is useful to you. Are you still interested in including PRIMA into SciFortran? Best regards, |
Hi @zaikunzhang! Sorry for the very late response, I've been extremely busy between writing a paper and going to conferences. Also, the much needed holiday break did not help. I sincerely apologize. Coming to the questions, in inverse order:
I hope this information is clear enough and of some value to you. I did not explicitly reference the method name and all actual details since for now we want to make progress without attracting too much attention, on a public venue. Final note: more in general there is a whole class of methods, relevant for the theoretical study of strongly correlated materials, that amount to map the original, intractable, electronic problem to a simpler (set of) easier problems. The mapping holds and gives access to the physics of the original system under suitable self-consistent conditions, that may often be cast as multi-root problems (not what is usually done nowadays, for the common implementations of this idea). |
I close the issue, since the merged CMake installation effectively solves the underlying problem I had. Thanks again for the effort and reactive response! |
Hi, I saw this package some week ago in the Fortran-lang discourse. It rose a lot of interest in my group, as we have widespread needs for well written optimization packages. Now we are starting to explore a bit on a new project and came here to try adding PRIMA as a dependency. I know there are plans to make it buildable with fpm, but since we are not there yet, and I cannot see a CMake or other build systems around (except for the matlab-specific MEX setup), how can we deal with fortran source building? Looking at the actions for the testsuite has not helped so far, maybe we are missing something.
The text was updated successfully, but these errors were encountered: