#include "bad_graspels.h" #include "common.h" using NRELS = rosa::SkelNREls< tsp::Solution, RNG, Descent, Move2Opt, Descent, FN(selectMin) >; using NRGRASPxELS = rosa::SkelNRGrasp< tsp::Problem, tsp::Solution, RNG, RGreedy, NRELS, FN(selectMin) >; tsp::Solution sk_nr_seq(tsp::Problem const& p, RNG& rng, Arguments const&) { auto graspEls = alsk::implement(); graspEls.executor.repeatability.disabled(); graspEls.skeleton.task.task<0>() = rgreedy(); graspEls.skeleton.task.task<1>().task<1>().n = ELS_ITER_MAX; graspEls.skeleton.task.task<1>().task<1>().task.n = ELS_GEN; graspEls.skeleton.n = GRASP_N; return graspEls(p, rng); } tsp::Solution sk_nr_par(tsp::Problem const& p, RNG& rng, Arguments const&) { auto graspEls = alsk::implement(); graspEls.executor.cores = NTHREADS; graspEls.executor.repeatability.disabled(); graspEls.skeleton.task.task<0>() = rgreedy(); graspEls.skeleton.task.task<1>().task<1>().n = ELS_ITER_MAX; graspEls.skeleton.task.task<1>().task<1>().task.n = ELS_GEN; graspEls.skeleton.n = GRASP_N; return graspEls(p, rng); }