Calculate the criterion points of a set of points and ranges to find the set of non-dominated points (Pareto points) and classify them into extreme supported, non-extreme supported, non-supported.
Source:R/ndset.R
criterionPoints.RdCalculate the criterion points of a set of points and ranges to find the set of non-dominated points (Pareto points) and classify them into extreme supported, non-extreme supported, non-supported.
Arguments
- pts
A data frame with a column for each variable in the solution space (can also be a
rangePoints).- obj
A p x n matrix(one row for each criterion).
- crit
Either
maxormin.- labels
If
NULLor "n" don't add any labels (empty string). If equalscoord, labels are the solution space coordinates. Otherwise number all points from one based on the solution space points.
Value
A data frame with columns x1, ..., xn, z1, ..., zp, lbl (label), nD (non-dominated), ext (extreme), nonExt (non-extreme supported).
Author
Lars Relund lars@relund.dk
Examples
A <- matrix( c(3, -2, 1, 2, 4, -2, -3, 2, 1), nc = 3, byrow = TRUE)
b <- c(10,12,3)
pts <- integerPoints(A, b)
obj <- matrix( c(1,-3,1,-1,1,-1), byrow = TRUE, ncol = 3 )
criterionPoints(pts, obj, crit = "max", labels = "numb")
#> x1 x2 x3 z1 z2 lbl nd se sne us cls
#> 1 0 0 0 0 0 1 TRUE TRUE FALSE FALSE se
#> 2 1 0 0 1 -1 2 TRUE FALSE TRUE FALSE sne
#> 3 1 0 0 1 -1 2 TRUE FALSE TRUE FALSE sne
#> 4 2 0 0 2 -2 3 TRUE FALSE TRUE FALSE sne
#> 5 2 0 0 2 -2 3 TRUE FALSE TRUE FALSE sne
#> 6 2 0 0 2 -2 3 TRUE FALSE TRUE FALSE sne
#> 7 3 0 0 3 -3 4 TRUE FALSE TRUE FALSE sne
#> 8 3 0 0 3 -3 4 TRUE FALSE TRUE FALSE sne
#> 9 3 0 0 3 -3 4 TRUE FALSE TRUE FALSE sne
#> 10 3 0 0 3 -3 4 TRUE FALSE TRUE FALSE sne
#> 11 0 1 0 -3 1 5 TRUE TRUE FALSE FALSE se
#> 12 1 1 0 -2 0 6 FALSE FALSE FALSE TRUE d
#> 13 1 1 0 -2 0 6 FALSE FALSE FALSE TRUE d
#> 14 2 1 0 -1 -1 7 FALSE FALSE FALSE TRUE d
#> 15 2 1 0 -1 -1 7 FALSE FALSE FALSE TRUE d
#> 16 3 1 0 0 -2 8 FALSE FALSE FALSE TRUE d
#> 17 3 1 0 0 -2 8 FALSE FALSE FALSE TRUE d
#> 18 3 1 0 0 -2 8 FALSE FALSE FALSE TRUE d
#> 19 4 1 0 1 -3 9 FALSE FALSE FALSE TRUE d
#> 20 4 1 0 1 -3 9 FALSE FALSE FALSE TRUE d
#> 21 4 1 0 1 -3 9 FALSE FALSE FALSE TRUE d
#> 22 4 1 0 1 -3 9 FALSE FALSE FALSE TRUE d
#> 23 1 2 0 -5 1 10 FALSE FALSE FALSE TRUE d
#> 24 2 2 0 -4 0 11 FALSE FALSE FALSE TRUE d
#> 25 2 2 0 -4 0 11 FALSE FALSE FALSE TRUE d
#> 26 0 0 1 1 -1 12 TRUE FALSE TRUE FALSE sne
#> 27 0 0 1 1 -1 12 TRUE FALSE TRUE FALSE sne
#> 28 1 0 1 2 -2 13 TRUE FALSE TRUE FALSE sne
#> 29 1 0 1 2 -2 13 TRUE FALSE TRUE FALSE sne
#> 30 1 0 1 2 -2 13 TRUE FALSE TRUE FALSE sne
#> 31 2 0 1 3 -3 14 TRUE FALSE TRUE FALSE sne
#> 32 2 0 1 3 -3 14 TRUE FALSE TRUE FALSE sne
#> 33 2 0 1 3 -3 14 TRUE FALSE TRUE FALSE sne
#> 34 2 0 1 3 -3 14 TRUE FALSE TRUE FALSE sne
#> 35 3 0 1 4 -4 15 TRUE FALSE TRUE FALSE sne
#> 36 3 0 1 4 -4 15 TRUE FALSE TRUE FALSE sne
#> 37 3 0 1 4 -4 15 TRUE FALSE TRUE FALSE sne
#> 38 0 1 1 -2 0 16 FALSE FALSE FALSE TRUE d
#> 39 0 1 1 -2 0 16 FALSE FALSE FALSE TRUE d
#> 40 1 1 1 -1 -1 17 FALSE FALSE FALSE TRUE d
#> 41 1 1 1 -1 -1 17 FALSE FALSE FALSE TRUE d
#> 42 2 1 1 0 -2 18 FALSE FALSE FALSE TRUE d
#> 43 2 1 1 0 -2 18 FALSE FALSE FALSE TRUE d
#> 44 2 1 1 0 -2 18 FALSE FALSE FALSE TRUE d
#> 45 3 1 1 1 -3 19 FALSE FALSE FALSE TRUE d
#> 46 3 1 1 1 -3 19 FALSE FALSE FALSE TRUE d
#> 47 3 1 1 1 -3 19 FALSE FALSE FALSE TRUE d
#> 48 3 1 1 1 -3 19 FALSE FALSE FALSE TRUE d
#> 49 1 2 1 -4 0 20 FALSE FALSE FALSE TRUE d
#> 50 1 2 1 -4 0 20 FALSE FALSE FALSE TRUE d
#> 51 2 2 1 -3 -1 21 FALSE FALSE FALSE TRUE d
#> 52 2 2 1 -3 -1 21 FALSE FALSE FALSE TRUE d
#> 53 3 2 1 -2 -2 22 FALSE FALSE FALSE TRUE d
#> 54 3 2 1 -2 -2 22 FALSE FALSE FALSE TRUE d
#> 55 0 0 2 2 -2 23 TRUE FALSE TRUE FALSE sne
#> 56 0 0 2 2 -2 23 TRUE FALSE TRUE FALSE sne
#> 57 0 0 2 2 -2 23 TRUE FALSE TRUE FALSE sne
#> 58 1 0 2 3 -3 24 TRUE FALSE TRUE FALSE sne
#> 59 1 0 2 3 -3 24 TRUE FALSE TRUE FALSE sne
#> 60 1 0 2 3 -3 24 TRUE FALSE TRUE FALSE sne
#> 61 1 0 2 3 -3 24 TRUE FALSE TRUE FALSE sne
#> 62 2 0 2 4 -4 25 TRUE FALSE TRUE FALSE sne
#> 63 2 0 2 4 -4 25 TRUE FALSE TRUE FALSE sne
#> 64 2 0 2 4 -4 25 TRUE FALSE TRUE FALSE sne
#> 65 1 1 2 0 -2 26 FALSE FALSE FALSE TRUE d
#> 66 1 1 2 0 -2 26 FALSE FALSE FALSE TRUE d
#> 67 1 1 2 0 -2 26 FALSE FALSE FALSE TRUE d
#> 68 2 1 2 1 -3 27 FALSE FALSE FALSE TRUE d
#> 69 2 1 2 1 -3 27 FALSE FALSE FALSE TRUE d
#> 70 2 1 2 1 -3 27 FALSE FALSE FALSE TRUE d
#> 71 2 1 2 1 -3 27 FALSE FALSE FALSE TRUE d
#> 72 3 1 2 2 -4 28 FALSE FALSE FALSE TRUE d
#> 73 3 1 2 2 -4 28 FALSE FALSE FALSE TRUE d
#> 74 3 1 2 2 -4 28 FALSE FALSE FALSE TRUE d
#> 75 1 2 2 -3 -1 29 FALSE FALSE FALSE TRUE d
#> 76 1 2 2 -3 -1 29 FALSE FALSE FALSE TRUE d
#> 77 2 2 2 -2 -2 30 FALSE FALSE FALSE TRUE d
#> 78 2 2 2 -2 -2 30 FALSE FALSE FALSE TRUE d
#> 79 3 2 2 -1 -3 31 FALSE FALSE FALSE TRUE d
#> 80 3 2 2 -1 -3 31 FALSE FALSE FALSE TRUE d
#> 81 4 2 2 0 -4 32 FALSE FALSE FALSE TRUE d
#> 82 4 2 2 0 -4 32 FALSE FALSE FALSE TRUE d
#> 83 4 2 2 0 -4 32 FALSE FALSE FALSE TRUE d
#> 84 2 3 2 -5 -1 33 FALSE FALSE FALSE TRUE d
#> 85 0 0 3 3 -3 34 TRUE FALSE TRUE FALSE sne
#> 86 0 0 3 3 -3 34 TRUE FALSE TRUE FALSE sne
#> 87 0 0 3 3 -3 34 TRUE FALSE TRUE FALSE sne
#> 88 0 0 3 3 -3 34 TRUE FALSE TRUE FALSE sne
#> 89 1 0 3 4 -4 35 TRUE FALSE TRUE FALSE sne
#> 90 1 0 3 4 -4 35 TRUE FALSE TRUE FALSE sne
#> 91 1 0 3 4 -4 35 TRUE FALSE TRUE FALSE sne
#> 92 2 0 3 5 -5 36 TRUE FALSE TRUE FALSE sne
#> 93 2 0 3 5 -5 36 TRUE FALSE TRUE FALSE sne
#> 94 1 1 3 1 -3 37 FALSE FALSE FALSE TRUE d
#> 95 1 1 3 1 -3 37 FALSE FALSE FALSE TRUE d
#> 96 1 1 3 1 -3 37 FALSE FALSE FALSE TRUE d
#> 97 1 1 3 1 -3 37 FALSE FALSE FALSE TRUE d
#> 98 2 1 3 2 -4 38 FALSE FALSE FALSE TRUE d
#> 99 2 1 3 2 -4 38 FALSE FALSE FALSE TRUE d
#> 100 2 1 3 2 -4 38 FALSE FALSE FALSE TRUE d
#> 101 3 1 3 3 -5 39 FALSE FALSE FALSE TRUE d
#> 102 3 1 3 3 -5 39 FALSE FALSE FALSE TRUE d
#> 103 2 2 3 -1 -3 40 FALSE FALSE FALSE TRUE d
#> 104 2 2 3 -1 -3 40 FALSE FALSE FALSE TRUE d
#> 105 3 2 3 0 -4 41 FALSE FALSE FALSE TRUE d
#> 106 3 2 3 0 -4 41 FALSE FALSE FALSE TRUE d
#> 107 3 2 3 0 -4 41 FALSE FALSE FALSE TRUE d
#> 108 2 3 3 -4 -2 42 FALSE FALSE FALSE TRUE d
#> 109 3 3 3 -3 -3 43 FALSE FALSE FALSE TRUE d
#> 110 1 0 4 5 -5 44 TRUE FALSE TRUE FALSE sne
#> 111 1 0 4 5 -5 44 TRUE FALSE TRUE FALSE sne
#> 112 2 0 4 6 -6 45 TRUE FALSE TRUE FALSE sne
#> 113 2 0 4 6 -6 45 TRUE FALSE TRUE FALSE sne
#> 114 1 1 4 2 -4 46 FALSE FALSE FALSE TRUE d
#> 115 1 1 4 2 -4 46 FALSE FALSE FALSE TRUE d
#> 116 1 1 4 2 -4 46 FALSE FALSE FALSE TRUE d
#> 117 2 1 4 3 -5 47 FALSE FALSE FALSE TRUE d
#> 118 2 1 4 3 -5 47 FALSE FALSE FALSE TRUE d
#> 119 2 2 4 0 -4 48 FALSE FALSE FALSE TRUE d
#> 120 2 2 4 0 -4 48 FALSE FALSE FALSE TRUE d
#> 121 2 2 4 0 -4 48 FALSE FALSE FALSE TRUE d
#> 122 3 2 4 1 -5 49 FALSE FALSE FALSE TRUE d
#> 123 3 2 4 1 -5 49 FALSE FALSE FALSE TRUE d
#> 124 3 3 4 -2 -4 50 FALSE FALSE FALSE TRUE d
#> 125 4 3 4 -1 -5 51 FALSE FALSE FALSE TRUE d
#> 126 4 3 4 -1 -5 51 FALSE FALSE FALSE TRUE d
#> 127 1 0 5 6 -6 52 TRUE FALSE TRUE FALSE sne
#> 128 1 0 5 6 -6 52 TRUE FALSE TRUE FALSE sne
#> 129 2 1 5 4 -6 53 FALSE FALSE FALSE TRUE d
#> 130 2 2 5 1 -5 54 FALSE FALSE FALSE TRUE d
#> 131 2 2 5 1 -5 54 FALSE FALSE FALSE TRUE d
#> 132 3 2 5 2 -6 55 FALSE FALSE FALSE TRUE d
#> 133 3 3 5 -1 -5 56 FALSE FALSE FALSE TRUE d
#> 134 3 3 5 -1 -5 56 FALSE FALSE FALSE TRUE d
#> 135 1 0 6 7 -7 57 TRUE TRUE FALSE FALSE se
#> 136 2 1 6 5 -7 58 FALSE FALSE FALSE TRUE d
#> 137 3 3 6 0 -6 59 FALSE FALSE FALSE TRUE d
#> 138 4 4 6 -2 -6 60 FALSE FALSE FALSE TRUE d