Open gkirgizov opened 1 year ago
Some thoughts on this after some investigation:
pymoo
with several approaches to handle numerical constraints: https://pymoo.org/constraints/index.html.
We can incorporate something like this into Objective
, like eps-Constraint logic, but this seems like a new feature and is orthogonal to the original issue.That's regarding efficiency. And I wait for feedback about usability.
Another thought:
This enhancement is requested by BAMT & EPDE users. Rationale: some domains work a lot with custom constraints on valid solutions. Examples are EPDE and molecular search (drug design). Making them more usable and, possibly, effective, can facilitate general-purpose application of GOLEM.
The idea is that intuitive & straightforward general-purpose constraints on the search space is an important feature of GOLEM optimizer. So the issue is to make it better.
Things to consider:
We can have constraints on different stages of optimization:
ChangeAdvisor
)So, maybe it makes sense to somehow generalize this machinery behind one interface?
Constraints can work on different representations of the graph & its properties
Sometimes constraints can be defined on matrix form of graph, sometimes on its spectral properties, sometimes on domain graph and sometimes on graph structure. We can consider a mechanism to get a required representation in verification rule.