algorithmWNIP