Opened 5 years ago

Closed 17 months ago

#1674 closed feature request (done)

Implement multi-objective external evaluation problem

Reported by: abeham Owned by: ascheibe
Priority: high Milestone: HeuristicLab 3.3.13
Component: Problems.ExternalEvaluation Version: 3.3.12
Keywords: Cc:

Description (last modified by pfleck)

Feature requested on the mailinglist.

This ticket must be released after #2507.

Change History (18)

comment:1 Changed 3 years ago by abeham

  • Priority changed from medium to high

comment:2 Changed 22 months ago by abeham

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.13

comment:3 Changed 18 months ago by pfleck

  • Owner changed from abeham to pfleck
  • Status changed from new to assigned

comment:4 Changed 18 months ago by pfleck

  • Status changed from assigned to accepted

comment:5 Changed 17 months ago by pfleck

  • Description modified (diff)
  • Version changed from 3.3.5 to 3.3.12

comment:6 Changed 17 months ago by pfleck

r13180

  • ProtoBuff QualityMessages
    • Changed the QualityMessage to be able to be used for single- and multi-objective problems.
    • The new SingleObjectiveQualityMessage and MultiObjectiveQualityMessage now "inherits" from QualityMessages to be able to be used in a polymorph manner.
    • This is done via protobuf's nested extensions (see http://www.indelible.org/ink/protobuf-polymorphism/).
  • EvaluationCache
    • The EvaluationCache now now stores the QualityMessage instead of a single double. This way the cache can be used for single- and multi-objective problems and additionally opens the possibility to extend the quality message with any data. (previously extended data was lost when the cache was persisted and loaded again)
    • When deserializing an older version of the cache a new single objective quality message is created from the double value. This way, no compatibility is broken and version must not be incremented.
  • Adapted the ExternalEvaluationProblem to the changes of the EvaluationCache and the QualityMessage.
  • Added a MultiObjectiveExternalEvaluationProblem on basis of the ExternalEvaluationProblem and added a IExternalEvaluationProblem interface.

comment:7 Changed 17 months ago by pfleck

r13183

  • Added a SupportScript for the MultiObjectiveExternalEvaluationProblem.
  • Extracted code from the SingleObjectiveOptimizationSupportScript into the OptimizationSupportScript to reuse code for the MultiObjectiveOptimizationSupportScript.

comment:8 Changed 17 months ago by pfleck

r13203 Made CacheEntry thread-safe. Renamed the persistence properties for more clarity.

comment:9 Changed 17 months ago by pfleck

  • Owner changed from pfleck to abeham
  • Status changed from accepted to reviewing

comment:10 Changed 17 months ago by jkarder

r13212: sealed MultiObjectiveProblemDefinitionScript

comment:11 follow-up: Changed 17 months ago by abeham

  • Owner changed from abeham to ascheibe

I am at VA today and moving to Karlsruhe right afterwards. I don't have any time until Friday to do this. But I think this is important and was requested on the mailinglist also. Maybe you can review it?

comment:12 in reply to: ↑ 11 Changed 17 months ago by ascheibe

Ok, I will have a look at it.

comment:13 Changed 17 months ago by ascheibe

Reviewed changes:

  • Because there is now a MultiObjectiveExternalEvaluationProblem, there should also be a SingleObjectiveExternalEvaluationProblem. Please change the item names to
    • External Evaluation Problem (single-objective)
    • External Evaluation Problem (multi-objective)
  • In the constructor of MultiObjectiveExternalEvaluationProblem is a line which is commented out. Please comment it in or remove it.
  • In CompiledSingleObjectiveOptimizationSupport/CompiledMultiObjectiveOptimizationSupport fix commented out code
Last edited 17 months ago by ascheibe (previous) (diff)

comment:14 Changed 17 months ago by ascheibe

  • Owner changed from ascheibe to pfleck
  • Status changed from reviewing to assigned

comment:15 Changed 17 months ago by pfleck

r13257

  • Adapted ItemName from ExternalEvaluationProblem and MultiObjectiveExternalEvaluationProblem.
  • Removed/Fixed the support script code in from the comments.

comment:16 Changed 17 months ago by ascheibe

  • Owner changed from pfleck to ascheibe
  • Status changed from assigned to reviewing

comment:17 Changed 17 months ago by ascheibe

  • Status changed from reviewing to readytorelease

Thanks!

comment:18 Changed 17 months ago by ascheibe

  • Resolution set to done
  • Status changed from readytorelease to closed

r13259 merged r13180,r13183,r13203,r13212,r13257 into stable

Note: See TracTickets for help on using tickets.