Allocation and Scheduling for MPSoCs via Decomposition and No-Good Generation