A computer implemented method for solving an optimization task using a system including a global computation engine and additional computing resources (110a, 110b, 110c, 110d), the method comprising: receiving by the global computation engine input data comprising data specifying the optimization task to be solved; determining by the global computation engine that the dimensionality and/or complexity of the optimization task is too high to enable the optimization task to be solved in an acceptable time using a computing resource of the additional computing resources of the system, wherein said determining comprises determining whether a number of bits or qubits included in the computing resource are not sufficient to solve the optimization task in the acceptable time; in response to determining that the dimensionality and/or complexity of the optimization task is too high, providing, via a router, the received input data to a quantum annealer or a quantum gate computer of the additional computing resources, together with data specifying that the quantum annealer or quantum gate computer is to perform a dimensionality reduction on the received input data, and indicating a target dimensionality based, at least in part, on the computational capabilities of the computing resource of the additional computing resources of the system, wherein a Jaynes-Cummings model is used to determine the target dimensionality, in order to enable a reduced optimization task to be solved by the additional computing resources in the acceptable time, wherein the target dimensionality of the reduced optimization task is lower than the dimensionality of the optimization task; processing the received input data using the quantum annealer or quantum gate computer to generate data representing the reduced optimization task, wherein the processing comprises performing a dimensionality reduction algorithm; and processing the data representing the reduced optimization task using the computing resource of the additional computing resources to obtain a solution to the optimization task. receiving by the global computation engine input data comprising data specifying the optimization task to be solved; determining by the global computation engine that the dimensionality and/or complexity of the optimization task is too high to enable the optimization task to be solved in an acceptable time using a computing resource of the additional computing resources of the system, wherein said determining comprises determining whether a number of bits or qubits included in the computing resource are not sufficient to solve the optimization task in the acceptable time; in response to determining that the dimensionality and/or complexity of the optimization task is too high, providing, via a router, the received input data to a quantum annealer or a quantum gate computer of the additional computing resources, together with data specifying that the quantum annealer or quantum gate computer is to perform a dimensionality reduction on the received input data, and indicating a target dimensionality based, at least in part, on the computational capabilities of the computing resource of the additional computing resources of the system, wherein a Jaynes-Cummings model is used to determine the target dimensionality, in order to enable a reduced optimization task to be solved by the additional computing resources in the acceptable time, wherein the target dimensionality of the reduced optimization task is lower than the dimensionality of the optimization task; processing the received input data using the quantum annealer or quantum gate computer to generate data representing the reduced optimization task, wherein the processing comprises performing a dimensionality reduction algorithm; and processing the data representing the reduced optimization task using the computing resource of the additional computing resources to obtain a solution to the optimization task.