A major issue of the operation of distributed systems is the problem of allocating a number of processes to a network of processors, with the aim of fully utilising their potential and flexibility. This paper presents a solution to the process allocation problem from a mathematical programming point of view, employing two
heuristic algorithms . The first one is an adaptation of the simulated annealing heuristic algorithm, while the second one is based on an iterative improvement procedure. The characteristics of both heuristics are briefly examined, and in the sequel both algorithms are tested on a set of random problems having characteristics similar to a real-world problem