This project involves the mapping of different classes of optimization algorithms on a variety of computer architectures (e.g. multicores, GPUs, FPGAs). For example, developing and analyzing specialized parallel algorithms (GAs, ACO, PSO, etc) for a cluster of GPUs. Then compare them against traditional clusters and characterize their algorithmic and run time behaviour, as well as their efficiency/efficacy in solving standard benchmarks and one target problem (telecoms or other domains). Another example is the development of algorithms to run on multicore computers (threads utilization) and comparison in efficiency and different other features with traditional cluster parallel algorithms. Development of an optimization software library targeted to optimization on multicore computers.