-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPopulation.py
More file actions
31 lines (24 loc) · 1.13 KB
/
Population.py
File metadata and controls
31 lines (24 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import SCP
import random
import Chromosome
class Population:
list_Chromosome = list()
list_Gene = list()
def __init__(self,numOfUni,numOfChromosomes, numOfSubSets,list_validChromosome):
listofChromosome = self.list_Chromosome
listOfGene = self.list_Gene
self.numOfSubsets = numOfSubSets
for i in range(numOfChromosomes):
list_validChromosome = self.ValidChromosome(numOfUni,numOfChromosomes, numOfSubSets,listofChromosome)
def ValidChromosome(self,numOfUni,numOfChromosomes, numOfSubSets,listOfChromosome):
resault = list()
scp = SCP.SCP(numOfUni,numOfSubSets)
for i in range(numOfChromosomes):
for j in range(numOfSubSets):
if (listOfChromosome[i][j] == 1):
resault = resault | scp.listOfSubsets[j]
if (resault.__len__() != numOfUni):
invalidChromosome = listOfChromosome[i]
listOfChromosome.remove(invalidChromosome)
return listOfChromosome
# def PrepareInvalidChromosome()