evaluate#

Types for scoring alternative change sets against the accepted state of a Project. You pass a list of Candidate values and EvaluateOptions to Project::evaluate, or to Project::evaluate_with together with an Execution mode. Each candidate runs on a disposable copy, so the project itself doesn't change.

The call returns an EvaluateResult: baseline Metrics plus one CandidateResult per candidate. The rest of the folder holds the parts of those metrics: LeveledMetrics, Finish, TaskFinish, Shift, Amount, Overload, ResourceOverload and FocusOverload. Everything is re-exported at the crate root, so you import plen_core::Candidate, not an internal module path.

  • AmountA measured value of one evaluation stage and its difference from the baseline value
  • CandidateOne alternative change set, identified by an id, that Project::evaluate scores against the baseline
  • CandidateResultThe score of one evaluated candidate, or the error that rejected it
  • EvaluateOptionsOptions for Project::evaluate - baseline check, leveled stage, focus tasks and cleared reference state
  • EvaluateResultResult of Project::evaluate - baseline metrics and one scored result per candidate
  • ExecutionWhether Project::evaluate_with scores candidates one after another or on parallel worker threads
  • FinishProject finish and focus-task finishes of one evaluation stage, with their shift from the baseline
  • FocusOverloadResource overload inside the span of one focus task in an evaluation stage
  • LeveledMetricsMetrics of the leveled stage plus a summary of the leveling run (converged, rounds, remaining windows)
  • MetricsFinish, overload, conflict and cycle measurements of one evaluation stage, with a single cost score
  • OverloadResource overload of one evaluation stage, in total, per resource and per focus task
  • ResourceOverloadThe overload of one resource in one evaluation stage, with its difference from the baseline
  • ShiftA finish date and how far it moved from the baseline finish, in working time
  • TaskFinishFinish of one focus task in an evaluation stage, or None when the task isn't in that stage