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

refactor objective.Function out of Search #23

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

nojhan
Copy link

@nojhan nojhan commented May 14, 2020

Will be useful to build interface toward external solvers.

  • The objective.Function is now a member of Search, as self.pb.
  • Some method were not used, I moved them based on their name.
  • I tried to keep the code formatting style, but got rid of useless whitespaces anyway.

NOTES:

  • without instruction on from where to PR, I do it on master.
  • I tested with orcc -r axpy5.c, but am unsure if there are other tests impacted.

nojhan and others added 2 commits May 14, 2020 14:26
Will be useful to build interface toward external solvers.

- The objective.Function is now a member of Search, as `self.pb`.
- Some method were not used, I moved them based on their name.
- I tried to keep the code formatting style, but got rid of useless whitespaces anyway.
@brnorris03
Copy link
Owner

There are some issues with exhaustive search, see regression error.

@nojhan
Copy link
Author

nojhan commented Dec 24, 2020

Thanks for the follow-up.
As it took 7 months to be considered, I have to ask: are state-of-the-art optimization solvers a priority on your wishlist?
I may be able to work on binding external solvers, but there's a huge refactoring and undocumented complex code in between, so I would need help.
To what extent is there somebody willing to answer many questions/help on such a feature?

@brnorris03
Copy link
Owner

Sorry it took so long. I have many projects, this is just one of them, and currently unfunded. I am faculty, so I have limited periods during which I can spend more dedicated times on each project, this month is Orio's turn. I am interested in optimization solvers that can handle nonconvex integer problems well (which is what we have). The code involved in the search methods is actually quite small, there is no need to interact directly with any of the language parsing or code generation capabilities. I am happy to help with specific questions or extensions.

Also, I am in the process of adding tests (Github actions) for the more than 10 existing optimization methods already available. Perhaps that can help with any new ones you may be interested in contributing.

One thing about this PR (since it changes the top-level search class) is that it would require the above test suite (which is a nontrivial effort) to ensure that existing search functionality is not disrupted.

@brnorris03
Copy link
Owner

I should point out that we already have integrated external solvers in the past (some quite recently), the interface already supports that.

@nojhan
Copy link
Author

nojhan commented Jan 29, 2021

I perfectly understand the difficulty to answer in time, no worry, I have the same problems 😃

I'll check if the existing interface fits the constraints for the kind of non-linear solvers I handle. One of my objective would be to plug Orio to the benchmarking plateform we use in our research community, which would give access to a lot of state of the art solvers (with possibly far better performances than the one I saw last time I checked).

If you have any pointers to where I should look, that may be helpful. Last time it was quite a bit difficult, so maybe I did not looked at the right place.

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.

None yet

2 participants