In this paper the state of art of designing optimisation algorithms for parallel processing computers will be reviewed. The availability of parallel processing hardware implies the redesign of optimisation software. As on a sequential computer most of the computer time is spent in calculating either the function and its derivatives, and/or the constraints and their derivatives, it is natural that ways of evaluating these in parallel be considered first. It will be shown that automatic differentiation provides an excellent tool for this purpose. A library of codes will then be described based on parallel processed structured automatic differentiation; which also utilise parallel processing in calculating their direction of search. In particular, parallel versions of the Newton Raphson, Variable Metric, Conjugate Gradient, Truncated Newton algorithms will be described, followed by two codes for constrained optimisation and one for global optimisation. Finally, our experience using the ICL-DAP processor for solving finite element optimisation problems will be described.