Discrete invasive weed optimization algorithm: application to cooperative multiple task assignment of UAVs