Resource allocation method implemented by a hybrid computing system incorporating a quantum computing device
A hybrid computing system using a classical computer and quantum device optimizes resource allocation by solving the RCPSP problem through MWIS, addressing complexity issues and achieving efficient, scalable solutions.
Patent Information
- Application Number
- FR2024005552
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-29
- Publication Date
- 2025-12-05
AI Technical Summary
Resource allocation problems, particularly in NP-hard optimization scenarios like the Resource-Constrained Project Scheduling Problem (RCPSP), are complex and difficult to solve optimally when the number of tasks and constraints become large, necessitating a more efficient method.
A hybrid computing system combining a classical computer and a quantum computing device, utilizing quantum computing to solve the Maximum Weighted Independent Set (MWIS) problem encoded as a unit disk graph, to optimize resource allocation by determining optimal start times and resource usage within operational constraints.
The hybrid system achieves a polynomial-time solution to the RCPSP problem, providing an exact solution with reduced complexity and improved calculation performance, enabling real-time optimization in large-scale applications.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Resource allocation method implemented by a hybrid computing system comprising a quantum computing device
[0001] 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.
[0002] In many industrial applications, it is necessary to allocate limited resources efficiently to tasks or activities while taking into account various constraints.
[0003] For example, this could involve planning a construction project by allocating manpower, the quantity of raw materials and equipment according to operational constraints.
[0004] According to another example, it involves optimizing air traffic management, in particular by allocating takeoff and landing slots or by distributing runways and boarding gates.
[0005] In the field of logistics and supply chain, this involves allocating transport resources (trucks, trains) to optimize delivery routes based on loading capacity and delivery windows.
[0006] According to one 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.
[0007] According to yet another example, the aim is to optimize the presence of people continuously and efficiently to ensure the security of a location. To achieve such an allocation, it is known to use genetic algorithms or search algorithms to find an optimal solution.
[0008] However, solving such a resource allocation problem is an NP-hard optimization problem (i.e., a polynomial-time and non-deterministic hard problem). Thus, it is very complex, or even impossible, to solve this problem when the number of tasks and / or constraints becomes large.
[0009] There is therefore a need for a resource allocation process that enables an optimal allocation of resources.
[0010] To this end, the description describes a resource allocation method, the method being implemented by a hybrid computing system comprising a computer and a quantum computing device, the method comprising:
[0011] - a step of supplying 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,
[0012] - a first step of encoding the set of elements in the form of a game independent of maximum weight, the first encoding step being performed by the computer,
[0013] - a second encoding step of the maximum weight independent set under the in the form of a unit disk graph, the second encoding step being performed by the computer,
[0014] - a step of solving the unit disk graph to obtain a solution of the unit disk graph, the resolution step being implemented by the quantum computing device, and
[0015] - a step of conversion by the computer of the solution obtained in the step of resolution in a starting time and resource allocation for each task allowing compliance with the operational constraint.
[0016] 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:
[0017] - the resolution step involves setting up 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.
[0018] - the qubits are neutral atoms, advantageously Rubidium.
[0019] - the quantum computing device includes an optical unit capable of modifying and read the state of the qubits and a unit for trapping the qubits.
[0020] - the optical unit is suitable for putting the qubits into the Rydberg state.
[0021] - the trapping unit is suitable for generating an optical network comprising a plurality of dedicated spaces, each designed to accommodate a qubit.
[0022] - the operating constraint includes compliance with a first condition according to which 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 according to which each task cannot be interrupted once started.
[0023] - resources are a mode of operation of a device.
[0024] - the device is an aircraft and the modes of operation are the trajectories aircraft possibilities.
[0025] The description also relates to a hybrid computing system comprising a computer and a quantum computing device, the computer being specific to:
[0026] - to obtain a set of elements, the elements comprising the tasks to be performed through a set of resources, the capacity of each resource to perform the tasks, and the operational constraints of the resources to accomplish the tasks,
[0027] - encode the set of elements in the form of a weight-independent set maximum,
[0028] - encode the independent set of maximum weight in the form of a disk graph unitary,
[0029] the quantum computing system being suitable for solving the unit disk graph to obtain a solution of the unit disk graph, and
[0030] the computer being suitable for converting the solution obtained in the resolution step into a starting time and a resource allocation for each task allowing compliance with the operating constraint.
[0031] In this description, the expression "specific to" means interchangeably "suitable for", "adapted to" or "configured for".
[0032] 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:
[0033] - [Fig. 1] [Fig. 1] is a schematic representation of a hybrid computing system suitable for implementing a resource allocation process,
[0034] - [Fig.2] [Fig.2] is a flowchart of an example implementation of the process resource allocation by the calculation system of [Fig.1],
[0035] - [Fig.3] [Fig.3] is a schematic representation of an example task scheduling,
[0036] - [Fig.4] [Fig.4] is a representation of an MWIS game,
[0037] - [Fig.5] [Fig.5] is a schematic representation of a simple graph,
[0038] - [Fig.6] [Fig.6] is a schematic representation of an OR gate and a OR layer,
[0039] - [Fig.7] [Fig.7] is a schematic representation of a grid graph of capacity, and
[0040] - [Fig.8] [Fig.8] is a schematic representation of a unit disk graph.
[0041] A hybrid computing system 10 is schematically represented in [Fig.1].
[0042] The hybrid computing system 10 is suitable for implementing an allocation process of resources.
[0043] More specifically, the hybrid computing system 10 is suitable for solving a project planning problem with limited resources.
[0044] 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".
[0045] An RCPSP problem aims to determine the optimal allocation of resources for the performance of given tasks in order to optimize the use of these resources.
[0046] This means that the hybrid computing system 10 is capable of determining, for tasks to be carried out by a set of resources, when it is appropriate to start the tasks and by which resource it is appropriate to implement them according to an operating constraint.
[0047] The hybrid computing system 10 is also suitable for sending commands corresponding to the optimal solution of this problem.
[0048] These commands are sent to a system 16 managing all resources and task scheduling, which will directly exploit them to optimally allocate tasks to resources.
[0049] 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 of allocating resources.
[0050] In what follows, the first aspect will be described more specifically, namely how the hybrid computing system 10 makes it possible to obtain an optimal solution to the RCPSP problem.
[0051] The hybrid computing system 10 is a computing system with two different computing modes.
[0052] In the present example, one of the two modalities is quantum.
[0053] As can be seen in [Fig.1], the hybrid computing system 10 comprises a computer 12 and a quantum computing device 14.
[0054] Calculator 12 is a conventional calculating device.
[0055] The term “classical” is to be understood here in the sense of non-quantum, the calculator 12 manipulating simple bits.
[0056] 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.
[0057] As specific examples, the 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).
[0058] Alternatively, when the process is implemented in the form of one or more software programs, i.e., in the form of a computer program, also called a computer program product, it is further capable of being recorded on a medium, not A computer-readable medium is, for example, a medium capable of storing electronic instructions and being connected to a computer system bus. Examples of such media include optical discs, magneto-optical discs, ROMs, RAM, any type of non-volatile memory (such as FLASH or NVRAM), or magnetic cards. A computer program containing software instructions is then stored on this readable medium.
[0059] In contrast to the calculator 12, the quantum computing device 14 manipulates qubits 18 instead of bits.
[0060] 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.
[0061] In the example described, the 18 qubits are neutral atoms
[0062] Advantageously, qubit 18 is an alkali metal, in particular Rubidium.
[0063] The quantum computing device 14 comprises an optical unit 20 and a trapping unit 22.
[0064] The optical unit 20 is suitable for modifying and reading the state of the qubits 18.
[0065] The optical unit 20 is here, in particular, suitable for putting the qubits 18 into a state of Rydberg.
[0066] The optical unit 20 is, for example, a set of elements enabling the generation of laser beams at an adjustable frequency to correspond to a transition between chosen states of the qubits 18.
[0067] The trapping unit 22 of the 18 qubits is suitable for trapping the 18s qubits.
[0068] More specifically, the trapping unit 22 is suitable for generating an optical network comprising a plurality of locations, each suitable for hosting a qubit 18.
[0069] The trapping unit 22 is, for example, a laser system.
[0070] 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.
[0071] The operation of the hybrid computing system 10 for solving a resource allocation problem is now described with reference to the flowchart in [Fig.2] which illustrates an example of the implementation of a resource allocation process.
[0072] 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.
[0073] 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.
[0074] More specifically, in this particular example, the E36 resolution step is implemented by the quantum computing device 14 while the other steps are implemented by the computer 12.
[0075] During the supply step E30, the calculator 12 obtains a set of elements.
[0076] Obtaining takes, for example, the form of receiving data or reading data on a storage unit.
[0077] These elements relate to the RSPCP problem.
[0078] In this sense, the supply step E30 can be seen as a supply step of the RSPCP problem.
[0079] During the supply step E30, the computer 12 obtains a plurality of tasks to be performed by a set of resources
[0080] Each task is denoted Tk with k an integer varying between 1 and n the total number of tasks.
[0081] The calculator 12 thus obtains a set of tasks î™ 1 ri 1 k>k <n
[0082] For each task, at least one parameter is provided, preferably several parameters.
[0083] The parameters provided for each task which can be grouped into system-related parameters and task-intrinsic parameters.
[0084] System-related parameters include, for example, the number of resources available for the task and the maximum capacity of each resource.
[0085] The number of available resources is denoted r, r being an integer.
[0086] A resource is, for example, available working hours of employees or equipment.
[0087] The capacity of a resource i is denoted CA, where i is an integer chosen from the set U ...,4
[0088] The capacity here is an integer.
[0089] Capacity represents a quantification of total available resources.
[0090] For example, for trajectory search, the capacity is the total number of possible trajectories for the aircraft.
[0091] In other examples, capacity represents the number of working hours available to employees or a quantification of the material (volume of raw materials in particular).
[0092] The intrinsic parameters of the task are, for example, the duration of the task or the consumption of resources for the completion of the task.
[0093] Resource consumption represents the amount of resources used in completing the task, so consumption can also be expressed in integers.
[0094] The intrinsic parameters of the task thus amount to providing a multiplet for a task Tk, namely:
[0095] rt=( / „4>..4>)
[0096] Where: • C is the duration of the task, that is, the time interval between the start time of the implementation of task Tk and the end time of the implementation of task Tk, and • is an integer denotes the consumption of each resource 1 by the task Tk.
[0097] As previously stated, solving an RCPSP problem aims to find the optimal start times for all tasks under an operating constraint.
[0098] The operating constraint can be expressed here as compliance with two conditions, namely a first condition according to which the use of a resource * at any time must not exceed its maximum capacity Ci on all tasks and a second condition according to which each task cannot be interrupted once started.
[0099] In other words, this means that each resource 1 can perform one or more tasks simultaneously if the tasks do not exceed the maximum capacity Ci of the resource over a given time interval.
[0100] Mathematically, such an operating constraint can be expressed as follows: [OiOi] yteN € vi e(l, ...,r) <Ci
[0102] Where: • designates the starting point for the implementation of the task and • denotes a function equal to 1 when the condition tk t < tk + lk is met and 0 when the condition is not met.
[0103] Solving the RCPSP problem consists of finding L 1 A1n respecting the constraint of previous operation.
[0104] Figure 3 illustrates an example of planning four tasks T to T4 for the case of one resource (i.e. r = 1).
[0105] Each task Ti to corresponds to a respective block B{ to B on the representation of [Fig.3].
[0106] The length of a block Bk (dimension along the horizontal axis) corresponds to the duration of the task lk over the given time interval tm while the height of a block Bk (dimension along the vertical axis) corresponds to the consumption of the resource to carry out the task.
[0107] The position of the block Bk along the horizontal axis is such that the block Bk extends between the start time tk of the task Tk and the end time tk + ^k of the task Tk.
[0108] The position of each block is determined here so that the tasks Tk are carried out under the constraint of respecting the maximum capacity Cj — umtm.
[0109] Thus, at the end of the supply step E30, the computer 12 obtained 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 operating constraint of the resources to perform the tasks.
[0110] During the first E32 encoding step, the calculator 12 encodes all the elements as an independent set of maximum weight.
[0111] The first E32 encoding step can thus be seen as a step of converting the set of elements into an independent set of maximum weight.
[0112] A maximum weight independent set is more often designated by the abbreviation MWIS, which refers to the corresponding English term "Maximum Weighted Independent Set".
[0113] In the following, for ease of reading, the maximum weight independent set is referred to as the MWIS set.
[0114] The first E32 encoding step is carried out by the computer 12 using graph theory.
[0115] A graph is a mathematical structure representing objects and the relationships between them.
[0116] Objects are represented by nodes or vertices, while relations are represented by edges.
[0117] Nodes are more commonly referred to as "vertices" while edges are referred to as "edges" in reference to the corresponding English terms.
[0118] In the formalism of a graph, an MWIS set is a set of nodes in which no member of the MWIS set is adjacent.
[0119] This means that the MWIS solution game is a subset of nodes of the graph comprising nodes that do not interact with each other.
[0120] Moreover, the sum of the weights is maximized, so that the aim 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.
[0121] Fig. 4 allows visualization of MWIS games.
[0122] In this graph, each node can represent an allocation option for 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 carried out without conflicting with each other, according to the constraints represented by the edges.
[0124] It may be recalled here that it is desirable to maximize the total weight calculated as a function of the number of active nodes (for example, task allocation options) which do not conflict with each other, each node having a weight.
[0125] As seen in [Fig.4], solutions with MWIS are shown for several cases: a case of a suboptimal solution (case A), optimal (case B) and invalid (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 Tk of duration, the possible values of the start time tk of the implementation of the task Tk are encoded by a simple graph.
[0128] A simple graph is a graph in which 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 start time being between 0 and tmax-h, the simple graph has tmax "1^+1 nodes.
[0131] The parameter represents the maximum possible interval for starting a task while ensuring that the task can be completed within the remaining time.
[0132] According to one example, the parameter is determined according to a horizon for the realization of 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 gives 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 initial times for a given task in an MWIS game.
[0136] Only one of the nodes in the top row is part of the solution sought and is the start time of task Tk.
[0137] With reference to figure ô, the calculator 12 encodes the duration lk using an OR layer graph.
[0138] 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.
[0139] An OR layer graph includes OR gate graphs.
[0140] 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.
[0141] An example of an OR gate graph is shown on the left side of [Fig.6].
[0142] As can be seen on the right-hand side of [Fig. 6], the OR layer graph allows propagate a candidate start time step by time step while keeping the nodes unchanged.
[0143] The time step is the minimum time unit defined for allocation. In this sense, it is similar to a clock increment for computer systems.
[0144] Calculator 12 encodes the start time and duration 4 by merging the simple graph into the OR layer graph.
[0145] By stacking the OR layers 4 times for the task Tk, the calculator 12 obtains a binary encoding of the following form:
[0146] (0,0,0, ... ,0,1,1, ... ,1,1,0, ... ,0)
[0147] Where: • A binary number "1" represents a node that is part of the solution, and • A binary number "0" represents a node that is not part of the solution.
[0148] This implies the presence of lk binary numbers "1", the corresponding time steps being the time steps during which the task Tk is implemented by the resource set.
[0149] Calculator 12 also seeks to encode the operating constraint.
[0150] For this purpose, the computer 12 constructs r grids of simple graphs, that is to say as many grids of simple graphs as there are resources.
[0151] An example of such a grid for a resource can be seen in [Fig.7].
[0152] The grid comprises a set of rows and columns.
[0153] The number of lines represents the sum of the consumption of a resource across all tasks, which can be mathematically written as follows:
[0154] NL = Lu®
[0155] Where NL denotes the number of lines in the grid.
[0156] The number of columns represents the maximum capacity of resource i, so it follows that:
[0157] NC = q
[0158] Where NC denotes the number of lines in the grid.
[0159] Each row and column of the grid is a simple graph.
[0160] Calculator 12 connects simple graphs across rows and columns by coding nodes.
[0161] A coding node is here 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 solution sought. More precisely, it is one per row and one per column.
[0162] The different grids are also connected by the column via the coding nodes.
[0163] Fig. 7 illustrates an example of a grid for a resource for three tasks (simple graphs gl, g2 and g3) which are linked by long-column coding nodes.
[0164] 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.
[0165] In other words, calculator 12 transformed an RCPSP problem into an MWIS problem.
[0166] During the second encoding step E34, the calculator 12 encodes the MWIS set in the form of a unit disk graph.
[0167] 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.
[0168] Such a graph is often referred to by the corresponding English term "unit graph disk".
[0169] 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.
[0170] This threshold is generally determined according to the specific layout of the MWIS game and the constraints of the optimization problem.
[0171] Physically, the distance between two nodes is determined by the interaction radius between the atoms with the Rydberg blocking radius R^. If the atoms are close enough to interact, then these atoms are connected in our unit graph disk.
[0172] An example of such a unit disk graph is shown in [Fig.8].
[0173] Such a second E34 encoding step makes it easier to solve the MWIS problem.
[0174] This E36 resolution step of the unit disk graph is implemented by the quantum computing device 14.
[0175] The quantum computing device 14 thus obtains a solution of the unit disk graph.
[0176] According to the example described, the resolution step E36 involves the placement of a set of qubits 18 in a physical configuration corresponding to the unit disk graph, the evolution of the set of qubits 18 until an equilibrium state, the equilibrium state being the solution of the unit disk graph.
[0177] This involves physically creating a Rydberg atom network representing the problem and allowing it to evolve.
[0178] This relies on the Rydberg blocking mechanism, which is based on Rydberg interactions. The Van der Waals interaction is an interaction in which an energy shift occurs when two atoms in a Rydberg state are sufficiently close.
[0179] The adiabatic evolution of a set of atoms in such a state can thus be represented by the following Hamiltonian:
[0180] Hqa= _av(t)n» + U
[0181] Where: • Av denotes the laser frequency shift between the ground state and the Rydberg state of an atom, • nv = I rv) (rv I is the numerical operator of the atom v where I rv) is the Rydberg state, • denotes the frequency of Rabi, • &v is the X operator of the atom v which represents the following operation g} (rv | + r'^)| rv) (g |] where 0 is the laser phase and is the ground state of the atom v, • Uv,w represents the Rydberg interaction between atoms v and w, • nu - ! ru) ( rlt I is the numerical operator of the atom u where I ru) is the state of Rydberg, and • nw = \ rw) (rw I is the numerical operator of the atom w where I rw) is the Rydberg state.
[0182] When the frequency shift Av and the Rabi frequency Qy are much lower than the Rydberg interaction, it is possible to ignore the term which corresponds to a formulation of an MWIS problem.
[0183] Thus, we prepare all the atoms of an optical lattice in the ground state so that — 0) where A(? = 0) = - A0<0 and Q(^ — 0) — 0.
[0184] The MWIS game is coded in the atony configuration by associating each node (task or allocation option) with a specific atony state in the optical lattice, where the selection (or not) of a node corresponds to an atom being 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.
[0185] The parameters are then modified by increasing the frequency of Rabi Q(t) to a finite value and then to 0 and by sweeping the detuning A(t) until Aq > 0 after a certain final time tf.
[0186] The aim is thus to obtain a suitable dynamics of the atoms during the adiabatic evolution, in particular to optimize the convergence towards the equilibrium state representing the optimal solution.
[0187] For this purpose, 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.
[0188] By application of 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.
[0189] During the conversion step E38, the computer 12 transforms the solution obtained in the resolution step E36 into a start time and a resource allocation for each task in order to comply with the operating constraint.
[0190] According to a 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.
[0191] Calculator 12 thus obtains an optimal start time for each task T k.
[0192] The solution of the RCPSP problem is an NP-hard problem, that is to say that the implementation of this solution involves a complexity that evolves exponentially over time to obtain a quasi-optimal solution.
[0193] The method 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.
[0194] The described process makes it possible to find an exact solution to this problem in a polynomial complexity (proportional to the size of the problem).
[0195] More precisely, the complexity of the solution is proportional to the number of nodes in the graph.
[0196] More precisely, for each task there exists a simple graph of complexity O(tmax) and L OR layers of complexity O(Lm(tx), Lmax being the maximum length of the task.
[0197] Then, the complexity of the graph combining the two graphs is of order O ( tmax x ^max xw ) with n the number of tasks.
[0198] Then, for each time step t, there exists a capacity grid for each resource which gives a complexity O ( Cnutx x uinax xn ), where Cmax is the maximum capacity over all resources and umax is the maximum consumption of a resource per given time step.
[0199] The quantities Lnutx and umax do not adapt to the complexity / size of the problem since they are characteristics of the task.
[0200] Consequently, the time complexity can be reduced to O(tmux xRxn), R = Cmax xr representing the overall amount of resources of the underlying planning problem.
[0201] The complexity can be reduced by taking the logarithmic search to O ( T x logT x R xn ) with T indicating the starting time at which a valid solution exists, and it is bounded by n X Ltnax corresponding to the solution to perform all tasks one after the other.
[0202] The complexity of the RCPSP then becomes O ( R x log« x n2 ).
[0203] The implementation of the process thus makes it possible to obtain better calculation performance with an acceleration of the calculation.
[0204] 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.
[0205] Such a process is therefore particularly advantageous for any industrial activity involving the use of the RCPSP problem.
[0206] This is particularly the case in the field of aerospace or security.
[0207] As an example, it may be useful to use this process for flight management in an airport.
[0208] In a simple case given by way of illustration, four tasks are considered: 3 takeoffs and one landing of airplanes in an airport.
[0209] Each of these tasks is executed in different time windows and is limited to the number of resources available (e.g., the number of runways) in the airport.
[0210] Each task is converted into a "single graph" that encodes the possible start time of that task. Its length is encoded with logic gates. The tasks, now graphs, are connected in the capacity grid as a unit disk graph. This unit disk graph is now a problem MWIS which could be resolved by using the Rydberg blockade through a series of measures.
[0211] The active nodes of the single graph for each task will then give the recommended start time for each task while respecting the maximum resources available in the capacity grid.
[0212] This helps to ensure the safety of aircraft takeoffs and landings by finding the most suitable trajectory to guarantee such safety.
[0213] More generally, such a management process corresponds to a trajectory search process in which the resources i correspond to the possible trajectories and 4 corresponds to the duration of a trajectory.
[0214] The process seeks to find trajectories satisfying: 102151 v / eN-€ vi e{h
[0216] In this case, the constraints taken into account are one or more of the following constraints: • physical constraints related to altitude or geographical boundaries limiting the range of possible trajectories, • the time constraints corresponding to the fact that the trajectories must be completed within specific timeframes, • safety constraints, such as preventing any collision with an obstacle or any other aircraft, • operational constraints, such as fuel consumption limitations or speed restrictions, and • constraints on the number of times a trajectory is selected (each trajectory can be selected a maximum of once).
[0217] This makes it possible to obtain trajectories optimized for the chosen constraints which can be used to control a set of aircraft.
[0218] Such a control method thus comprises a first phase of obtaining trajectories by implementing the allocation method and a second phase of controlling aircraft so that the aircraft follow the optimized trajectory.
[0219] During the control phase, the aircraft are piloted to follow the optimized trajectory.
[0220] This example can be generalized to any type of transport vehicle, including rail transport.
[0221] Furthermore, observing that a trajectory for a transport vehicle is a mode of operation of the latter, the method is usable for any device or set of devices presenting a plurality of modes of operation.
[0222] In this sense, a device is here an equipment, a machine or a transport vehicle.
[0223] 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 according to which operating mode, assuming that there are several operating modes involving different power supply usage.
[0224] The process has the effect of modifying the functioning of the element and optimizing it according to constraints, and in particular safety constraints.
[0225] Other alternatives to the process just described may be considered.
[0226] For example, consideration could be given to using a unit sphere graph instead of a unit disk graph.
[0227] It is also possible to use other quantum systems besides Rydberg atoms provided that 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 might consider for solving the MWIS problem.
Claims
Demands
1. A 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 operating constraint of the resources to perform the tasks, - a first step of encoding the set of elements in the form of an independent set of maximum weight, the first encoding step being performed by the computer (12), - a second step of encoding the independent set of maximum weight in the form of a unit disk graph, the second encoding step being performed by the computer (12), - a step of solving the unit disk graph to obtain a solution of the unit disk graph,the resolution step being implemented by the quantum computing device (14), and - a conversion step by the computer (12) of the solution obtained in the resolution step into a starting time and a resource allocation for each task allowing compliance with the operating constraint.
2. A method according to claim 1, 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.
3. A method according to claim 2, wherein the qubits are neutral atoms, advantageously Rubidium.
4. A method according to claim 2 or 3, 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).
5. Method according to claim 4, wherein the optical unit (20) is suitable for putting the qubits into the Rydberg state.
6. A method according to claim 5, wherein the trapping unit (22) is adapted to generate an optical network comprising a plurality of locations, each adapted to accommodate a qubit.
7.
8.
9.
10. A method according to any one of claims 1 to 6, wherein the operating constraint comprises compliance with a first condition that the use of a resource to perform 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. A method according to any one of claims 1 to 7, wherein the resources are an operating mode of a device. A method according to claim 8, wherein the device is an aircraft and the operating modes are the possible trajectories of the aircraft. Hybrid computing system (10) comprising a computer (12) and a quantum computing device (14), the computer (12) being suitable for: - obtaining 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 operating constraint of the resources to perform the tasks, - encoding the set of elements in the form of an independent set of maximum weight, - encoding the independent set of maximum weight 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 resolution step into a starting time and a resource allocation for each task allowing compliance with the operating constraint.