Free cookie consent management tool by TermsFeed Policy Generator

Changes between Initial Version and Version 1 of Ticket #2864, comment 21


Ignore:
Timestamp:
02/13/18 22:23:38 (7 years ago)
Author:
abeham
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2864, comment 21

    initial v1  
    44* Please adhere to the [[Documentation/DevelopmentCenter/DeveloperGuidelines|developer guidelines]], we use K&R style braces
    55* Use english names and descriptions, e.g. SuperDiagonale -> Superdiagonal
     6* Update all license headers' dates (including .frame files)
     7* Some projects do not have x86/x64 platform configurations
    68* LinearOrderingProblem.cs
    79 * Matrix seems like an essential parameter, it should not be an //Optional//ValueParameter, but a normal ValueParameter
     10 * An event handler must be attached to changes to the Parameter that contains the matrix, as well as to the matrix itself. This event handler must also be attached in an after deserialization hook and in the cloning and default ctor. In case the parameter's value changes the event handler to the matrix needs to be reattached. In case the matrix is changed the encoding dimension need to be adapted. In this case, an exception should not be thrown on non-square matrices, as a matrix may sequentially change row and then column information
    811 * Load(LOPData) should check if it's a square matrix and otherwise throw an exception
    9  * line 51: move the event closer to the method that raises it
    10  * line 117: use permut instead of data.BestKnownPermutation
    11  * line 126: check if BestKnownQuality is double.NaN in which case set null
    12  * line 127: fix possible NullReferenceException when BestKnownSolution is null
    13  * line 136: the ToArray() call is a waste of time
    14  * line 146: change the signature of `Evaluate(int[], DoubleMatrix)` to `Evaluate(Permutation, DoubleMatrix)`, wrap in a Permutation during `Load(LOPData)` -> Load is not performance critical, but Evaluate is
    15  * line 146: move it closer to the actual Evaluate method and outside the "Helper Methods" region
    16 
    17 to be continued...
     12 * The problem should implement the Analyze method to add a visual representation of the best solution to the results, respectively update the BestKnownQuality and BestKnownSolution
     13 * line 53: move the event closer to the method that raises it, is this event really necessary? Nobody listens to it and one could easily subscribe to the BestKnownSolutionParameter's ValueChanged event.
     14 * line 119: use permut instead of data.BestKnownPermutation
     15 * line 128: check if BestKnownQuality is double.NaN in which case set null
     16 * line 129: fix possible NullReferenceException when BestKnownSolution is null
     17 * line 138: the ToArray() call is a waste of time
     18 * line 148: change the signature of `Evaluate(int[], DoubleMatrix)` to `Evaluate(Permutation, DoubleMatrix)`, wrap in a Permutation during `Load(LOPData)` -> Load is not performance critical, but Evaluate is, move the method closer to the actual Evaluate method and outside the "Helper Methods" region
     19* PermutationFlowshopSchedulingProblem.cs
     20 * The JobMatrix should not be an //Optional//ValueParameter, it's essential for the problem, it should not contain null
     21 * several of the remarks mentioned for LOP also apply to the PFSP
     22 * The problem should implement the Analyze method to add a visual representation of the best solution to the results, respectively update the BestKnownQuality and BestKnownSolution
     23 * line 165-168: move variable declarations closer to reference
     24 * line 182: Math.Max(..) should be used for clarity, except if it's significantly slower than the ternary operator
     25 * I would suggest to make the Evaluate(int[], DoubleMatrix) method public (should change Permutation for int[]) and instead of double return the calculatedTime matrix (use a double[,] -> DoubleMatrix's setter is slow).
     26* JobShopSchedulingProblemView.cs
     27 * Shouldn't the file as well as the class be called `PermutationFlowshopSchedulingProblemView`?
     28 * Call the aforementioned public Evaluate instead of duplicating the code to generate the calculatedTime matrix
     29 * line 74: the null check can be removed when the JobMatrix parameter has been changed to just ValueParameter
     30* LOPData.cs
     31 * Remove ".Types" from the namespace
     32* FSSPData.cs
     33 * License header
     34 * API doc strings
     35* Problem instance plugin
     36 * Plugin.cs.frame
     37  * wrong namespace
     38 * FSSPTAILIBInstanceProvider.cs
     39  * The reference publication should be a citation of [[https://www.sciencedirect.com/science/article/pii/037722179390182M]]
     40 * A base class for all LOP instance providers could probably avoid code duplication
     41 * LOPXLOLIBInstanceProvider.cs
     42  * The uri returns a 404, please check, maybe case-sensitive
     43 * LOPSPECInstanceProvider.cs
     44  * URI returns 404
     45 * LOPRANDBInstanceProvider.cs
     46  * URI returns 404
     47 * LOPRANDA2InstanceProvider.cs
     48  * URI returns 404
     49 * LOPRANDA1InstanceProvider.cs
     50  * URI returns 404
     51 * AssemblyInfo.cs.frame
     52  * Please check title, product and copyright