270 likes | 555 Views
Feasibility-Preserving Crossover for Maximum k -Coverage Problem. Yourim Yoon Yong-Hyuk Kim Byung-Ro Moon Seoul National University. S 2. S 3. S 4. S 1. S 5. S 6. Covering Problems. Set covering problem # of elements = 12 # of subsets = 6 Min-size set cover?
E N D
Feasibility-Preserving Crossover for Maximum k-Coverage Problem Yourim Yoon Yong-Hyuk Kim Byung-Ro Moon Seoul National University
S2 S3 S4 S1 S5 S6 Covering Problems • Set covering problem • # of elements = 12 • # of subsets = 6 • Min-size set cover? • = {S2, S3, S4}
S2 S3 S4 S1 S5 S6 Maximum k-Coverage Problem • # of elements = 16 • # of subsets = 6 • k = 3 (# of used subsets) • Maximum coverage with 3 subsets? • = {S1, S3, S5} • (covers 13 elements)
Maximum k-Coverage Problem • A generalized version of covering problems • Introduced by [Hochbaum and Pathria, 1998] • NP-hard • Many applications • Covering graphs by subgraphs • Facility location problem • Packing and circuit layout design • Scheduling problems
Representation • Subsets {S1, S2, S3, S4}, n = 4, k = 2 • Two encodings • Binary encoding • Length-n binary string • E.g., {S1, S3} • Integer encoding • Length-k integer string of indices of selected subsets • E.g., {S1, S3} or • Each phenotype is represented by k! genotypes • We consider integer encoding (since k << n)
Motivation • GA should produce offspring such that … • They have as few common elements between genes (subsets) as possible. S4 S1 1 2 3 S2 S3 4 5 m = 5, n = 4, k = 2
Motivation (cont’d) • Integer encoding is redundant • Each phenotype is represented byk! genotypes • In crossover, • Each gene (subset) of Parent 1 should match the gene (subset) of Parent 2 with as many common elements as possible. =
New Crossover • Let distance dij for each subset pair (Si, Sj) be given • Pseudo-code STEP 1. Find an optimal assignment between genes of Parent 1 and those of Parent 2; STEP 2. Normalize Parent 2 using the above assignment; STEP 3. Do traditional n-point crossover between Parent 1 and normalized Parent 2; STEP 1 can be efficiently computed by Hungarian method. Its time complexity is O(k3)
Normalized Parent 2 Gene σ(1) Gene σ(2) … Gene σ(k) Optimal Assignment between Genes Parent 2 Parent 1 Permutation σ Gene 1 Gene 2 … Gene k Gene 1 Gene 2 … Gene k Minimize the summation of distances between Gene i of Parent 1 and Gene σ(i) of Parent 2 for all i Formally, min Σi diσ(i)
Distances between Subsets • Hamming distance • Distance between Si and Sj := |(Si−Sj)(Sj− Si)| • NH-Xover • Normalized by Hamming distance • Discrete distance • Distance between Si and Sj := I(Si = Sj) • ND-Xover • Normalized by discrete distance
S4 S1 S2 Distance 4 + 0 = 4 S3 m = 5, n = 4, k = 2 Distance 1 + 0 = 1 Distances between Subsets (cont’d) • An example • Hamming distance • Discrete distance 1 2 Parent 1 Parent 2 1 2 Parent 1 Parent 2
S4 S1 Distance 4 + 2 = 6 S2 S3 cut point m = 5, n = 4, k = 2 Distance 2 + 2 = 4 New Crossover (cont’d) • An example of NH-Xover 1 2 Parent 1 Parent 2 Parent 1 Normalized Parent 2 Distance between Si and Sj= |(Si−Sj) (Sj− Si)|
Traditional Approaches • Do not preserve feasibility • Example. k = 4, n = 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 Parent 1 Parent 2 Offspring Binary representation Integer representation
Normalized Parent 2 Useful Property • Theorem. Proposed crossover preserves feasibility Parent 1 Parent 2
Experiments • Genetic Framework • A variant of CHC [Eshelman, 1991] • Pseudo-code Make an initial population (N individuals); do Choose N/2 random pairs from population; Make N/2 offspring by crossover; Select the best N individuals for next population; if population has no change during T generation, then reinitialize population; until (stop criterion); return the best solution found so far; 400 individuals 500 generations
Experiments (cont’d) • Test Instance Sets • 11 classes, 65 instances from OR-library • Instance sets for set covering problems
Comparison between NH-Xover & ND-Xover • k = 10 Here, %-gap = 100 x |best − output| / best
Comparison between NH-Xover & ND-Xover (cont’d) • k = 20 Here, %-gap = 100 x |best − output| / best
Conclusions • New crossover for maximum k-coverage problem • Efficient running • Implemented using Hungarian method • Preserving feasibility • Not necessary to repair • Future work • Extensive empirical studies for various test set • Comparison with traditional crossovers combined with repairing • On integer encoding & binary encoding
Maximum k-Coverage Problem m := # of elements, n := # of subsets A = (aij) mxn 0-1 matrix S4 subset S1 S1 S2 S3 S4 ( ) 1 2 3 1 1 0 0 0 2 1 0 0 1 3 0 1 0 1 4 0 0 1 0 5 0 1 1 0 S2 S3 4 5 element m = 5, n = 4
Maximum k-Coverage Problem Formal definition xj = 1 iff the j th subset is selected Weighted sum of covered elements # of selected subsets = k Here, I(true) = 1 & I(false) = 0