A mapping-based constraint-handling technique for evolutionary algorithms with its applications to portfolio optimization problems