Input: i n p u t , t a r g e t , H , i t e r , N

Output: w b e s t , o u t p u t

1.

i s i z e ( i n p u t )

2.

t s i z e ( t a r g e t )

3.

D ( i + 1 ) H + ( H + 1 ) t

4.

w r a n d o m ( 1 , D )

5.

f M S E ( w , i n p u t , t a r g e t )

6.

while ¬ S t o p C o n d i t i o n

7.

[ o u t p u t , w ] Q P S O ( f , D , N , i t e r )

8.

end

9.

w b e s t w

10.

Return ( w b e s t , o u t p u t )