-
Notifications
You must be signed in to change notification settings - Fork 0
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
Integrate problem changes from PR draft #173 #176
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one question: Do we have enough documentation in the MAHF readme and the problem repo readmes that everybody knows how to use it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like the overall theme, just got a couple of nits to pick.
- Remove OptimumReachedProblem - Change IntoSingle and IntoSingleRef to return a result
@luleyleo Are we ready to merge, then? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, let's merge this!
It was a bit trickier than I expected to entangle the problem definitions from the new component system in #173, but it does compile.
This is the first PR of 3-4 PRs to integrate #173 fully.
It only focuses on the
problems
,utils
andpopulation
modules, as thecomponents
,framework
,conditions
, andheuristics
, andstate
modules will be part of the next PR.Changes
build.rs
andgitlab-ci.yml
, as not needed anymoreCargo.toml
(the yet unused packages will be used in the next PRs)ObjectiveFunction
trait is a simpler version ofEvaluator
for problems where the objective function can be easily specified, andSequential<P>
andParallel<P>
offer a default implementation of a sequential and parallelEvaluator
, respectively, whenP
implementsObjectiveFunction
LimitedVectorProblem
depends onVectorProblem
, etc.) and a separate TSP trait to access distance informationTryDefault
for the futurePostponed Changes
The following changes had to be postponed because they are too cumbersome to integrate without the new component system:
Evaluator
component (nowPopulationEvaluator
) was changed from accessing theEvaluatorInstance
in theState
to having aT: Evaluator
type parameterEvaluator
s in the state at the same time, and decouplesEvaluator
andProblem
somewhatProblem::default_evaluator
was removed in favor of aTryDefault
bound onEvaluate