Opened 10 days ago

#2804 new feature request

Redesign solution types

Reported by: abeham Owned by:
Priority: medium Milestone: HeuristicLab 3.3.x Backlog
Component: Encodings Version: 3.3.14
Keywords: Cc:

Description

A lot of encoded solution types (e.g. BinaryVector, RealVector, etc.) derive originally from ValueTypeArray<T>. Usually, ValueTypeArray<T> is fine for storing problem data or other data not relevant for performance. But an encoded solution should be as small as possible in terms of memory footprint and as fast as possible in terms of manipulation, cloning, etc.

Each ValueTypeArray<T> currently stores a List<string> elementNames as well as two boolean flags (readonly and resizable). For a RealVector this is unused payload. Additionally, the encoded solutions should be sealed and we should think about making these classes immutable so that cloning becomes cheap. Additional options would be to base them on persistent data structures (see #2727).

Change History (0)

Note: See TracTickets for help on using tickets.