Opened 6 years ago

Closed 6 years ago

#1663 closed enhancement (done)

Expose the problem's operators list in a parameter

Reported by: abeham Owned by: abeham
Priority: medium Milestone: HeuristicLab 3.3.6
Component: Optimization Version: 3.3.6
Keywords: Cc:

Description

Currently the operators list stored in the problem is not visible and cannot be modified by the user. Sometimes however it makes sense to delete certain operators or add new ones.

Change History (8)

comment:1 Changed 6 years ago by abeham

  • Status changed from new to accepted

comment:2 Changed 6 years ago by abeham

r6938

  • Added an Operators parameter in Problem
  • Adapted KnapsackProblem, OnemaxProblem, SingleObjectiveTestFunctionProblem, TravelingSalesmanProblem, and VehicleRoutingProblem to derive from SingleObjectiveHeuristicOptimizationProblem<U, V>, renamed and marked old list as obsolete. Note that QuadraticAssignmentProblem, as well as the new DataAnalysisProblems already derived from that class. ArtificialAntProblem was not yet modified.
  • Added some test lists and adapted SamplesTest
  • Added plugin dependencies that the unit test was complaining about
Last edited 6 years ago by abeham (previous) (diff)

comment:3 Changed 6 years ago by abeham

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.6
  • Owner changed from abeham to mkommend
  • Status changed from accepted to assigned

Can you take a look at the changes? The change to use the new base class are similar in each problem. I removed the parameters, parameter properties and properties of those parameters that are already defined, renamed the operators list and made it an obsolete serialization property that would forward the call to Set to Operators.AddRange() and which would always return null. ArtificialAntProblem still needs to be modified, I'll do that after you tell me the changes are okay or you can do it yourself if you have the time.

comment:4 Changed 6 years ago by mkommend

  • Owner changed from mkommend to abeham

All the changes look good, except one minor mistake in the KnapsackProblem. The condition in the after deserialization hook should be equal zero instead of larger than zero, to avoid multiple initialization of the operators collection.

comment:5 Changed 6 years ago by abeham

  • Owner changed from abeham to mkommend
  • Status changed from assigned to reviewing

r6939

  • Added hiding of Maximization parameter
  • Fixed AfterDeserializationHook in KnapsackProblem
  • Ported ArtificialAntProblem to use the SingleObjectiveHeuristicOptimizationProblem base class

comment:6 Changed 6 years ago by abeham

r6942

  • fixed problem with ArtificialAntProblem

comment:7 Changed 6 years ago by mkommend

  • Owner changed from mkommend to abeham
  • Status changed from reviewing to readytorelease

comment:8 Changed 6 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.5 to 3.3.6
Note: See TracTickets for help on using tickets.