  We investigate the application of two heuristic methods, genetic algorithms
and tabu/scatter search, to the optimisation of realistic portfolios. The model
is based on the classical mean-variance approach, but enhanced with floor and
ceiling constraints, cardinality constraints and nonlinear transaction costs
which include a substantial illiquidity premium.
  It is shown that genetic algorithms can optimise such portfolios effectively
and within reasonable times. This approach also copes easily with extensive
modifications such as the addition of more intricate constraints, discontinuous
variables and more complex objective functions.
  The results indicate that that both floor and ceiling constraints have a
substantial negative impact on portfolio performance and should be examined
critically. Another insight is that nonlinear transaction costs which are
comparable in magnitude to forecast returns will tend to diversify portfolios;
the effect of these costs on portfolio risk is, however, ambiguous, depending
on the degree of diversification required for cost reduction. The number of
assets in a portfolio invariably increases as a result of constraints, costs
and their combination.
  The implementation of cardinality constraints is essential for finding the
best-performing portfolio. The ability of the heuristic method to deal with
cardinality constraints is one of its most powerful features.
