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 )