Opened 5 years ago

Last modified 11 days ago

#2521 accepted enhancement

Refactor Problem/Encoding

Reported by: abeham Owned by: mkommend
Priority: medium Milestone: HeuristicLab 4.0
Component: General Version: branch
Keywords: Cc:

Description (last modified by mkommend)

  • HL 3.3.16 merge
    • Check all added files for StorableTypes and GUIDs
    • Check all license headers of added files
  • Introduce base problems for each encoding
  • SingleObjective- & MultiObjectiveProblem introduce virtual member calls in their ctor to get the Maximization value, which poses a problem as the value might not be known at this time
    • Changed event for maximization
    • ForceValue(value) for OptionalValueParameter that ignores ReadOnly
  • Cancellation token in Evaluate function of Problems
  • Introduce new parameter type that can look up problems and algorithms
  • Introduce SolutionParameter in ISolutionCreator<TSolution>
    • Create new interface that specifies solution parameter
    • Adapt all operators to this interface
  • Return additional data from Evaluate (see discussion in #2774)
    • Refactor Evaluate methods to return IEvaluationResult instead of void
    • Adapt ISingleObjectiveOperators (from double to IEvaluationResult)
    • Identify simple pattern for comparison of IEvaluationResult
    • Adapt unit tests and external evaluation problems
    • Provide view for evaluation result & solution context
    • Adapt all multi-objective problems and operators
  • Use ResultsParamater for storing results from the problem (evaluate, analyze) so that a defined output behavior is established (requirement for JSON converter)
    • New results have been implemented that define the output behavior.
    • Implement results for basic problems.
    • implement results for operators.
    • Combined results of algorithms, problems, operators (analyzers) in result collection.
    • Adapt parameters view to separate results parameter from all other parameters to define an input / output behavior.
  • Make encoding parameters readonly per default to avoid manipulation
    • When using a combined encoding all parameters of nested encodings have to be set to readonly = false.
  • Separate icons for single- and multi-objective problems and algorithms
  • Adapt unit tests
    • Check for commented tests (Scheduling, BinPacking)
  • Evaluate method in QAP is slow due to parameter access, check other problems too
  • Memory leak when replacing parameters in the encoding instance with those of the problem instance -> the encoding might not live as long as the problem, but the parameter in the problem has a reference to the Encoding's parameter collection. This has been fixed with the usage of reference parameters.
  • Change Gaussian Processes from engine algorithm to basic algorithm
  • Add special parameters for algorithm and problem discovery

Refactoring of Plugins =

  • HL.Problems.BinPacking
  • HL.Problems.GraphColoring
  • HL.Problems.PTSP
    • Evaluate composition vs inheritance
  • HL.Problems.Scheduling
  • HL.Problems.TestFunctions.MultiObjective mkommend
    • status has to be checked
  • HL.Algorithms.MOCMAEvolutionStrategy
    • status has to be checked
  • HL.Problems.GrammaticalEvolution.DataAnalysis
  • HL.Problems.TravelingSalesman
  • HL.Problems.VehicleRouting
  • HL.Problems.DataAnalysis.* mkommend
  • Change NCA, GPR & GPC, and BFGS to basic algorithms.

Compare with trunk (after mering in r17226):

  • Knapsack Problem - Hamming Similartiy Calculator
  • QAP
  • External Evaluation
  • P3 EvaluationTracker
  • PSOSwarmUpdater & Initializer Boundsparameter

To discuss:

  • Merge HeuristicOptimizationProblem with BasicProblem
    • Add new() constraint on TEncoding and TSolution of the Problem classes to forbid the creation of a Problem with abstract or not instantiable type parameters.
    • Provide specialized code templates, which are compiled, for programmable problems (e.g. RealVectorProblem that configures the bounds correctly)
    • Change name of result for best scope solution analyzer due to name clashes with programmable problems' analyze method.
    • AckleyEvaluator change from evaluator to problem? stays the storable type GUID the same

Change History (236)

comment:1 Changed 5 years ago by mkommend

  • Owner set to mkommend
  • Status changed from new to accepted

r13327: Branched whole trunk for problem refactoring.

comment:2 Changed 5 years ago by mkommend

r13330: Deleted wrongly created for problem refactoring.

comment:3 Changed 5 years ago by mkommend

r13331: Branched trunk/sources for problem refactoring.

comment:4 Changed 5 years ago by abeham

  • Description modified (diff)

comment:5 Changed 5 years ago by mkommend

r13336: Refactored encodings and problems.

comment:6 Changed 5 years ago by mkommend

r13337: Added new class for problem refactoring.

comment:7 Changed 5 years ago by mkommend

r13339: Rectored problems and encodings.

comment:8 Changed 5 years ago by mkommend

r13345: refactored programmable problem

comment:9 Changed 5 years ago by mkommend

r13348: Refactored single-objective programmable problem.

comment:10 Changed 5 years ago by abeham

r13351: Adapted multi-encoding for new infrastructure

TODO: Evaluator, Analyzer, ... need to be copied

comment:11 Changed 5 years ago by abeham

r13356: working on multi-encoding

comment:12 Changed 5 years ago by abeham

r13357: changed solution name of combined encoding

comment:13 Changed 5 years ago by abeham

r13359: worked on multi-encoding (it works again). Some issues are still present:

  • The programmable template needs to be slightly updated for multi-encoding
  • The encoding is recreated every time it is compiled making it impossible to configure operators

comment:14 Changed 5 years ago by mkommend

r13350: Adapted multi-objective programmable problem. r13361: Adapted real vector encoding, test function problems, P3, CMA-ES and optimization.

comment:15 Changed 5 years ago by mkommend

r13362: Forgot to commit IMultiObjectiveProblem.

comment:16 Changed 5 years ago by mkommend

r13364: Refactored IntegerVectorEncoding, KnapsackProblem, and P3.

comment:17 Changed 5 years ago by abeham

r13365: fixed recreation of programmable problem's encoding

comment:18 Changed 5 years ago by mkommend

r13366: Adapted PermutationEncoding and TSP.

comment:19 Changed 5 years ago by mkommend

r13372: Fixed all problems.

comment:20 Changed 5 years ago by abeham

r13373: adapted templates, fixed missing reference in outdated plugin lawnmower

comment:21 Changed 5 years ago by abeham

r13374: removed obsolete file

comment:22 Changed 5 years ago by abeham

r13376: working on refactoring

comment:23 Changed 5 years ago by mkommend

r13377: Added missing interfaces to problems.

comment:24 Changed 5 years ago by abeham

r13380: updated categories, template

comment:25 Changed 5 years ago by abeham

r13382: added default ctor to SymbolicExpressionTreeEncoding (otherwise the parameter in Problem<..> cannot create it)

comment:26 Changed 5 years ago by abeham

r13385: fixed plugin dependencies and updated samples

comment:27 Changed 5 years ago by abeham

r13388:

  • Readded excluded views
  • Removed ProblemInstanceProviderView which was not referenced in the project file
  • Fixed plugin dependency

comment:28 Changed 5 years ago by abeham

r13390: fixed template and bug in programmable problem with multi encoding

comment:29 Changed 5 years ago by abeham

r13396:

  • Refactored QuadraticAssignmentProblem to use new SingleObjectiveProblem
    • Removed QAPEvaluator
    • Adapted RobustTabooSearch
  • Introduced several interfaces in PermutationEncoding necessary for wiring
  • Changed all Encodings to use IItem instead of IOperator in ConfigureOperators (name still unchanged)
  • Added a protected MaximizationParameter property in SingleObjectiveProblem (necessary for wiring)
  • Changed AlleleFrequencyAnalyzer to use ISolution interface instead of IItem
  • Added a comment to ISolutionCreator<TSolution> of some changes that would be welcomed
Last edited 5 years ago by abeham (previous) (diff)

comment:30 Changed 5 years ago by abeham

r13403:

  • Adapted single-objective test function problem to new problem infrastructure
  • Added additional interfaces to RealVectorEncoding
  • Fixed IParticleUpdater interface (must implement IStochasticOperator if it contains a Random parameter)

comment:31 Changed 5 years ago by abeham

I'd like to suggest that we swap the generic type parameters from Problem<TEncoding, TSolution> to Problem<TSolution, TEncoding>. The reason is that TSolution is limiting TEncoding and not vice versa. It feels strange to write the more limiting generic type parameter first.

comment:32 Changed 5 years ago by abeham

r13404:

  • Adapted Knapsack problem to new problem infrastructure
  • Introduced additional interfaces in binary vector encoding
  • Improved KnapsackImprovementOperator which requires less evaluated solutions in case of an infeasible start solution

Loosely related change:

  • All LookupParameters are now shown by default
  • Wiring code should make sure that wired parameters are hidden

comment:33 Changed 5 years ago by abeham

r13405: Implemented SchafferF6 test function

comment:34 Changed 5 years ago by abeham

  • Description modified (diff)

comment:35 Changed 5 years ago by abeham

  • Description modified (diff)

comment:36 Changed 5 years ago by abeham

  • Description modified (diff)

comment:37 Changed 5 years ago by mkommend

  • Description modified (diff)

comment:38 Changed 5 years ago by mkommend

r13408: Adapted unit tests in problem refactoring branch.

All compile, some fail:

  • SA Rastrigin example (missing move evaluators?)
  • LS Knapsack example
Last edited 5 years ago by mkommend (previous) (diff)

comment:39 Changed 5 years ago by mkommend

r13422: Adapted type discovery and type selector to allow the creation of generic programmable problems.

comment:40 Changed 5 years ago by mkommend

  • Description modified (diff)

comment:41 Changed 5 years ago by mkommend

r13435: Intermediate version of schedule encoding refactoring.

comment:42 Changed 5 years ago by mkommend

r13436: Minor improvements in SchedulingEncoding.

comment:43 Changed 5 years ago by mkommend

r13437: Added encodings for schedules.

Last edited 5 years ago by mkommend (previous) (diff)

comment:44 Changed 5 years ago by mkommend

r13443: Adapted decoders for SchedulingProblem.

comment:45 Changed 5 years ago by pfleck

r13449

  • Replaced JSMDecodingErrorPolicy and JSMForcingStrategy with EnumValues.
  • Removed obsolete views for the scheduling enums.

comment:46 Changed 5 years ago by mkommend

r13469: Refactored problem base classes and adapted scheduling encoding, scheduling problem and unit tests.

comment:47 Changed 5 years ago by mkommend

  • Description modified (diff)

comment:48 Changed 4 years ago by abeham

r14684: added clean script

comment:49 Changed 3 years ago by abeham

r15697: renamed branch according to guidelines

comment:50 Changed 21 months ago by abeham

r16532: reverted r14429

comment:51 Changed 19 months ago by abeham

r16692: merged trunk changes up to r15681 into branch (removal of trunk/sources)

comment:52 Changed 18 months ago by abeham

r16723: merged changes from r15684 to trunk HEAD (r16716) and resolved all merge conflicts

  • it doesn't build

comment:53 Changed 18 months ago by mkommend

r16724: Corrected compilation errors in some projects.

comment:54 Changed 18 months ago by abeham

r16725:

  • Adapt Encodings.ScheduleEncoding to new persistence
  • Adapt Problems.Programmable to new persistence

comment:55 Changed 18 months ago by abeham

r16726: fixed single-objective test functions

comment:56 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:57 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:58 Changed 18 months ago by abeham

r16749: fixed RealVectorEncoding

comment:59 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:60 Changed 18 months ago by mkommend

  • Description modified (diff)

r16750: Renamed SingleObjectiveProgrammableProblemView to ProgrammableProblemView.

comment:61 Changed 18 months ago by abeham

  • Description modified (diff)

comment:62 Changed 18 months ago by mkommend

  • Description modified (diff)

r16751: Renamed Solution to EncodedSolution.

comment:63 Changed 18 months ago by abeham

r16752: added comment to P3

  • removed todos from EvaluationServiceClientView

comment:64 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:65 Changed 18 months ago by mkommend

r16753: Made basic problem specific operators internal and sealed.

comment:66 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:67 Changed 18 months ago by abeham

r16767: Adapted graph coloring problem

comment:68 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:69 Changed 18 months ago by mkommend

r16801: Merged trunk changes and adapted programmable problem templates for combined solutions.

comment:70 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:71 Changed 18 months ago by mkommend

r16806: Added StorableType attributes to interfaces and adapted basic problems.
r16807: Adapted test functions to new architecture and partly MOCMAES.

comment:72 Changed 18 months ago by mkommend

r16808: Added StorableType to FitnessFunction enum of GraphColoringProblem.

comment:73 Changed 18 months ago by abeham

  • Description modified (diff)

comment:74 Changed 18 months ago by abeham

r16811: Removed usage of default constructor

comment:75 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:76 Changed 18 months ago by abeham

  • Description modified (diff)

r16812: fixed naming

comment:77 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:78 Changed 18 months ago by mkommend

  • Description modified (diff)

comment:79 Changed 18 months ago by mkommend

r16813: Changed base ctor call in all GeneticProgrammingProblems.

comment:80 Changed 18 months ago by abeham

  • Description modified (diff)

comment:81 Changed 18 months ago by mkommend

r16814: Adapted binary problems and moved to abstract base class to encoding.

comment:82 Changed 18 months ago by mkommend

r16815: Made programmable problem base classes abstract.

comment:83 Changed 18 months ago by abeham

r16816: Refactored external evaluation problem

comment:84 Changed 17 months ago by abeham

r16874: separated single-objective and multi-objective categories

comment:85 Changed 17 months ago by abeham

  • Description modified (diff)

comment:86 Changed 17 months ago by abeham

r16876:

  • Added abstract multi-objective problem class for binary vector encoding
  • Added abstract problem classes for integer vector encoding

comment:87 Changed 17 months ago by abeham

  • Description modified (diff)

comment:88 Changed 17 months ago by mkommend

r16946: Merged trunk changes up to r16945 into branch.

comment:89 Changed 17 months ago by mkommend

r16947: Adapted GP basic problems to use read-only value parameters.

comment:90 Changed 17 months ago by abeham

r16948: Added and modified encoding-specific abstract base classes

comment:91 Changed 17 months ago by abeham

r16949: Adapted test function problems to new real vector problem

  • Made encoding readonly in symbolic expression tree problem

comment:92 Changed 17 months ago by abeham

r16950: Refactor Analyze method of encoding-specific problems, simplify Analyze of SO-TF

comment:93 Changed 13 months ago by mkommend

r17225: Integrated changes of #2943 into problem refactoring branch.

comment:94 Changed 13 months ago by abeham

  • Description modified (diff)

comment:95 Changed 13 months ago by abeham

  • Description modified (diff)

comment:96 Changed 13 months ago by mkommend

r17226: Merged trunk changes into problem refactoring branch.

comment:97 Changed 13 months ago by abeham

  • Description modified (diff)

comment:98 Changed 13 months ago by abeham

r17229: Refactored ParetoFrontScatterPlot (moved from TestFunctions.MultiObjective to Analysis)

  • Introduced generic type that may work with all solution encodings

comment:99 Changed 13 months ago by abeham

r17230: add multi-objective analysis to all multi-objective encoding-base problems

comment:100 Changed 13 months ago by abeham

r17232: Improve speed of Evaluate() in QuadraticAssignmentProblem

comment:101 Changed 13 months ago by abeham

  • Description modified (diff)

comment:102 Changed 13 months ago by abeham

  • Description modified (diff)

comment:103 Changed 13 months ago by abeham

r17239: working on refactoring TSP

comment:104 Changed 13 months ago by abeham

r17241: worked on refactoring TSP

comment:105 Changed 13 months ago by abeham

r17248: working on TSP refactoring

comment:106 Changed 13 months ago by abeham

r17251: finished refactoring TSP

comment:107 Changed 13 months ago by abeham

r17252: made QAP problem data readonly

  • Also refactored instance providers slightly to specify file extension for importing and exporting data and fixing dialogs

comment:108 Changed 13 months ago by abeham

r17253: worked on refactoring PTSP

comment:109 Changed 13 months ago by abeham

r17254: Added context lookup parameter

  • Refactored tests
  • Fixed duplicate GUID

comment:110 Changed 13 months ago by abeham

  • Description modified (diff)

comment:111 Changed 12 months ago by abeham

r17257: Refactored ContextLookupParameter with suggestions from mkommend

  • Add StorableType attribute to some types

comment:112 Changed 12 months ago by mkommend

r17258: Removed failing projects from solution.

comment:113 Changed 12 months ago by abeham

r17259: fixed bug in lookup paramater introduced in refactoring

comment:114 Changed 12 months ago by abeham

r17260: Worked on PTSP refactoring

Last edited 12 months ago by abeham (previous) (diff)

comment:115 Changed 12 months ago by mkommend

r17261: Refactored multi-obj test functions and CMA-ES.

comment:116 Changed 12 months ago by mkommend

r17262: Adapted unit tests for multi-objective analysis.

comment:117 Changed 12 months ago by abeham

r17264:17265:

  • Finished refactoring pTSP
  • Remove usage of solutions or best-known quality when converting TSPLIB instances to pTSP instances

comment:118 Changed 12 months ago by abeham

  • Description modified (diff)

comment:119 Changed 12 months ago by abeham

r17270: worked on removing virtual from Maximization for single-objective problems

comment:120 Changed 12 months ago by mkommend

r17279: Updated single-objective problem to include a static is better method and fixed setter of maximization property.

comment:121 Changed 12 months ago by abeham

r17309: Refactored maximization property for multi-objective problems

comment:122 Changed 12 months ago by abeham

  • Description modified (diff)

comment:123 Changed 12 months ago by abeham

r17315: : reverted r17309

comment:124 Changed 12 months ago by abeham

  • Description modified (diff)

r17317: refactored multi-objective problems' maximization

  • Add ForceValue method to IValueParameter to perform changes even when it is read-only
  • Add MaximizationChanged event handler

comment:125 Changed 12 months ago by abeham

  • Description modified (diff)

comment:126 Changed 12 months ago by abeham

  • Description modified (diff)

comment:127 Changed 12 months ago by mkommend

r17320: Added cancellation token to evaluate function of problems.

@abeham please review (especially the changes in the external evaluation problem and cache).

comment:128 Changed 12 months ago by mkommend

  • Description modified (diff)

comment:129 Changed 12 months ago by abeham

  • Description modified (diff)

Changes look good.

comment:130 Changed 12 months ago by abeham

r17321: fixed compile errors in Tests

comment:131 Changed 12 months ago by mkommend

r17333: Updated branch with most recent trunk changes.

comment:132 Changed 12 months ago by abeham

  • Description modified (diff)

comment:133 Changed 12 months ago by mkommend

r17334: Moved IStorableContent from generic problem implementation to IProblem.

comment:134 Changed 11 months ago by abeham

r17335:17336: Refactored pTSP to use compositional pattern

comment:135 Changed 11 months ago by bwerth

  • Description modified (diff)

r17338 fixed crowding unit tests, moved CrowdingTest, HyperVolumeTests and FastHyperVolumeTests to their own subfolder

comment:136 Changed 11 months ago by bwerth

  • Description modified (diff)

reversed unintentional description modification

comment:137 Changed 11 months ago by bwerth

r17340 forgot to commit changes to HeuristicLab.Optimization-3.3.csproj

comment:138 Changed 10 months ago by abeham

r17355: removed obsolete files and fixed compilation error in VnsTspSampleTest

comment:139 Changed 10 months ago by abeham

r17356: fixed some problems in Samples.Create unit tests and updated samples

comment:140 Changed 10 months ago by mkommend

r17357: Added solution context and evaluation results.

comment:141 Changed 10 months ago by mkommend

r17358: Corrected cloning method of solution contexts.

comment:142 Changed 10 months ago by abeham

r17359: fix bugs in unit tests, add vns_tsp sample

comment:143 Changed 10 months ago by abeham

r17360: fixed some unit tests

comment:144 Changed 10 months ago by abeham

r17361: fixed further unit tests (plugin dependencies)

comment:145 Changed 10 months ago by mkommend

r17363: First version of contexts in problem evaluation.

comment:146 Changed 10 months ago by mkommend

r17366: Fixed bugs in solution context and adapted programmable problem template to include a cancellation token in the evaluate function.

comment:147 Changed 10 months ago by abeham

  • Description modified (diff)

comment:148 Changed 10 months ago by abeham

  • Description modified (diff)

comment:149 Changed 10 months ago by abeham

r17373: changed dependency

comment:150 Changed 9 months ago by mkommend

r17381: Fixed single-objective evaluation results and scope contexts.

comment:151 Changed 9 months ago by mkommend

r17382: Refactored single-objective problems to use EvaluationResult instead of double as return type from Evaluate.

comment:152 Changed 9 months ago by mkommend

r17383: Adapted analyze methods of single-obj problems.

comment:153 Changed 9 months ago by mkommend

  • Description modified (diff)

comment:154 Changed 8 months ago by gkronber

Would like to discuss the need to pass the CancellationToken from the algorithm to the Evaluate() method. This would be useful for problems where an evaluation involves a long-running simulation.

Currently, the engine passes the CancellationToken as an argument when calling Execute() for operators. However, for evaluators the CancellationToken is not passed on.

comment:155 Changed 7 months ago by mkommend

  • Description modified (diff)

comment:156 Changed 7 months ago by mkommend

r17457: Merged trunk changes from 15684-HEAD into the branch.

Fully automated merges are not possible due to the removal of the sources folder in r15683.

comment:157 Changed 7 months ago by mkommend

r17459: Added storable type attributes to interfaces.

comment:158 Changed 7 months ago by mkommend

  • Description modified (diff)

comment:159 Changed 7 months ago by abeham

r17461: worked on scheduling problem

comment:160 Changed 7 months ago by abeham

r17462: worked on JSSP

comment:161 Changed 7 months ago by abeham

  • Description modified (diff)

comment:162 Changed 5 months ago by mkommend

r17513: Splitted problems into several problem and encoded problems.

comment:163 Changed 5 months ago by mkommend

  • Description modified (diff)

comment:164 Changed 5 months ago by mkommend

r17514: Merged trunk changes into branch.

comment:165 Changed 5 months ago by mkommend

  • Description modified (diff)

comment:166 Changed 5 months ago by abeham

r17516: fixed build fail in tests

comment:167 Changed 5 months ago by mkommend

r17515: Added interface for supervised dataanalysis problem data.

comment:168 Changed 5 months ago by mkommend

  • Description modified (diff)

comment:169 Changed 5 months ago by abeham

r17517: Worked on ResultParameter for Problem and Algorithms

  • Add ResultParameter to TSP, BinaryVectorProblem, and HillClimber
  • Refactor ResultParameter to allow presetting the ResultCollection instead of having to discover it (e.g. for use in BasicAlgorithms)
  • Unify Results property among EngineAlgorithm and BasicAlgorithm
    • There is now only a single instance which is storable

comment:170 Changed 5 months ago by mkommend

r17518: Added ctor in implementations of data analysis problems and sealed the basic versions.

comment:171 Changed 5 months ago by mkommend

r17520: Removed parameter for problemData in IDataAnalysisProblem.

comment:172 Changed 5 months ago by mkommend

r17521: Fixed loading of start page samples due to missing types.

comment:173 Changed 5 months ago by abeham

r17522: WIP refactoring: Introduce nicer type IResultDefinition for API users to avoid complex IParameter interface (hide ActualValue) Change result parameter to contexts (need quality and solution): only implemented for BinaryVectorProblem

r17525: working on porting orienteering problem Open points include:

  • Visualization of OrienteeringProblemData
  • Fix visualization of solution
  • Cleanup unused classes

comment:174 Changed 5 months ago by abeham

r17526: Completed porting of OrienteeringProblem

  • Adapted unit tests
  • Commented non-working unit test

comment:175 Changed 5 months ago by abeham

r17527: commented test

comment:176 Changed 5 months ago by abeham

r17528:

  • Adapted plugin dependencies

comment:177 Changed 5 months ago by abeham

r17529: some fixes and reusing handling of distance measure as defined in TSP

comment:178 Changed 5 months ago by abeham

r17530: Refactored linear assignment problem

comment:179 Changed 5 months ago by abeham

r17531: fixed duplicate guid

comment:180 Changed 5 months ago by mkommend

r17532: Added first implementation of new reference parameters and corrected fixed value parameter.

comment:181 Changed 5 months ago by abeham

r17533: Unified architecture

comment:182 Changed 4 months ago by mkommend

r17543: Merged trunk changes into branch (+ corrected type in unit test).

comment:183 Changed 4 months ago by abeham

r17544: worked on refactoring, worked a lot on binary encoding / problems

comment:184 Changed 4 months ago by abeham

r17545: Reverse default behavior of readonly parameters (adapt MO binary problem too)

comment:185 Changed 4 months ago by abeham

r17546: Introduce class to make parameter change handling easier, fix bug in SingleObjectiveProblem regarding MaximizationChanged

comment:186 Changed 4 months ago by abeham

r17567: work in progress

comment:187 Changed 4 months ago by mkommend

r17566: Decoupled readonly state of ReferenceParameter from the referenced parameter and corrected cloning.

comment:188 Changed 4 months ago by mkommend

r17569: Merged trunk changes into branch.

comment:189 Changed 4 months ago by abeham

r17570: work in progress

comment:190 Changed 4 months ago by mkommend

r17571: Changed parameters to use readonly only for GUI manipulation.

comment:191 Changed 4 months ago by abeham

r17577: remove scope-based contexts, add helper methods to ScopeUtil, adapt operators

comment:192 Changed 4 months ago by abeham

r17578: changed initialization (C# 7.0 compliant)

comment:193 Changed 4 months ago by abeham

r17587: refactoring in progress

comment:194 Changed 4 months ago by abeham

r17586: Merged trunk changes into problem refactoring branch. (by mkommend)

comment:195 Changed 4 months ago by abeham

r17592: changed order to prevent overwriting of quality

comment:196 Changed 4 months ago by mkommend

r17594: Added first version of new results. The first algorithm that has been adapted for testing purposes is the hill climber.

comment:197 Changed 4 months ago by mkommend

  • Description modified (diff)

comment:198 Changed 4 months ago by mkommend

r17595: Added storable type attribute to Result.

comment:199 Changed 4 months ago by gkronber

I can take over this task 'Change NCA, GPR & GPC, and BFGS to basic algorithms.'

comment:200 Changed 4 months ago by abeham

Thanks! That would be great. We'll keep you updated when we perceive the infrastructure as stable enough for these tasks.

Michael is currently working on adding an indication of the results that the algorithm will produce when it is run (name and type basically).

comment:201 Changed 3 months ago by mkommend

r17598: Deleted old problem interface.

comment:202 Changed 3 months ago by mkommend

r17610: Removed unnecessary default ctors from problem base classes.

comment:203 Changed 3 months ago by mkommend

r17612: Added first version of problem results.

comment:204 Changed 3 months ago by mkommend

  • Description modified (diff)

comment:205 Changed 3 months ago by mkommend

r17613: Corrected storable property for problem results.

comment:206 Changed 3 months ago by abeham

r17614: work in progress (removed solution creator parameter from encoding), OrienteeringProblem and test functions are broken

comment:207 Changed 3 months ago by abeham

r17620:

  • Fixed orienteering problem
  • Corrected ParameterizeOperators in all encoding-specific problem base classes
  • Added new interfaces and wiring code to IntegerVectorEncoding

comment:208 Changed 3 months ago by abeham

r17625:

  • Changed IParticleCreator to not derive from ISolutionCreator (it calls the solution creator itself, thus leading to an infinite loop)
  • Remove ForceValue method and added method to set value in constrained value parameters from valid values
  • Fix ScopeTreeLookupParameter not caching the actual value
  • Fixed single-objective test functions and removed lots of parameterize code

comment:209 Changed 3 months ago by abeham

r17654: removed NonDicoverableType attribute from tree creators in the symbolic expression tree encoding

comment:210 Changed 3 months ago by abeham

r17655: adapted readonly of reference parameters

comment:211 Changed 3 months ago by abeham

r17656: fixed unit test compile error

comment:212 Changed 2 months ago by abeham

r17680: working on problems / fixing P3

comment:213 Changed 2 months ago by abeham

r17690: worked on multi-objective test function

comment:214 Changed 2 months ago by abeham

r17694: fixed encoding change of JSSP, added tostring and itemimage change to ValueChanged event of ReferenceParameter

comment:215 Changed 2 months ago by abeham

Big change, solution creator has been moved to algorithm

r17695:

  • Moving solution creator parameter from problems to algorithms (breaking wiring in some HeuristicOptimizationProblems)
  • Disallowing evaluator or encoding changes in encoding-specific base problems (to avoid confusion in derived problems whether this needs to be handled or not)
  • Added private set to ReferenceParameter property (serialization)

comment:216 Changed 2 months ago by abeham

r17696:

  • fixed bug in EngineAlgorithm in Problem setter
  • Added storable type to IEncodedProblem
  • fixed some bugs and tests

comment:217 Changed 2 months ago by abeham

r17697: changed parameterization in TSP

comment:218 Changed 2 months ago by abeham

r17698: working on VRP (WIP)

comment:219 Changed 2 months ago by abeham

r17699: Made encodings non-generic classes (the TEncodedSolution type parameter is not actually used), this will make it considerably easier to port the VRP to the new architecture

comment:220 Changed 2 months ago by abeham

r17704: worked on VRP

comment:221 Changed 8 weeks ago by abeham

r17706: working on VRP

comment:222 Changed 8 weeks ago by abeham

r17708: working on VRP

comment:223 Changed 8 weeks ago by abeham

r17709: working on VRP

comment:224 Changed 8 weeks ago by abeham

r17710: working on VRP

comment:225 Changed 8 weeks ago by abeham

r17711: working on VRP

comment:226 Changed 8 weeks ago by abeham

r17712: working on VRP

comment:227 Changed 8 weeks ago by abeham

r17713: fixed bug

comment:228 Changed 8 weeks ago by abeham

r17714: fixed some issues in tests, renamed classes

comment:229 Changed 8 weeks ago by abeham

r17715: working on VRP (analyzers)

comment:230 Changed 8 weeks ago by abeham

r17716: changed storable type guids

comment:231 Changed 7 weeks ago by abeham

r17717: working on VRP (refactoring all the capabilities, features, and operator discovery)

comment:232 Changed 7 weeks ago by abeham

r17718: completed port of VRP (needs testing though)

comment:233 Changed 11 days ago by mkommend

r17745: Added first draft of results implementation and problem adaptation.

comment:234 Changed 11 days ago by mkommend

r17746: Added missing files.

comment:235 Changed 11 days ago by abeham

r17747 worked on refactoring

  • add results to problem base classes
  • fix external evaluation problem
  • Add result descriptions

comment:236 Changed 11 days ago by abeham

r17748: fixed code so that unit test runs

Note: See TracTickets for help on using tickets.