update island algorithm