Feasibility-Preserving Crossover for Maximum k-Coverage Problem
Yourim YoonYong-Hyuk KimByung-Ro Moon
Seoul National University
Covering Problems
Set covering problem # of elements = 12 # of subsets = 6 Min-size set cover? = {S2, S3, S4}
S2 S3 S4
S5
S6
S1
Maximum k-Coverage Problem
S2 S3 S4
S5
S6
S1
# 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)
1 0 1 0
1 3 3 1
Motivation
GA should produce offspring such that … They have as few common elements between genes (subsets)
as possible.
m = 5, n = 4, k = 2
1 2 3
4 5
S1
S2S3
S4
Solution Common
element set
Coverage
(size)
(1,2)
(1,3)
(1,4)
(2,3)
(2,4)
(3,4)
Empty
Empty
{2}
{5}
{3}
Empty
{1,2,3,5} (4)
{1,2,4,5} (4)
{1,2,3} (3)
{3,4,5} (3)
{2,3,5} (3)
{2,3,4,5} (4)
Motivation (cont’d)
Integer encoding is redundant Each phenotype is represented by k! genotypes
In crossover, Each gene (subset) of Parent 1 should match the gene
(subset) of Parent 2 with as many common elements as possible.
1 3 3 1=
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)
Optimal Assignment between Genes
Parent 1 Parent 2
Gene 1
Gene 2
…
Gene k
Gene 1
Gene 2
…
Gene k
Permutationσ
Minimize the summation of distances betweenGene i of Parent 1 and Gene σ(i) of Parent 2 for all i
Formally, min Σi diσ(i)
NormalizedParent 2
Gene σ(1)
Gene σ(2)
…
Gene σ(k)
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
Distances between Subsets (cont’d)
An example Hamming distance
Discrete distancem = 5, n = 4, k = 2
S1
S2S3
S4Parent 1
Parent 2
1 3
2 3
1 2
Parent 1
Parent 2
1 3
2 3
1 2
Distance 4 + 0 = 4
Distance 1 + 0 = 1
cut point
New Crossover (cont’d)
An example of NH-Xover
Parent 1
Parent 2
1 2
3 4
Distance 4 + 2 = 6
Parent 1
Normalized Parent 2
1 2
4 3
Distance 2 + 2 = 4
m = 5, n = 4, k = 2
S1
S2S3
S4
1 2
Distance between Si and Sj = |(Si−Sj) (Sj− Si)|
Traditional Approaches
Do not preserve feasibility Example. k = 4, n = 10
3 5 6 9
1 3 5 7
3 3 5 7
Parent 1
Parent 2
Offspring
0 0 1 0 1 1 0 0 1 0
1 0 1 0 1 0 1 0 0 0
0 0 1 0 1 1 0 0 0 0
Integer representation Binary representation
1 2 3 4 1 2 3 4 5 6 7 8 9 10
Useful Property
Theorem. Proposed crossover preserves feasibility
Parent 1
Parent 2
NormalizedParent 2
Experiments
Genetic Framework A variant of CHC [Eshelman, 1991]
Pseudo-codeMake 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
Instance set m n Density (%) # of instances
I-4
I-5
I-6
I-A
I-B
I-C
I-D
I-E
I-F
I-G
I-H
200
200
200
300
300
400
400
500
500
1,000
1,000
1,000
2,000
1,000
3,000
3,000
4,000
4,000
5,000
5,000
10,000
10,000
2
2
5
2
5
2
5
10
20
2
5
10
10
5
5
5
5
5
5
5
5
5
0
0.5
1
1.5
2
2.5
3
3.5
4
I-4 I-5 I-6 I-A I-B I-C I-D I-E I-F I-G I-H
Aver
age
Instance set
%-g
ap NH-XoverND-Xover
Comparison between NH-Xover & ND-Xover
k = 10
Here, %-gap = 100 x |best − output| / best
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
I-4 I-5 I-6 I-A I-B I-C I-D I-E I-F I-G I-H
Aver
age
Instance set
%-g
ap NH-XoverND-Xover
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
Thank you for listening!
Maximum k-Coverage Problem
m := # of elements, n := # of subsets
m = 5, n = 4
1 2 3
4 5
S1
S2S3
S4A = (aij) m x n 0-1 matrix
1 1 0 0 02 1 0 0 13 0 1 0 14 0 0 1 05 0 1 1 0( )
S1 S2 S3 S4
element
subset
Maximum k-Coverage Problem
Formal definition xj = 1 iff the j th subset is selected
Here, I(true) = 1 & I(false) = 0
# of selected subsets = k
Weighted sum ofcovered elements