Optimizing task priority assignments is a well-researched area in the context of hard real-time systems, where the goal in the majority of cases is to produce a priority assignment that results in a schedulable task set. The problem has also been considered, albeit not to the same extent, in the soft real-time context where quality of service metrics determine the overall performance of systems. Previous research on the problem in the soft real-time context often resorts to some analytical approach, with the drawback of having to put relatively strict constraints on the system models to avoid excessively complex analysis computations. As a consequence, many attributes of a real system have to be omitted, and features such as multi-processor...