Research Article

The Application of Memetic Algorithms for Forearm Crutch Design: A Case Study

Pseudocode 1

(1) //Initialization
(2) The set of final Pareto solutions ;
(3) The set of GA population ;
(4) The set of weights combination ;
(5) Given N objective functions, we have
(6) Begin (at facilitator agent level)
(7)  //Enumerate weights combination
(8)  Set ;
(9)  Given weight step size ;
(10)  Let each increases , ,
     and add ( ) to WS;
(11)  //Weights Loop
(12)  For each weights combination ( ) in , is
    constructed;
(13)    //GA loop
(14)    //Initialization
(15)    Generate random population of P solutions and add them to PS;
(16)    For to maximum # of generations for GA loop;
(17)     //Crossover and Mutation
(18)     Random select two parents and from PS;
(19)     Generate two offspring and by crossover operator;
(20)      if and/or are not feasible, generate new feasible offspring
(21)       and/or using mutation operator;
(22)     //Selection
(23)     Using fitness function ( ) to evaluate the solution, update PS
       with improved solutions;
(24)     //Local Search Loop
(25)     For each chromosome in ;
(26)      Call each Design Agent for local optimization on x (note different
        optimization engines can be employed based on the design
        disciplines);
(27)      Given updates from Design Agent on x, Facilitator agent employs
        sub-gradient algorithm [19] as local search algorithm to
        iteratively locate improved solution with respect to y;
(28)     Next ;
(29)     //Pareto Filter:
(30)     For each chromosome in the set PS;
(31)      If is not dominated by all the solutions in the set ;
(32)       Add to the set ;
(33)      Else If there are solutions in the set are dominated by ;
(34)      Remove those solutions in the set FP;
(35)      End If;
(36)    Next ;
(37)    Next ;
(38) End;