Numerical semigroups and applications