Skip to main content
. 2022 Feb 26;13(3):367. doi: 10.3390/mi13030367
Algorithm 1: Evolutionary algorithm for cell trap design
input: params = set of hyperparameters for evolutionary algorithm (population size, number of populations, etc)
constraints = set of constraints for cell trap
output: Best found cell trap design
Generate random initial population
popInitPopulation(params.pop_size, constraints)
while not IsFinished(params.num_pop) do
offspringsReproduce(pop, constraints)
pop.fitnessFitness(pop, constraints)
popTournamentSelection(offsprings)
return Best(pop)

procedure Reproduce:
input: pop, constraints
output: offsprings
while not Validate(constraints)
modify cell traps designs
offspringsCrossover (pop)
offspringsMutation (pop)
return offsprings

procedure Fitness:
input: pop, constraints
output: fitness values for each individual
fitnesses={}
for ind in pop:
if Validate(individual, constraints)
run sim for cell trap described in genotype
fitnesses[ind]COMSOL_Sim(ind)
else
fitnesses[ind]0
return fitnesses