Research Article

Multiobjective Design Optimization of Grillage Systems according to LRFD-AISC

Algorithm 4

A pseudocode for AbYSS procedure.
initialize solution (population_size)
solution = divesificationGeneration(solution)
evaluate solution, evolution + +
solution = improvement(solution)
solutionSet.add(solution)
while evolution < max_evolution {
// building and insertion of individuals RefSet1 and RefSet2
referenceUpdate(true)
newsolution = subsetGeneration
    while newsolution > 0 {
// update archive and reference sets using RefSet1 and RefSet2
referenceUpdate(false) }
       if evolution < max_evolution {
    solutionSet.clear
    solution = RefSet1 (ref_set1_size)
    solution=improvement(solution)
    evaluate solution, evolution ++
    solutionSet.add(solution)
    RefSet1.clear
    RefSet2.clear
  // compute the crowding distance assignment of achieve
  //individuals. Then, after sorting the archive, use them to
  //create solutionSet with “insert” individuals
    insert=populationSize/2
    if insert > (archiveSize), insert= archiveSize
    if insert  >  (populationSize/2   size(solutionSet)),
insert=(populationSize/2 size(solutionSet))
    solutionSet.add (archive(insert))
  // complete randomly the remaining individuals of solutionSet
        while size(solutionSet) < populationSize/2 {
    solution=divesificationGeneration(solution)
    evaluate solution, evolution + +
    solution=improvement(solution)
    solutionSet.add(solution) } } }