Closed Saethox closed 1 year ago
Just one question: Do we have enough documentation in the MAHF readme and the problem repo readmes that everybody knows how to use it?
@HeleNoir There is still room for improvement, I'll look into it in the next PR. For example, #111 would be nice to have.
@luleyleo Are we ready to merge, then?
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