Method for allocating resources implemented by a hybrid computing system comprising a quantum computing device
A hybrid computing system using a classical computer and quantum device efficiently solves resource allocation problems by encoding them as MWIS and unit disk graphs, achieving optimal resource allocation with reduced complexity and improved calculation performance.
Patent Information
- Application Number
- PCT/EP2025/064670
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-29
- Filing Date
- 2025-05-27
- Publication Date
- 2025-12-04
AI Technical Summary
Existing resource allocation problems, particularly in NP-hard optimization scenarios, are complex and difficult to solve efficiently due to the large number of tasks and constraints, making it challenging to achieve optimal resource allocation.
A hybrid computing system combining a classical computer and a quantum computing device is used to encode resource allocation problems as a Maximum Weighted Independent Set (MWIS) problem, which is then solved using a unit disk graph by a quantum computing device, followed by conversion into a resource allocation plan.
This approach allows for the efficient solution of resource allocation problems with polynomial complexity, providing optimal resource allocation and reducing calculation time, particularly relevant for large-scale industrial applications.
Smart Images

Figure EP2025064670_04122025_PF_FP_ABST
Abstract
Description
[0001] DESCRIPTION
[0002] TITLE: Resource allocation method implemented by a hybrid computing system incorporating a quantum computing device
[0003] The present invention relates to a resource allocation method implemented by a hybrid computing system comprising a computer and a quantum computing device. The invention also relates to a hybrid computing system enabling the implementation of the allocation method.
[0004] In many industrial applications, it is necessary to allocate limited resources efficiently to tasks or activities while taking into account various constraints.
[0005] For example, this could involve planning a construction project by allocating labor, raw material quantities, and equipment based on operational constraints.
[0006] In another example, it involves optimizing air traffic management, particularly by allocating takeoff and landing slots or by distributing runways and boarding gates.
[0007] In the field of logistics and supply chain management, this involves allocating transport resources (trucks, trains) to optimize delivery routes based on loading capacity and delivery windows.
[0008] For example, the resources to be allocated are energy resources for energy production, storage, or distribution. This allocation is carried out, in particular, according to the constraint of an energy need.
[0009] In yet another example, the goal is to optimize the presence of people continuously and efficiently to ensure the security of a location. To achieve such an allocation, genetic algorithms or search algorithms are known to be used to find an optimal solution.
[0010] However, solving such a resource allocation problem is an NP-hard optimization problem (i.e., a problem that is difficult in polynomial time and not deterministic). Thus, it becomes very complex, if not impossible, to solve this problem when the number of tasks and / or constraints becomes large.
[0011] Therefore, there is a need for a resource allocation process to achieve optimal resource allocation. To this end, the description outlines a resource allocation process implemented by a hybrid computing system comprising a computer and a quantum computing device, the process including:
[0012] - a step of providing a set of elements, the elements comprising the tasks to be performed by a set of resources, the performance capacity of each resource, and the operational constraints of the resources to perform the tasks,
[0013] - a first encoding step of all the elements in the form of an independent set of maximum weight, the first encoding step being carried out by the computer,
[0014] - a second encoding step of the independent maximum weight set in the form of a unit disk graph, the second encoding step being performed by the computer,
[0015] - a step of solving the unit disk graph to obtain a solution to the unit disk graph, the solution step being implemented by the quantum computing device, and
[0016] - a step of conversion by the computer of the solution obtained in the resolution step into a starting time and an allocation of resources for each task allowing the operating constraint to be respected.
[0017] According to other advantageous aspects of the invention, the allocation method comprises one or more of the following features, taken individually or in all technically possible combinations:
[0018] - at least one task has a duration and / or resource consumption for its completion, used as constraint(s) during the graph resolution step;
[0019] - resources are modes of operation of a device;
[0020] - the device is an aircraft and the operating modes are the possible trajectories of the aircraft;
[0021] - the tasks to be performed are maneuvers of one or more device(s);
[0022] - the tasks to be carried out are aerial operations;
[0023] - the resources enabling the tasks to be carried out are chosen from within the airport resources, namely the group consisting of: construction and / or freight transport vehicles; manpower; possible aircraft trajectories; buildings or infrastructure; and energy production, energy storage and / or energy distribution resources; - the resolution step involves the placement of a set of qubits in a physical configuration corresponding to the unit disk graph, the evolution of the set of qubits until an equilibrium state, the equilibrium state being the solution of the unit disk graph;
[0024] - qubits are neutral atoms, advantageously Rubidium;
[0025] - the quantum computing device includes an optical unit for modifying and reading the state of the qubits and a unit for trapping the qubits;
[0026] - the optical unit is suitable for putting qubits into the Rydberg state and in which the trapping unit is suitable for generating an optical network comprising a plurality of locations each suitable for hosting a qubit;
[0027] - the operating constraint includes compliance with a first condition according to which the use of a resource to implement one or more tasks at any time must not exceed its maximum capacity and compliance with a second condition according to which each task cannot be interrupted once started;
[0028] - it includes the following steps: implementation of the resource allocation process according to any one of claims 1 to 12, wherein the resources are modes of operation of the devices, and control of said devices according to each start time and each resource allocation obtained at the end of the conversion step;
[0029] - the devices are aircraft and the modes of operation are the possible trajectories of said aircraft.
[0030] The description also relates to a hybrid computing system comprising a computer and a quantum computing device, the computer being specific to:
[0031] - to obtain a set of elements, the elements comprising the tasks to be performed by a set of resources, the performance capacity of each resource, and the operational constraints of the resources to perform the tasks,
[0032] - encode all elements as an independent set of maximum size,
[0033] - encode the independent maximum weight game in the form of a unit disk graph, the quantum computing system being suitable for solving the unit disk graph to obtain a solution of the unit disk graph, and the computer being suitable for converting the solution obtained at the solving stage into a starting time and resource allocation for each task allowing compliance with the operating constraint.
[0034] In this description, the expression "specific to" means interchangeably "suited for", "adapted to" or "configured for".
[0035] The invention will become clearer upon reading the following description, given solely by way of non-limiting example, and made with reference to the drawings in which:
[0036] - [Fig 1] Figure 1 is a schematic representation of a hybrid computing system designed to implement a resource allocation process,
[0037] - [Fig 2] Figure 2 is a flowchart of an example implementation of the resource allocation process by the calculation system of Figure 1,
[0038] - [Fig 3] Figure 3 is a schematic representation of an example of task scheduling,
[0039] - [Fig 4] Figure 4 is a representation of an MWIS game,
[0040] - [Fig 5] Figure 5 is a schematic representation of a simple graph,
[0041] - [Fig 6] Figure 6 is a schematic representation of an OR gate and an OR layer,
[0042] - [Fig 7] Figure 7 is a schematic representation of a capacity grid graph, and
[0043] - [Fig 8] Figure 8 is a schematic representation of a unit disk graph.
[0044] A hybrid computing system 10 is schematically represented in Figure 1.
[0045] The hybrid computing system 10 is suitable for implementing a resource allocation process.
[0046] More specifically, the hybrid computing system 10 is suitable for solving a project planning problem with limited resources.
[0047] A resource constraint project scheduling problem is often referred to as an RCPSP problem, in reference to the corresponding English term "Resource Constraints Project Scheduling Problem".
[0048] An RCPSP problem aims to determine the optimal allocation of resources for the completion of given tasks in order to optimize the use of those resources.
[0049] This means that the hybrid computing system 10 is capable of determining, for tasks to be performed by a set of resources, when to start the tasks and which resource should implement them, according to an operational constraint. The hybrid computing system 10 is also capable of sending commands corresponding to the optimal solution of this problem.
[0050] These commands are sent to a system 16 managing all resources and task scheduling, which will use them directly to optimally allocate tasks to resources.
[0051] Such commands sent by the hybrid computing system 10 are therefore resource allocation commands, so that the hybrid computing system 10 is both capable of solving the problem and allocating resources.
[0052] In what follows, the first aspect will be described more specifically, namely how the hybrid computing system 10 allows us to obtain an optimal solution to the RCPSP problem.
[0053] The hybrid computing system 10 is a computing system with two different computing modes.
[0054] In this example, one of the two modalities is quantum.
[0055] As can be seen in Figure 1, the hybrid computing system 10 comprises a computer 12 and a quantum computing device 14.
[0056] Calculator 12 is a classic calculating device.
[0057] The term "classical" here is to be understood in the sense of non-quantum, the calculator 12 manipulating simple bits.
[0058] Thus, the calculator 12 is an electronic circuit designed to manipulate and / or transform data represented by electronic or physical quantities in registers of the calculator and / or memories into other similar data corresponding to physical data in register memories or other types of display devices, transmission devices or storage devices.
[0059] As specific examples, calculator 12 is implemented as a programmable logic component, such as an FPGA (Field Programmable Gate Array), or as an integrated circuit, such as an ASIC (Application Specific Integrated Circuit).
[0060] Alternatively, when the process is implemented as one or more software programs, that is, as a computer program, also called a computer program product, it is also capable of being stored on a computer-readable medium, not shown here. A computer-readable medium is, for example, a medium capable of storing electronic instructions and being connected to a bus of a computer system. Examples of such a readable medium include an optical disc, a magneto-optical disc, ROM, RAM, any type of non-volatile memory (e.g., FLASH or NVRAM), or a magnetic card. A computer program containing software instructions is then stored on this readable medium.
[0061] In contrast to the calculator 12, the quantum computing device 14 manipulates qubits 18 instead of bits.
[0062] A qubit 18 is the basic unit of quantum computing allowing to encode several states and not two as is the case for a bit in classical computing.
[0063] In the example described, the 18 qubits are neutral atoms.
[0064] Advantageously, qubit 18 is an alkali metal, specifically Rubidium.
[0065] The quantum computing device 14 includes an optical unit 20 and a trapping unit 22.
[0066] The optical unit 20 is suitable for modifying and reading the state of the qubits 18.
[0067] The optical unit 20 is here, in particular, suitable for putting the qubits 18 into a Rydberg state.
[0068] The optical unit 20 is, for example, a set of elements that generate laser beams at an adjustable frequency to correspond to a transition between chosen states of the qubits 18.
[0069] The 22-qubit trapping unit for 18s qubits is suitable for trapping 18s qubits.
[0070] More specifically, the trapping unit 22 is designed to generate an optical network comprising a plurality of locations, each designed to accommodate a qubit 18.
[0071] Trapping unit 22 is, for example, a laser system.
[0072] The quantum computing device 14 includes other units, such as a vacuum system, one or more controllers, an optics set, or any other element that a person skilled in the art commonly uses to manipulate qubits 18.
[0073] The operation of the hybrid computing system 10 to solve a resource allocation problem is now described with reference to the flowchart in Figure 2 which illustrates an example of the implementation of a resource allocation process.
[0074] The allocation process includes a supply step E30, a first encoding step E32, a second encoding step E34, a resolution step E36 and a conversion step E38.
[0075] Due to the hybrid nature of the hybrid computing system 10, some steps of the allocation process are carried out in a "classical" way by the computer 12 and others in a quantum way.
[0076] More specifically, in this particular example, the resolution step E36 is implemented by the quantum computing device 14 while the other steps are implemented by the computer 12. During the supply step E30, the computer 12 obtains receives a set of elements.
[0077] The acquisition takes, for example, the form of receiving data or reading data onto a storage unit.
[0078] These elements relate to the RSPCP problem.
[0079] In this sense, the E30 supply step can be seen as a supply step for the RSPCP problem.
[0080] During the supply step E30, the calculator 12 receives a plurality of tasks to be performed by a set of resources
[0081] Each task is labeled T k with k an integer varying between 1 and n the total number of tasks.
[0082] Calculator 12 thus obtains a set of tasks
[0083] For each task, at least one parameter is provided, preferably several parameters.
[0084] The parameters provided for each task can be grouped into system-related parameters and task-intrinsic parameters.
[0085] System-related parameters include, for example, the number of resources available for the task and the maximum capacity of each resource.
[0086] The number of available resources is denoted r, where r is an integer.
[0087] A resource is, for example, available working hours of employees or equipment.
[0088] The capacity of a resource i is denoted Q, i being an integer chosen from the set {1 r}.
[0089] The capacity here is an integer.
[0090] Capacity represents a quantification of total available resources.
[0091] For example, in trajectory search, capacity is the total number of possible trajectories for the aircraft.
[0092] In other examples, capacity represents the number of working hours available to employees or a quantification of equipment (volume of raw materials in particular).
[0093] Intrinsic parameters of the task include, for example, the duration of the task or the consumption of resources for the completion of the task.
[0094] Resource consumption represents the amount of resources used to complete a task, so consumption can also be expressed as an integer. The intrinsic parameters of the task thus amount to providing, for a task T k a multiplet, namely:
[0095] Or:
[0096] • L k is the duration of the task, that is, the time interval elapsed between the start time of the task implementation T k and the time at which the implementation of task T ends k , And
[0097] • u ( is an integer denoting the consumption of each resource i by the task T k .
[0098] As previously stated, solving an RCPSP problem aims to find the optimal start times for all tasks under an operating constraint.
[0099] The operating constraint can be expressed here as the respect of two conditions, namely a first condition according to which the use of a resource i at any time must not exceed its maximum capacity c, on all tasks and a second condition according to which each task cannot be interrupted once started.
[0100] Put another way, this means that each resource i can perform one or more tasks simultaneously if the tasks do not exceed the maximum capacity c of the resource over a time interval t m given.
[0101] Mathematically, such an operational constraint can be expressed as follows:
[0102] Or :
[0103] • t k designates the starting moment of the implementation of task T k , And
[0104] • < t < t k + i k ] denotes a function equal to 1 when the condition tk < t < t k + l k is met and 0 when the condition is not met.
[0105] Solving the RCPSP problem involves finding {t k} k < n e N n respecting the previous operating constraint.
[0106] Figure 3 illustrates an example of planning four tasks Ti to T4 for the case of one resource (i.e. r = 1).
[0107] Each task Ti to T4 corresponds to a respective block B4 in the representation shown in Figure 3. The length of a block B k (dimension along the horizontal axis) corresponds to the duration of the task l k over the given time interval t m while the height of a block B k (dimension along the vertical axis) corresponds to the consumption of the resource to perform the task.
[0108] The position of block B k along the horizontal axis is such that block B kextends between the starting time t k of task T k and the moment of the end k + l k of task T k .
[0109] The position of each block is determined here so that the tasks T k be carried out under the constraint of respecting the maximum capacity c1= u m t m .
[0110] Thus, at the end of the supply step E30, the calculator 12 obtained a set of elements, the elements including the tasks to be performed by a set of resources, the performance capacity of each resource and the operating constraint of the resources to perform the tasks.
[0111] During the first E32 encoding stage, the calculator 12 encodes all the elements as an independent set of maximum weight.
[0112] The first E32 encoding step can thus be seen as a step of converting all the elements into an independent set of maximum weight.
[0113] A maximum weight independent set is more often referred to by the abbreviation MWIS, which refers to the corresponding English term "Maximum Weighted Independent Set".
[0114] In the following, for ease of reading, the maximum independent game size is referred to as an MWIS game.
[0115] The first E32 encoding step is performed by computer 12 using graph theory.
[0116] A graph is a mathematical structure representing objects and the relationships between them.
[0117] Objects are represented by nodes or vertices, while relationships are represented by edges.
[0118] Nodes are more commonly referred to as "vertices" while edges are referred to as "edges" in reference to the corresponding English terms.
[0119] In the formalism of a graph, an MWIS set is a set of nodes in which no member of the MWIS set is adjacent.
[0120] This means that the MWIS solution game is a subset of nodes in the graph containing nodes that do not interact with each other.
[0121] Furthermore, the sum of the weights is maximized, so the goal here is to select a set of vertices from a graph such that no selected vertex is connected and the sum of their weights is maximized. Figure 4 illustrates MWIS sets.
[0122] In this graph, each node can represent an option for allocating a task, and the edges between the nodes denote a relationship or constraint between these allocation options.
[0123] The selection of nodes in the MWIS game would indicate a set of tasks or options that can be performed without conflicting with each other, according to the constraints represented by the edges.
[0124] It may be recalled here that the aim is to maximize the total weight calculated based on the number of active nodes (e.g., task allocation options) that do not conflict with each other, each node having a weight.
[0125] As seen in Figure 4, solutions with MWIS are shown for several cases: a suboptimal solution (case A), an optimal solution (case B) and an invalid solution (case C) as a function of the sum of the total weights of the selected active nodes.
[0126] The first E32 encoding step is now illustrated with reference to figures 5 to 7.
[0127] As shown in Figure 5, in this example, for a task T k of duration l k, the possible values of the starting time t k of the implementation of task T k are encoded by a simple graph.
[0128] A simple graph is a graph in which any two pairs of nodes share a single edge.
[0129] Such a graph is often referred to by the corresponding English term "only one graph".
[0130] The starting moment t k being between 0 and t max - L k , the simple graph has max ~ k 1” 1 nodes.
[0131] The parameter t max represents the maximum possible interval for starting a task while ensuring that the task can be completed within the remaining time.
[0132] According to an example, the parameter t max is determined based on a time horizon for completing the activity.
[0133] In this graph, the nodes are arranged according to a top row and a bottom row.
[0134] The nodes in the top row encode a possible start time, while the nodes in the bottom row encode.
[0135] The nodes in the bottom row are constructed such that the MWIS game of this graph yields a unique solution in the top row when solved as an MWIS game. This corresponds to the fact that there should not be multiple optimal starting times for a given task in an MWIS game. Only one of the nodes in the top row is part of the solution being sought, and this is the start time of task T. k .
[0136] With reference to figure 6, calculator 12 encodes the duration l k using an OR layer graph.
[0137] An OR-layer graph is more often called an "OR-layer graph" in reference to the corresponding English name which literally means OR-layer graph.
[0138] An OR layer graph contains OR gate graphs.
[0139] An OR-gate graph is more often called an "OR-gate graph" in reference to the corresponding English name which literally means OR-gate graph.
[0140] An example of an OR gate graph is shown on the left side of Figure 6.
[0141] As can be seen on the right side of Figure 6, the OR layer graph allows a candidate start time to be propagated time step by time step while keeping the nodes unchanged.
[0142] The time step is the minimum time unit defined for allocation. In this sense, it is similar to a clock increment for computer systems.
[0143] Calculator 12 codes the start time t k and the duration k by merging the simple graph into the OR layered graph.
[0144] By stacking the layers OR l ktimes for task T k Calculator 12 obtains a binary encoding of the following form:
[0145] (0,0,0, ... ,0,1,1 , ... ,1 ,1,0, ... ,0)
[0146] Or :
[0147] • A binary number "1" represents a node that is part of the solution, and
[0148] • A binary number “0” represents a node that is not part of the solution.
[0149] This implies the presence of the k binary numbers "1", the corresponding time steps being the time steps during which the task T k is implemented by the set of resources.
[0150] Calculator 12 also seeks to encode the operating constraint.
[0151] To do this, the calculator 12 constructs r grids of simple graphs, that is to say as many grids of simple graphs as there are resources.
[0152] An example of such a grid for a resource can be seen in Figure 7.
[0153] The grid consists of a set of rows and columns.
[0154] The number of lines represents the sum of the consumption of a resource across all tasks, which can be mathematically written as follows: Where NL denotes the number of lines in the grid.
[0155] The number of columns represents the maximum capacity of resource i, so it comes down to:
[0156] NC = Cj
[0157] Where NC denotes the number of rows in the grid.
[0158] Each row and column of the grid is a simple graph.
[0159] Calculator 12 connects simple graphs across rows and columns via coding nodes.
[0160] A coding node is an entity or point in the graph that represents a possible start time for the execution of a task in resource scheduling. Only a subset of the coding nodes is part of the desired solution. More precisely, it is one per row and one per column.
[0161] The different grids are also connected by the column via the coding nodes.
[0162] Figure 7 illustrates an example of a grid for a resource for three tasks (simple graphs g1, g2 and g3) which are linked by one-column long coding nodes.
[0163] At the end of the first E32 encoding step, the calculator 12 thus obtained an independent set of maximum weight corresponding to the RCPSP problem.
[0164] Put another way, calculator 12 transformed an RCPSP problem into an MWIS problem.
[0165] During the second E34 encoding stage, the calculator 12 encodes the MWIS game as a unit disk graph.
[0166] A unit disk graph is the graph formed from a collection of points in the Euclidean plane where each point represents a node and a segment an edge, the selected points being such that each pair of points is connected by a segment whose distance is less than a fixed threshold.
[0167] Such a graph is often referred to by the corresponding English term "unit graph disk".
[0168] The threshold used to construct a unit disk graph is chosen such that two nodes of the graph are connected by an edge if and only if the distance between them does not exceed a fixed value.
[0169] This threshold is generally determined based on the specific layout of the MWIS game and the constraints of the optimization problem.
[0170] Physically, the distance between two nodes is determined by the interaction radius between the atoms and the Rydberg blockage radius R b If the atoms are close enough to interact, then these atoms are connected in our unitary graph disk.
[0171] An example of such a unit disk graph is shown in Figure 8.
[0172] Such a second E34 encoding step makes it easier to solve the MWIS problem.
[0173] This E36 resolution step of the unit disk graph is implemented by the quantum computing device 14.
[0174] The quantum computing device 14 thus obtains a solution to the unit disk graph.
[0175] According to the example described, the E36 resolution step involves the placement of a set of 18 qubits in a physical configuration corresponding to the unit disk graph, the evolution of the set of 18 qubits until an equilibrium state, the equilibrium state being the solution of the unit disk graph.
[0176] The idea is to physically create a Rydberg atom network representing the problem and let it evolve.
[0177] This relies on the Rydberg blocking mechanism, which is based on Rydberg interactions. A Van der Waals interaction is an interaction in which an energy shift occurs when two atoms in a Rydberg state are sufficiently close.
[0178] The adiabatic evolution of a set of atoms in such a state can thus be represented by the following Hamiltonian:
[0179] Or :
[0180] • denotes the laser frequency shift between the ground state and the Rydberg state of an atom,
[0181] • n v = v)(r r | is the numerical operator of the atom v where |r r ) is the state of Rydberg,
[0182] • n, denotes the frequency of Rabi,
[0183] • <7 is the X operator of atom v which represents the following operation <^ = e i ^\g v ){r v \ + e~ im \r v ){g v \] where < > is the laser phase and \g v ) is the ground state of the atom v,
[0184] • u ViW represents the Rydberg interaction between atoms v and w,
[0185] • n u = Ovl is the numerical operator of the atom u where |r is the Rydberg state, and • n w = |r w (r) w | is the numerical operator of the atom w where |r w ) is the state of Rydberg.
[0186] When the frequency shift A, and the frequency of Rabi are much lower than the Rydberg interaction u v>w it is possible to ignore the term which corresponds to a formulation of an MWIS problem.
[0187] Thus, all the atoms of an optical lattice are prepared in the ground state such that H QA (t = 0) where A(t = 0) = - A o < o and n(t = 0) = o.
[0188] The MWIS game is encoded in the atom configuration by associating each node (task or allocation option) with a specific atom state in the optical lattice, where selecting (or not selecting) a node corresponds to an atom in an excited (or ground) state. The initial configuration and the evolution of the atomic states will then simulate the constraints and relationships of the MWIS game to be obtained.
[0189] The parameters are then modified by increasing the Rabi frequency Q(t) to a finite value and then to 0, and by sweeping the detuning A(t) up to A o > o after a certain final time t f .
[0190] The aim is to obtain a suitable dynamic of the atoms during the adiabatic evolution, in particular to optimize the convergence towards the equilibrium state representing the optimal solution.
[0191] For this, it notably uses the fact that the Rabi frequency Q(t) controls the probability of transition between states, while the disagreement A(t) adjusts the frequency at which these transitions are favoured.
[0192] By applying the adiabatic theorem corresponding to a slow evolution of the atoms (the previous scans are relatively slow), it is possible to show that the atoms will end up in a configuration in the optical lattice which is the solution of the MWIS problem.
[0193] During the conversion step E38, the calculator 12 transforms the solution obtained in the resolution step E36 into a start time and a resource allocation for each task to comply with the operating constraint.
[0194] In one particular example, the calculator 12 interprets the final state of the qubits, each representing an aspect of the MWIS game (for example, whether a task is to be allocated to a certain resource at a certain time), into a sequence of actions or a schedule corresponding to the resource allocation plan.
[0195] Calculator 12 thus obtains an optimal start time for each task T k The solution of the RCPSP problem is an NP-hard problem, meaning that implementing this solution involves a complexity that evolves exponentially over time to obtain a near-optimal solution.
[0196] The process makes it possible to solve this RCPSP problem by a quantum system by intelligently converting the problem to be solved into a problem easily solved by the quantum system, namely the MWIS problem.
[0197] The described process allows us to find an exact solution to this problem in a polynomial complexity (proportional to the size of the problem).
[0198] More precisely, the complexity of the solution is proportional to the number of nodes in the graph.
[0199] More precisely, for each task, there exists a simple graph of complexity o(t max ) and L OR layers of complexity o L max ), L max being the maximum length of the task.
[0200] Therefore, the complexity of the graph combining the two graphs is of the order o(t max x L max xn) with n the number of tasks.
[0201] Then, for each time step t, there exists a capacity grid for each resource that gives a complexity o(c max xu max xn, where c max is the maximum capacity across all resources and u max is the maximum consumption of a resource per given time step.
[0202] The quantities L max and u max do not adapt to the complexity / size of the problem since they are characteristics of the task.
[0203] Consequently, the time complexity can be reduced to ot max x R xn), R = Cmax xr representing the overall quantity of resources of the underlying planning problem.
[0204] The complexity can be reduced by taking the logarithmic search to O(T x log T x R x n) with T indicating the starting time at which a valid solution exists, and it is bounded by n x L maxcorresponding to the solution for completing all tasks one after the other.
[0205] The complexity of the RCPSP then becomes O(RX logn X n 2 ).
[0206] The implementation of the process thus makes it possible to obtain better calculation performance with an acceleration of the calculation.
[0207] This makes it possible to implement on a large scale and in real time any application requiring the result of an optimization using the RCPSP problem.
[0208] Such a process is therefore particularly advantageous for any industrial activity involving the use of the RCPSP problem.
[0209] This is particularly relevant in the aerospace and security sectors. For example, this process could be useful for flight management at an airport.
[0210] In a simple case given for illustrative purposes, four tasks are considered: 3 takeoffs and one landing of airplanes at an airport.
[0211] Each of these tasks runs in different time windows and is limited to the number of resources available (e.g., the number of runways) in the airport.
[0212] Each task is converted into a single graph that encodes the possible start time of that task. Its length is encoded using logic gates. The tasks, now graphs, are connected in the capacity grid as a unit disk graph. This unit disk graph is now an MWIS problem that could be solved using the Rydberg blockade through a series of measures.
[0213] The active nodes of the single graph for each task will then provide the recommended start time for each task while respecting the maximum resources available in the capacity grid.
[0214] This helps to ensure the safety of aircraft takeoffs and landings by finding the most suitable trajectory to guarantee such safety.
[0215] More generally, such a management process corresponds to a trajectory search process in which the resources i correspond to the possible trajectories and l k corresponds to the duration of a trajectory.
[0216] The process seeks to find trajectories satisfying:
[0217] In this case, the constraints taken into account are one or more of the following constraints:
[0218] • physical constraints related to altitude or geographical boundaries limiting the range of possible trajectories,
[0219] • the time constraints corresponding to the fact that the trajectories must be completed within specific timeframes,
[0220] • safety constraints, such as preventing any collision with an obstacle or any other aircraft,
[0221] • operational constraints, such as fuel consumption limitations or speed restrictions, and
[0222] • Constraints on the number of times a trajectory is selected (each trajectory can be selected a maximum of once). This allows for optimized trajectories for the chosen constraints, which can then be used to control a set of aircraft.
[0223] Such a control process thus includes a first phase of obtaining trajectories by implementing the allocation process and a second phase of controlling aircraft so that the aircraft follow the optimized trajectory.
[0224] During the control phase, the aircraft are piloted to follow the optimized trajectory.
[0225] This example can be generalized to any type of transport vehicle, including rail transport.
[0226] Furthermore, by observing that a trajectory for a transport vehicle is a mode of operation of that vehicle, the process is usable for any device or set of devices exhibiting a plurality of modes of operation.
[0227] In this sense, a device is here a piece of equipment, a machine or a transport vehicle.
[0228] As a specific example, one could cite a fleet of machines whose power supply needs to be coordinated. This would involve determining when each machine is used and in what operating mode, assuming that there are several operating modes involving different power consumption.
[0229] The process has the effect of modifying the functioning of the element and optimizing it according to constraints, and in particular safety constraints.
[0230] Other alternatives to the process just described can be considered.
[0231] For example, it might be possible to use a unit sphere graph instead of a unit disk graph.
[0232] It is also possible to use quantum systems other than Rydberg atoms, provided it can be shown that the evolution of this system leads to a solution of the MWIS problem. A superconducting circuit, an ion trap, or quantum dots are examples of other quantum systems that a person skilled in the art could consider to solve the MWIS problem.
[0233] The process allows in particular the scheduling of multiple air operations and the allocation of a plurality of resources in order to avoid malfunctions or delays.
[0234] At the system level, resources are the operating modes of that system, and tasks are the maneuvers of that system. For example, if the system is an aircraft, the operating modes are the possible trajectories of the aircraft, and the maneuvers are the landing or takeoff of the aircraft.
[0235] The combination of operating modes allows maneuvers to be performed and the sequencing of maneuvers allows an aircraft flight plan to be executed while guaranteeing a minimum safety margin and optimizing the energy consumption of the device.
[0236] At the airport level, this scheduling of air operations consists of optimizing a flow under constraints.
[0237] In the specific case of a flow of devices, the problem lies in planning and coordinating flights by allocating airport resources to specific tasks. Here again, the proper arrangement of these tasks allows for compliance with certain safety constraints while optimizing the use of available resources.
[0238] Scheduling tasks are device maneuvers. For example, devices are aircraft and maneuvers include takeoffs, landings, and all intermediate phases of flight that allow the aircraft to move from one geographic coordinate to another.
[0239] Aircraft flow optimization includes the allocation of airport resources such as runways, boarding gates, and time slots.
[0240] Flight planning and coordination includes scheduling flights, managing delays, and coordinating with other airports or control centers.
[0241] The planning and coordination of airport resources includes the scheduling and tasks of each staff member, the use of infrastructure such as runways or boarding gates, the use of construction or freight transport vehicles and the allocation of energy resources for energy production, storage or distribution.
[0242] That being said, each resource is specific to performing a task or part of a task.
[0243] For example, a ramp agent and a baggage loader (from the English "belt loader") allow an aircraft to be loaded or unloaded.
[0244] Furthermore, only a combination of resources allows a task to be accomplished.
[0245] For example, the agent alone or the belt loader alone cannot perform the task of loading or unloading.
[0246] The order in which tasks are performed is therefore an additional constraint. For example, unloading operations must be carried out after the aircraft has parked at a boarding gate, and loading operations must be carried out before the aircraft takes off.
[0247] The described process thus allows for the optimal allocation of each resource while taking into account various constraints.
[0248] For example, the belt loader and the ramp agent require a fixed time to travel from one boarding gate to another, so the departure time of a task is of particular interest.
Claims
DEMANDS 1. Resource allocation method, the method being implemented by a hybrid computing system (10) comprising a computer (12) and a quantum computing device (14), the method comprising: - a step of providing a set of elements, the elements comprising the tasks to be performed by a set of resources, the performance capacity of each resource, and the operational constraints of the resources to perform the tasks, - a first encoding step of all the elements in the form of an independent set of maximum weight, the first encoding step being carried out by the computer (12), - a second encoding step of the independent set of maximum weight in the form of a unit disk graph, the second encoding step being carried out by the computer (12), - a step of solving the unit disk graph to obtain a solution of the unit disk graph, the solving step being implemented by the quantum computing device (14), and - a step of conversion by the computer (12) of the solution obtained in the resolution step into a starting time and an allocation of resources for each task allowing the operating constraint to be respected.
2. A method according to claim 1, wherein at least one task has a duration and / or resource consumption for its completion, used as constraint(s) during the graph resolution step.
3. Method according to claim 1 or 2, wherein the resources are modes of operation of a device.
4. Method according to claim 3, wherein the device is an aircraft and the modes of operation are the possible trajectories of the aircraft.
5. A method according to any one of claims 1 to 4, wherein the tasks to be performed are maneuvers of one or more device(s).
6. A method according to any one of claims 1 to 5, wherein the tasks to be performed are aerial operations.
7. A method according to any one of claims 1 to 6, wherein the resources for carrying out the tasks are chosen from within airport resources, namely the group consisting of: construction and / or freight transport vehicles; manpower; possible aircraft trajectories; buildings or infrastructure; and energy production, energy storage and / or energy distribution resources.
8. A method according to any one of claims 1 to 7, wherein the resolution step comprises setting up a set of qubits in a physical configuration corresponding to the unit disk graph, evolving the set of qubits to an equilibrium state, the equilibrium state being the solution of the unit disk graph.
9. A method according to any one of claims 1 to 8, wherein the qubits are neutral atoms, advantageously Rubidium.
10. Method according to claim 8 or 9, wherein the quantum computing device (14) comprises an optical unit (20) for modifying and reading the state of the qubits and a qubit trapping unit (22).
11. Method according to claim 10, wherein the optical unit (20) is suitable for putting the qubits into the Rydberg state and wherein the trapping unit (22) is suitable for generating an optical network comprising a plurality of locations each suitable for receiving a qubit.
12. A method according to any one of claims 1 to 11, wherein the operating constraint includes compliance with a first condition that the use of a resource to carry out one or more tasks at any time must not exceed its maximum capacity and compliance with a second condition that each task cannot be interrupted once started.
13. Device testing procedure comprising the following steps: implementation of the resource allocation process according to any one of claims 1 to 12, wherein the resources are modes of operation of the devices, and control of said devices as a function of each start time and each resource allocation obtained at the end of the conversion step.
14. A method for controlling devices according to claim 13, wherein the devices are aircraft and the modes of operation are the possible trajectories of said aircraft.
15. Hybrid computing system (10) comprising a computer (12) and a quantum computing device (14), the computer (12) being specific to: - to obtain a set of elements, the elements comprising the tasks to be performed by a set of resources, the performance capacity of each resource, and the operational constraints of the resources to perform the tasks, - encode all elements as an independent set of maximum size, - encode the independent maximum weight game in the form of a unit disk graph, the quantum computing system being suitable for solving the unit disk graph to obtain a solution of the unit disk graph, and the computer (12) being suitable for converting the solution obtained at the solving stage into a starting time and a resource allocation for each task allowing compliance with the operating constraint.