Changes between Version 2 and Version 3 of Ticket #2931, comment 15

01/18/19 11:40:19 (4 months ago)


  • Ticket #2931, comment 15

    v2 v3  
    3232   * The problem definition is not cloned in the cloning constructor (necessary to derive ILinearProgrammingProblemDefinition from IDeepCloneable)
    3333  * LinearProgrammingAlgorithm.cs
    34    *
     34   * I think it would be okay to seal this class (do we really want someone to derive from this?)
     35   * We should also expose getters for the parameters in addition to getters for the values as it allows registering change events. However, parameter properties should only expose getter no setter (e.g. LinearSolver and LinearSolverParameter, but remove setter for the latter).
     36   * Move Problem/ProblemType properties and Supports* properties to the top (similar style to other algorithms)
     37   * Is it really necessary to override Results?
     38   * An new event handler is attached to ExecutionTimeChanged each time the algorithm is started, is this really necessary? Also, it creates some complex reference structures as this timespan enters the solver class. If this is stored somewhere, then all previous solver instances may remain in memory as the algorithm holds references to each via the ExecutionTimeChanged event.
     39  * IncrementalLinearSolver.cs
     40   * The private variables bpcRow, qpcRow may be moved to just local variables of UpdateQuality
     41    * You can retrieve them from the IndexedDataTable when it exists (Rows has a string indexer)
     42    * Why is adding these rows to the indexed data table delayed to the check if they contain some values and not done right after instantiating them?