WO2023095449A1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
WO2023095449A1
WO2023095449A1 PCT/JP2022/036935 JP2022036935W WO2023095449A1 WO 2023095449 A1 WO2023095449 A1 WO 2023095449A1 JP 2022036935 W JP2022036935 W JP 2022036935W WO 2023095449 A1 WO2023095449 A1 WO 2023095449A1
Authority
WO
WIPO (PCT)
Prior art keywords
objective function
information processing
optimization problem
ising machine
solving
Prior art date
Application number
PCT/JP2022/036935
Other languages
English (en)
French (fr)
Inventor
匡 佐藤
裕 米久保
拓也 大杉
Original Assignee
富士フイルム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to EP22898234.4A priority Critical patent/EP4439407A1/en
Priority to JP2023563535A priority patent/JPWO2023095449A1/ja
Priority to CN202280075533.9A priority patent/CN118235141A/zh
Publication of WO2023095449A1 publication Critical patent/WO2023095449A1/ja
Priority to US18/650,280 priority patent/US20240289414A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and an information processing program.
  • Japanese Patent Application Laid-Open No. 2021-117977 discloses a technique in which not only a quantum computer but also a classical computer performs some of the arithmetic processing for finding the solution of a combinatorial optimization problem.
  • Japanese Patent Application Laid-Open No. 2020-184759 discloses a technique for grouping multiple antennas provided in multiple base stations by quantum annealing.
  • the Ising machine is known as a quantum computer that specializes in solving optimization problems.
  • Ising machines include quantum annealing machines that use the properties of quantum mechanics, coherent Ising machines that use the properties of light, and digital annealers that are composed of digital circuits.
  • the optimization problem is modeled. Examples of models that can be solved by the Ising machine include the QUBO (Quadratic Unconstrained Binary Optimization) model, which models the optimization problem with a quadratic form of binary variables of 0 or 1, and the optimization problem of -1 or 1.
  • An Ising model modeled by a quadratic form of binary variables, etc. can be mentioned. Note that the QUBO model and the Ising model can be mutually converted.
  • the present disclosure has been made in view of the above circumstances, and provides an information processing device, an information processing method, and an information processing program that can reduce the number of qubits when causing an Ising machine to compute an optimization problem. intended to
  • An information processing apparatus includes at least one processor, and is a process of solving an optimization problem by obtaining a value of an unknown variable using a first objective function, wherein the value of the unknown variable is An information processing device that causes an Ising machine to execute processing correlated with the number of qubits when solving an optimization problem with the Ising machine, wherein the processor uses a second objective function different from the first objective function Deriving the smallest unknown variable value within the range of obtaining a feasible solution of the optimization problem, and solving the optimization problem defined by the mathematical model containing the derived unknown variable value and the first objective function. It controls the Ising machine to execute the processing to be performed.
  • the second objective function may be an objective function that can relax the constraint conditions compared to the first objective function. Thereby, the amount of calculation can be reduced.
  • an unknown variable is stored in a qubit group including a plurality of qubits, and the value of the unknown variable is represented by a position where the qubit is 0 or 1 in the qubit group.
  • the information processing apparatus of the present disclosure may further include an Ising machine having at least one processor, and the processor of the Ising machine may execute processing for solving an optimization problem defined by a mathematical model. This allows the optimization problem to be efficiently solved.
  • the information processing method of the present disclosure includes at least one processor, and is a process of solving an optimization problem by obtaining a value of an unknown variable using a first objective function, the unknown variable
  • an information processing program of the present disclosure includes at least one processor, and is a process of solving an optimization problem by obtaining a value of an unknown variable using a first objective function
  • An information processing program for causing a processor of an information processing device to execute a process whose value correlates with the number of qubits in solving an optimization problem by the Ising machine, wherein the first objective function is A mathematical model that derives a minimum unknown variable value within a range in which a feasible solution of an optimization problem can be obtained using a different second objective function, and includes the derived unknown variable value and the first objective function It controls the Ising machine to execute the process of solving the optimization problem defined by .
  • FIG. 2 is a block diagram showing an example of the hardware configuration of an Ising machine
  • FIG. FIG. 3 is a schematic diagram for explaining an optimization problem according to the first embodiment
  • FIG. FIG. 4 is a schematic diagram showing an example of a solution to an optimization problem according to the first embodiment
  • FIG. FIG. 4 is a diagram showing an example of quantum bits representing the first round of one truck
  • FIG. 10 is a diagram showing an example of a quantum bit representing a solution for the first round of one truck
  • FIG. 4 is a diagram showing an example of quantum bits representing multiple rounds of one track
  • FIG. 4 is a diagram showing an example of quantum bits representing multiple turns of multiple trucks; 1 is a block diagram showing an example of a functional configuration of an information processing device; FIG. FIG. 4 is a diagram for explaining quantum bits to be reduced according to the first embodiment; FIG. 2 is a block diagram showing an example of a functional configuration of an Ising machine; FIG. 6 is a flowchart showing an example of model generation processing; It is a flowchart which shows an example of a solution-finding process.
  • FIG. 10 is a schematic diagram for explaining an optimization problem according to the second embodiment;
  • FIG. FIG. 11 is a diagram for explaining an example of a method of representing quantum bits according to the second embodiment; FIG.
  • FIG. 11 is a diagram for explaining an example of a method of representing quantum bits according to the second embodiment;
  • FIG. 10 is a diagram for explaining another example of a quantum bit expression method according to the second embodiment;
  • FIG. 10 is a diagram for explaining another example of a quantum bit expression method according to the second embodiment;
  • FIG. 11 is a diagram for explaining quantum bits to be reduced according to the second embodiment;
  • FIG. Examples of the information processing device 10 include a server computer and the like.
  • the information processing apparatus 10 includes a CPU (Central Processing Unit) 20, a memory 21 as a temporary storage area, and a non-volatile storage section 22.
  • FIG. The information processing apparatus 10 also includes a display 23 such as a liquid crystal display, an input device 24 such as a keyboard and a mouse, a network I/F (InterFace) 25 connected to a network, and an Ising machine 26 .
  • the CPU 20 , memory 21 , storage unit 22 , display 23 , input device 24 , network I/F 25 and Ising machine 26 are connected to bus 27 .
  • the information processing apparatus 10 may include multiple Ising machines 26 .
  • the storage unit 22 is implemented by a HDD (Hard Disk Drive), SSD (Solid State Drive), flash memory, or the like.
  • An information processing program 30 is stored in the storage unit 22 as a storage medium.
  • the CPU 20 reads out the information processing program 30 from the storage unit 22 , expands it in the memory 21 , and executes the expanded information processing program 30 .
  • the storage unit 22 also stores problem data 32 for modeling an optimization problem to be solved by the information processing apparatus 10 . Details of the optimization problem represented by the problem data 32 will be described later.
  • the Ising machine 26 is dedicated hardware for handling the QUBO model, and is installed in an expansion card slot of the information processing device 10, for example.
  • the Ising machine 26 is implemented, for example, by a digital circuit such as an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • the Ising machine 26 performs processing to solve the optimization problem defined by the QUBO model, and outputs the processing result to the CPU 20 .
  • the Ising machine 26 may be a computer provided outside the information processing apparatus 10 such as a cloud server connected via a network.
  • the Ising machine 26 includes a processor 40, an interaction clock generator 42, a random number generator 44, and a plurality of Ising chips 46.
  • processor 40 performs the process of solving the optimization problem by controlling interaction clock generator 42 , random number generator 44 , and each Ising chip 46 .
  • the interaction clock generator 42 generates a clock for interaction between bits when the Ising chip 46 handles the QUBO model.
  • the random number generator 44 generates a random number, which is a random bit string, to prevent the solution search process executed by the Ising chip 46 from falling into a local optimum solution.
  • the Ising chip 46 includes memory cells that store bits, interaction coefficients, external magnetic field coefficients, and the like.
  • FIG. 3 shows an example in which there are three trucks and nine stores.
  • the number written inside the truck in FIG. 3 represents the maximum number of products that can be loaded on the truck (hereinafter referred to as “maximum loading capacity”).
  • the numbers written inside the stores in FIG. 3 represent the number of demand for the products in the stores.
  • the number of stores, the number of products demanded at each store, the number of trucks, the maximum loading capacity of each truck, the distance traveled by trucks between the warehouse and each store, and the distance traveled by trucks between stores is known.
  • a delivery route that minimizes the total travel distance from a truck leaving a warehouse to delivering products that meet the demand of each store and finally returning to the warehouse. will be described as an example. It is assumed that one truck can go around multiple times. A lap here means that the truck leaves the warehouse, delivers goods to one or more stores, and returns to the warehouse.
  • An example solution to the routing problem of the example of FIG. 3 is shown in FIG. The solid line arrow in FIG.
  • S the number of stores to which products are delivered
  • T the number of trucks
  • N the maximum number of times each truck makes a round
  • I the maximum number of stores that each truck can visit in one round.
  • S , S+1 ⁇ , t ⁇ T s ⁇ 1, 2, . . . , T ⁇
  • n ⁇ N s ⁇ 1, 2, . , N ⁇
  • i ⁇ I s ⁇ 1, 2, . . . , I ⁇ .
  • the suffix "s" indicates a set.
  • S s S+1 is added to the last element of the set to represent the truck's final return to the warehouse.
  • N is assumed to be a number greater than one. This is because the maximum loading capacity of the truck is set in the above route determination problem, and even if all trucks share the delivery, there is a possibility that the products cannot be delivered to all the stores in one round.
  • the first round of the truck all stores are candidates for visiting destinations, and the number of stores to be visited in the first round is unknown. I will have the bits ready.
  • the quantum bits are arranged two-dimensionally, the vertical direction represents the variable i, and the horizontal direction represents the variable s.
  • FIG. 6 The result of solving the route determination problem is expressed as shown in FIG. 6 as an example.
  • locations where the quantum bit value is “1” represent visiting the store, and locations where the quantum bit value is “0” represent not visiting.
  • the description of “0” is omitted for the portions where the value of the quantum bit is “0”, and the columns are left blank. This also applies to FIGS. 7 and 8, which will be described later.
  • the truck visits store 2 first, second store 3, and third return to the warehouse in the first round.
  • the qubits shown in FIGS. 5 and 6 are for one round, as shown in FIG. 7 as an example, by preparing N rounds of these qubits, the qubits for one track can be defined. That is, the number of qubits required to express one truck is (S+1) ⁇ N ⁇ I. Furthermore, as shown in FIG. 8 as an example, by preparing the same number of quantum bits for one truck as the number of trucks, the solution of the route determination problem shown in FIG. 3 can be expressed. That is, the number of bits required in the example shown in FIG. 8 is T*(S+1)*N*I.
  • Equation (1) expresses the condition that one truck visits each store only once.
  • Equation (2) expresses the condition that the number of stores that one truck can visit at the same time is one.
  • Equation (3) expresses the condition that each truck visits stores in order, such as the first, second, and so on. Specifically, as shown in FIG. 6, the expression (3) starts with the first store, and visits the second, third, and so on until it returns to the warehouse. It represents the condition that there is no row with only a qubit value of "0" between the first row to be visited, that is, the row representing the return to the warehouse.
  • Formula (4) expresses the condition that the number of products delivered by each truck is equal to or less than the maximum loading capacity of each truck. Equation (5) expresses the condition that each truck returns to the warehouse each round. Equation (6) expresses the condition that each truck does not visit the store after returning to the warehouse in each round.
  • the objective function for minimizing the total travel distance of the truck is given by the following equation (7).
  • This objective function is an objective function used for solving the above-described route determination problem, and is hereinafter referred to as a "first objective function".
  • the QUBO model defined by equations (1) to (7) can be solved by the Ising machine 26.
  • S and T are uniquely determined from the problem setting, but N and I are arbitrary values, and are set to values that the user has a margin for, for example. This is because the user cannot know in advance the values of N and I that do not make the Ising machine 26 infeasible. For example, in the route determination problem of the example shown in FIG. It means that it is set to the above value.
  • the data size of the QUBO model input to the Ising machine 26 is the multiplication of the coefficient of each quantum bit Q t, s, n, i obtained by equations (1) to (7) and two quantum bits.
  • Q t, s, n, i ⁇ Q t′, s′, n′, i′ , which is the numerical value of the number of qubits ⁇ the number of qubits, that is, proportional to the square of the qubit. Therefore, when the number of quantum bits increases, the data size of the QUBO model also increases. Therefore, from the viewpoint of data size as well, it is preferable to reduce the number of qubits when causing the Ising machine 26 to compute the route determination problem.
  • the information processing apparatus 10 has a function of reducing the number of qubits when causing the Ising machine 26 to compute the route determination problem.
  • the information processing apparatus 10 includes a derivation unit 50, a generation unit 52, a control unit 54, and an acquisition unit 56.
  • the CPU 20 functions as a derivation unit 50 , a generation unit 52 , a control unit 54 and an acquisition unit 56 .
  • the derivation unit 50 uses a second objective function different from the first objective function to derive the minimum unknown variables i and n within a range in which a feasible solution to the route determination problem can be obtained.
  • the second objective function is expressed by the following formula (8).
  • the value to be minimized is the total value of I, which is the upper limit of variable i, and N, which is the upper limit of variable n.
  • equation (8) by including the variables i and n in the objective function, a solution can be obtained that minimizes the number of shops visited by the truck per round and the number of rounds.
  • the derivation unit 50 performs a process of solving a route determination problem in which the objective function is changed from the first objective function to the second objective function.
  • the maximum value of i and n is It corresponds to the smallest value of I and N within which a feasible solution to the routing problem is obtained.
  • the minimum values of I and N are hereinafter referred to as I' and N'. That is, I' and N' correspond to the minimum upper bounds I, N of the variables i, n within the range where a feasible solution of the routing problem derived using the second objective function is obtained.
  • the second objective function is an objective function that can relax the constraints compared to the first objective function. Specifically, in the equation (8) showing the second objective function, since it is not necessary to calculate the travel distance of the truck, among the constraint conditions in the equations (1) to (6), Constraints (3) and (6) can be ignored. Therefore, the amount of calculation can be reduced.
  • the generation unit 52 generates a QUBO model including N' and I' derived by the derivation unit 50 and the first objective function. Specifically, the generation unit 52 uses N′ and I′ derived by the derivation unit 50 and formulas (1) to (7) to generate data that allows the Ising machine 26 to solve the route determination problem. Generate a formatted QUBO model. This QUBO model contains information necessary to solve the routing problem, such as N' and I' values, constraints, a first objective function, a qubit representation method, and a problem setting.
  • the upper limits I' and N' of the unknown variables i and n are smaller than I and N set by the user with a margin so that a feasible solution can be obtained. be a value. Therefore, as shown in FIG. 10 as an example, it is possible to reduce the number of qubits when causing the Ising machine 26 to compute the route determination problem. Specifically, when the qubits are arranged two-dimensionally, the qubits from the I′+1-th row to the I-th row are reduced from the first round to the N′-th round. In this case, all the qubits from the 1st row to the I-th row are reduced from the N'+1th round to the Nth round.
  • the control unit 54 controls the Ising machine 26 to perform processing for solving the route determination problem defined by the QUBO model generated by the generation unit 52 . Specifically, the control unit 54 outputs the QUBO model generated by the generation unit 52 to the Ising machine 26 via the bus 27 . Further, the control unit 54 performs control to store the result of the solution-seeking process acquired by the acquisition unit 56 described later in the storage unit 22 . The control unit 54 may perform control to display the result of the solution-seeking process on the display 23 .
  • the acquisition unit 56 acquires the result of the route determination problem-solving process by the Ising machine 26 from the Ising machine 26 via the bus 27 .
  • the Ising machine 26 includes an acquisition unit 60 , an execution unit 62 and an output unit 64 .
  • Processor 40 functions as acquisition unit 60 , execution unit 62 , and output unit 64 .
  • the acquisition unit 60 acquires the QUBO model input from the CPU 20.
  • the execution unit 62 executes processing for solving the route determination problem defined by the QUBO model acquired by the acquisition unit 60 .
  • the output unit 64 outputs the result of the process of solving the route determination problem by the execution unit 62 to the CPU 20 via the bus 27 .
  • FIG. 12 The model generation process shown in FIG. 12 is executed by the CPU 20 executing the information processing program 30 .
  • the model generation process shown in FIG. 12 is executed, for example, when the user inputs an execution start instruction via the input device 24 .
  • step S10 of FIG. 12 the derivation unit 50, as described above, uses the second objective function different from the first objective function to obtain the smallest unknown Derive values for variables i, n.
  • step S12 the generator 52 generates a QUBO model including N' and I' derived in step S10 and the first objective function, as described above.
  • step S14 the control unit 54 outputs the QUBO model generated at step S12 to the Ising machine 26 via the bus 27.
  • step S ⁇ b>16 the acquisition unit 56 acquires the result of the route determination problem-solving process by the Ising machine 26 from the Ising machine 26 via the bus 27 .
  • step S ⁇ b>18 the control unit 54 performs control to store the result of the solution-seeking process acquired in step S ⁇ b>16 in the storage unit 22 .
  • the model generation process ends.
  • the processor 40 executes the solution finding process shown in FIG.
  • the acquisition unit 60 acquires the QUBO model input from the CPU 20.
  • the execution unit 62 executes processing for solving the route determination problem defined by the QUBO model acquired at step S20.
  • the output unit 64 outputs to the CPU 20 via the bus 27 the result of the process of solving the route determination problem by the process of step S ⁇ b>22 .
  • the solution-finding process ends.
  • the result of the solution-seeking process input to the CPU 20 in step S24 is acquired in step S16 of the model generation process.
  • f is the variable representing the factory
  • w is the variable representing the warehouse
  • C f,w is the variable representing the delivery cost per product when delivering the product from the factory to the warehouse, and the product to be delivered from the factory to the warehouse.
  • F be the number of factories
  • W be the number of warehouses.
  • the suffix "s" indicates a set.
  • the first objective function in the inventory delivery problem is given by the following equation (9).
  • the inventory delivery problem becomes a problem of finding the values of unknown variables x f,w .
  • Constraints for solving the inventory delivery problem are, for example, that the number of products demanded in each warehouse must be met, and that the total number of products delivered from each factory to the warehouse is the number of products that can be produced by each factory, FM f or less.
  • the positive decimal integers x f and w are represented by quantum bits, and the following two examples of the representation method are given. .
  • a first expression method prepares a qubit group including a plurality of qubits in the number represented by the following equation (10), and at a position where the qubit is 1 in the qubit group, an unknown variable x is the way the value of f,w is expressed.
  • quantum bits are arranged two-dimensionally, the vertical direction indicates the number of the warehouse, and the horizontal direction indicates the number of products to be delivered to the warehouse. That is, in the example of FIG. 15, the qubit group is a qubit array. The number of bits in the horizontal direction is the same number as the number of producible FM f . expressed. Note that the number of products to be delivered to the warehouse may be represented depending on which quantum bit has a value of 1 from the end in the horizontal direction (the right side in the example of FIG. 15).
  • the position where the quantum bit value is 1 is the position shown in FIG. 16, it means that 6 products are delivered to warehouse 1 and 3 products are delivered to warehouse 2.
  • the description of “0” is omitted for the portions where the value of the quantum bit is “0”, and the columns are left blank. This also applies to FIG. 18, which will be described later.
  • the number of products to be delivered to the warehouse is represented at the position where the quantum bit is 1, but the number of products to be delivered to the warehouse may be represented at the position where the quantum bit is 0.
  • the quantum bit values 0 and 1 shown in FIG. 16 are exchanged.
  • a second expression method prepares the number of qubits represented by the following equation (11), associates one qubit with one binary digit, and combines a plurality of qubits to form an unknown binary number. is the way in which the value of the variable x f,w is represented.
  • quantum bits are arranged two-dimensionally, the vertical direction indicates the number of the warehouse, and the horizontal direction indicates the number of products to be delivered to the warehouse.
  • the number of bits in the horizontal direction is the same number as log 2 (FM f ), and the horizontal bit string represents a binary number. For example, if the position where the quantum bit value is 1 is the position shown in FIG. 18, it means that 6 products are delivered to warehouse 1 and 3 products are delivered to warehouse 2.
  • the first representation method requires more qubits, but the constraints are simpler, so the possibility of obtaining a feasible solution is higher.
  • the second representation method requires a smaller number of qubits than the first representation method, an addition is made to associate the qubits corresponding to binary numbers with decimal integers representing the number of deliveries of products. constraints, it is highly likely that a feasible solution will not be obtained.
  • An example using the first representation method will be described below.
  • the information processing apparatus 10 includes a derivation unit 50A, a generation unit 52A, a control unit 54, and an acquisition unit 56.
  • the CPU 20 functions as a derivation unit 50A, a generation unit 52A, a control unit 54, and an acquisition unit 56.
  • the derivation unit 50A uses a second objective function different from the first objective function to derive the minimum unknown variables xf,w within a range in which a feasible solution to the inventory delivery problem can be obtained.
  • the second objective function is expressed by the following equation (12). Equation (12) is an equation that minimizes the maximum number of products delivered from factory f to warehouse w.
  • the derivation unit 50A performs a process of solving the inventory delivery problem in which the objective function is changed from the first objective function to the second objective function.
  • This M corresponds to the smallest value of the unknown variables xf,w within which a feasible solution to the inventory distribution problem can be obtained.
  • this M can be said to be the minimum number of products to be delivered in all combinations of factories and warehouses that require product delivery. Therefore, the number of quantum bits required in this case is represented by the following equation (13) using M.
  • equation (13) expresses that in a set of a factory and a warehouse that require product delivery, a quantum bit representing less than the minimum delivery number M is unnecessary.
  • FIG. 19 shows that the quantum bits of the portion painted in gray are unnecessary. That is, in the example of FIG. 19, M ⁇ 1 qubits are reduced for warehouses that require product delivery.
  • the generation unit 52A generates a QUBO model including M derived by the derivation unit 50A and the first objective function. Specifically, the generation unit 52A uses M derived by the derivation unit 50A, the constraint condition, and the first objective function to convert the inventory delivery problem into a QUBO data format executable by the Ising machine 26. Generate a model.
  • the processing flow is the same as that of the first embodiment except for the optimization problem to be processed (see FIGS. 12 and 13). Therefore, the description is omitted. Specifically, only the unknown variable xf, the value M for w derived in step S10 of FIG. 12 and the QUBO model generated in step S12 differ from the first embodiment.
  • the QUBO model is applied as the mathematical model handled by the Ising machine 26
  • the present invention is not limited to this.
  • an Ising model may be applied.
  • the optimization problem is modeled by a quadratic form of a binary variable of 0 or 1
  • the Ising model the optimization problem is modeled by a quadratic form of a binary variable of -1 or 1.
  • the QUBO model and the Ising model can be mutually converted by a known technique.
  • the hardware structure of a processing unit that executes various processes such as the derivation units 50 and 50A, the generation units 52 and 52A, the control unit 54, and the acquisition unit 56 is , a variety of processors can be used, including: As described above, the various processors include, in addition to the CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, a processor such as an FPGA whose circuit configuration can be changed after manufacture. Programmable Logic Device (PLD), ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration specially designed to execute specific processing, such as a dedicated electric circuit.
  • PLD Programmable Logic Device
  • ASIC Application Specific Integrated Circuit
  • One processing unit may be composed of one of these various processors, or a combination of two or more processors of the same or different type (for example, a combination of a plurality of FPGAs, or a combination of a CPU and an FPGA). combination). Also, a plurality of processing units may be configured by one processor.
  • a single processor is configured by combining one or more CPUs and software.
  • a processor functions as multiple processing units.
  • SoC System on Chip
  • a processor that realizes the functions of the entire system including multiple processing units with a single IC (Integrated Circuit) chip. be.
  • various processing units are configured using one or more of the above various processors as a hardware structure.
  • an electric circuit combining circuit elements such as semiconductor elements can be used.
  • the information processing program 30 has been pre-stored (installed) in the storage unit 22, but the present invention is not limited to this.
  • the information processing program 30 is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. good too. Further, the information processing program 30 may be downloaded from an external device via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置は、第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、未知の変数の値がイジングマシンで最適化問題を求解する際の量子ビット数に相関する処理をイジングマシンに実行させるにあたり、第1の目的関数とは異なる第2の目的関数を用いて最適化問題の実行可能解が得られる範囲内で最小の未知の変数に関する値を導出し、導出した未知の変数に関する値及び第1の目的関数を含む数理モデルによって規定される最適化問題を求解する処理をイジングマシンに実行させる制御を行う。

Description

情報処理装置、情報処理方法、及び情報処理プログラム
 本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
 特開2021-117977号公報には、組合せ最適化問題の解を求めるための演算処理を量子計算機だけではなく、その一部を古典計算機に行わせる技術が開示されている。
 特開2020-184759号公報には、複数の基地局が備える複数のアンテナを量子アニーリングによりグループ化する技術が開示されている。
 ところで、最適化問題を解くことに特化された量子計算機としてイジングマシンが知られている。イジングマシンには、量子力学の性質を利用した量子アニーリングマシン、光の特性を使ったコヒーレントイジングマシン、及びデジタル回路で構成されるデジタルアニーラ等が存在する。また、イジングマシンで最適化問題を求解可能とするために、最適化問題をモデル化することが行われている。イジングマシンで求解可能なモデルの例としては、最適化問題を0又は1の二値変数の二次形式によってモデル化したQUBO(Quadratic Unconstrained Binary Optimization)モデル、及び最適化問題を-1又は1の二値変数の二次形式によってモデル化したイジングモデル等が挙げられる。なお、QUBOモデルとイジングモデルとは相互に変換が可能である。
 しかしながら、イジングマシンによって解くことが可能な最適化問題の規模は、ノイマン型コンピュータ等の従来型の汎用計算機(古典計算機とも呼ばれる)によって解くことが可能な最適化問題の規模よりも小さい。これは、量子計算機の演算単位である量子ビット数を増加させることが困難であるためである。特開2021-117977号公報及び特開2020-184759号公報に記載の技術では、最適化問題をイジングマシンに演算させる際の量子ビット数については考慮されていない。
 本開示は、以上の事情を鑑みてなされたものであり、最適化問題をイジングマシンに演算させる際の量子ビット数を低減することができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
 本開示の情報処理装置は、少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、未知の変数の値がイジングマシンで最適化問題を求解する際の量子ビット数に相関する処理をイジングマシンに実行させる情報処理装置であって、プロセッサは、第1の目的関数とは異なる第2の目的関数を用いて最適化問題の実行可能解が得られる範囲内で最小の未知の変数に関する値を導出し、導出した未知の変数に関する値及び第1の目的関数を含む数理モデルによって規定される最適化問題を求解する処理をイジングマシンに実行させる制御を行う。
 なお、本開示の情報処理装置は、第2の目的関数が、第1の目的関数に比較して制約条件を緩和可能な目的関数であってもよい。これにより、演算量を低減することができる。
 また、本開示の情報処理装置は、未知の変数が複数の量子ビットを含む量子ビット群に格納され、未知の変数の値が、量子ビット群において量子ビットが0又は1になる位置で表されてもよい。これにより、実行可能解が得られなくなる可能性を低減することができる。
 また、本開示の情報処理装置は、少なくとも一つのプロセッサを備えたイジングマシンを更に含み、イジングマシンのプロセッサが、数理モデルによって規定される最適化問題を求解する処理を実行してもよい。これにより、最適化問題を効率的に解くことができる。
 また、本開示の情報処理方法は、少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、未知の変数の値がイジングマシンで最適化問題を求解する際の量子ビット数に相関する処理をイジングマシンに実行させる情報処理装置のプロセッサが実行する情報処理方法であって、第1の目的関数とは異なる第2の目的関数を用いて最適化問題の実行可能解が得られる範囲内で最小の未知の変数に関する値を導出し、導出した未知の変数に関する値及び第1の目的関数を含む数理モデルによって規定される最適化問題を求解する処理をイジングマシンに実行させる制御を行うものである。
 また、本開示の情報処理プログラムは、少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、未知の変数の値がイジングマシンで最適化問題を求解する際の量子ビット数に相関する処理をイジングマシンに実行させる情報処理装置のプロセッサに実行させるための情報処理プログラムであって、第1の目的関数とは異なる第2の目的関数を用いて最適化問題の実行可能解が得られる範囲内で最小の未知の変数に関する値を導出し、導出した未知の変数に関する値及び第1の目的関数を含む数理モデルによって規定される最適化問題を求解する処理をイジングマシンに実行させる制御を行うものである。
 本開示によれば、最適化問題をイジングマシンに演算させる際の量子ビット数を低減することができる。
情報処理装置のハードウェア構成の一例を示すブロック図である。 イジングマシンのハードウェア構成の一例を示すブロック図である。 第1実施形態に係る最適化問題を説明するための模式図である。 第1実施形態に係る最適化問題の解の一例を示す模式図である。 1台のトラックの一周目を表現する量子ビットの一例を示す図である。 1台のトラックの一周目の解を表現する量子ビットの一例を示す図である。 1台のトラックの複数周分を表現する量子ビットの一例を示す図である。 複数台のトラックの複数周分を表現する量子ビットの一例を示す図である。 情報処理装置の機能的な構成の一例を示すブロック図である。 第1実施形態に係る削減される量子ビットを説明するための図である。 イジングマシンの機能的な構成の一例を示すブロック図である。 モデル生成処理の一例を示すフローチャートである。 求解処理の一例を示すフローチャートである。 第2実施形態に係る最適化問題を説明するための模式図である。 第2実施形態に係る量子ビットの表現方法の一例を説明するための図である。 第2実施形態に係る量子ビットの表現方法の一例を説明するための図である。 第2実施形態に係る量子ビットの表現方法の他の例を説明するための図である。 第2実施形態に係る量子ビットの表現方法の他の例を説明するための図である。 第2実施形態に係る削減される量子ビットを説明するための図である。
 以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。なお、以下の各実施形態では、イジングマシンが求解対象とする最適化問題を表す数理モデルとして、QUBOモデルを適用した例を説明する。
 [第1実施形態]
 まず、図1及び図2を参照して、本実施形態に係る情報処理装置10のハードウェア構成を説明する。情報処理装置10の例としては、サーバコンピュータ等が挙げられる。図1に示すように、情報処理装置10は、CPU(Central Processing Unit)20、一時記憶領域としてのメモリ21、及び不揮発性の記憶部22を含む。また、情報処理装置10は、液晶ディスプレイ等のディスプレイ23、キーボードとマウス等の入力装置24、ネットワークに接続されるネットワークI/F(InterFace)25、及びイジングマシン26を含む。CPU20、メモリ21、記憶部22、ディスプレイ23、入力装置24、ネットワークI/F25、及びイジングマシン26は、バス27に接続される。情報処理装置10は、複数のイジングマシン26を備えていてもよい。
 記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、情報処理プログラム30が記憶される。CPU20は、記憶部22から情報処理プログラム30を読み出してからメモリ21に展開し、展開した情報処理プログラム30を実行する。
 また、記憶部22には、情報処理装置10が求解処理の対象とする最適化問題をモデル化するための問題データ32が記憶される。問題データ32が表す最適化問題の詳細については後述する。
 イジングマシン26は、QUBOモデルを取り扱うための専用ハードウェアであり、例えば、情報処理装置10の拡張カードスロットに装着される。イジングマシン26は、例えば、FPGA(Field Programmable Gate Array)等のデジタル回路によって実現される。イジングマシン26は、CPU20によりバス27を介してQUBOモデルが入力されると、そのQUBOモデルにより規定される最適化問題を求解する処理を行い、その処理結果をCPU20に出力する。なお、イジングマシン26は、ネットワークを介して接続されるクラウドサーバ等の情報処理装置10の外部に設けられたコンピュータであってもよい。
 図2に示すように、イジングマシン26は、プロセッサ40、相互作用クロック生成器42、乱数生成器44、及び複数のイジングチップ46を含む。プロセッサ40、相互作用クロック生成器42、乱数生成器44、及び複数のイジングチップ46の各々は、情報の授受を可能に接続される。プロセッサ40は、相互作用クロック生成器42、乱数生成器44、及び各イジングチップ46を制御することによって最適化問題を求解する処理を行う。
 相互作用クロック生成器42は、イジングチップ46がQUBOモデルを取り扱う際のビット間の相互作用を行うためのクロックを生成する。乱数生成器44は、イジングチップ46で実行される解の探索処理が局所最適解に陥るのを防止するためのランダムなビット列である乱数を生成する。イジングチップ46は、ビット、相互作用係数、及び外部磁場係数等を記憶するメモリセルを含む。
 次に、図3及び図4を参照して、本実施形態に係る問題データ32が表す最適化問題の一例について説明する。図3に示すように、本実施形態では、最適化問題の一例として、複数のトラックを用いて1つの倉庫から複数の店舗へ商品を配送する経路を決定する問題(以下、「経路決定問題」という)を適用した例を説明する。図3では、トラックが3台であり、店舗が9個の例を示している。図3におけるトラックの内側に記載された数字は、トラックが積載可能な商品の最大数(以下、「最大積載量」という)を表す。また、図3における店舗の内側に記載された数字は、店舗における商品の需要数を表す。
 また、本実施形態では、店舗数、各店舗における商品の需要数、トラック数、各トラックの最大積載量、倉庫と各店舗との間のトラックの移動距離、及び各店舗間のトラックの移動距離は既知であるものとする。本実施形態に係る経路決定問題では、トラックが倉庫を出発して各店舗の需要数を満たす商品を配達し、最後に倉庫に戻るまでの移動距離の合計値を最小化する配送経路を求める場合を例に説明する。なお、1台のトラックが複数回周回することが可能であるとする。ここでいう周回とは、トラックが倉庫を出発し、1個以上の店舗に商品を配送し、かつ倉庫に戻ることを意味する。図3の例の経路決定問題の解の一例を図4に示す。図4における実線の矢印は最大積載量が「6」のトラックの経路を示し、破線の矢印は最大積載量が「8」のトラックの経路を示している。また、図4における一点鎖線の矢印は最大積載量が「10」のトラックの一周目の経路を示し、二点鎖線の矢印は最大積載量が「10」のトラックの二周目の経路を示している。
 上記の経路決定問題を、イジングマシン26を用いて求解する場合について説明する。まず、イジングマシン26で経路決定問題を求解するために、各トラックが何周目の何番目にどの店舗を訪問するか、を表現可能なように量子ビットが用意される。以下では、トラックを表す変数をt、店舗を表す変数をs、トラックの移動が何周目であるかを表す変数をn、一周の中でトラックが何番目に訪問する店舗であるかを表す変数をiとする。
 また、以下では、商品の配送先の店舗の数をS、トラックの台数をT、各トラックの最大周回数をN、各トラックが一周の中で訪問可能な店舗の最大数をIとする。この場合、各変数は、s∈S={1、2、…、S、S+1}、t∈T={1、2、…、T}、n∈N={1、2、…、N}、i∈I={1、2、…、I}となる。なお、添え字に「s」が付与されているものは集合を表す。Sについては、トラックが最後に倉庫に戻ることを表すために、集合の最後の要素にS+1が追加されている。また、Nは1よりも大きな数が想定される。これは、上記の経路決定問題ではトラックの最大積載量が設定されており、全トラックで配送を分担した場合でも一周では全店舗に商品を配送できない可能性があるためである。
 次に、イジングマシン26が実行可能なQUBOモデルを構築するための量子ビットの割り当て方法を説明する。まず、1台のトラックの一周目(すなわち、n=1)について定義する。一例として図5に示すように、トラックは、一周目において全ての店舗が訪問先の候補となり、かつ一周目に訪問する店舗数は未知であるため、一周分について(S+1)×Iビットの量子ビットを用意することになる。図5の例では、量子ビットを二次元状に配列し、縦方向が変数iを表し、横方向が変数sを表す。
 経路決定問題を求解した結果は、一例として図6に示すように表現される。図6において、量子ビットの値が「1」である箇所が店舗に訪問することを表し、「0」である箇所は訪問しないことを表す。なお、図6では、量子ビットの値が「0」の箇所については「0」の記載を省略し、空欄としている。これは、後述する図7、8でも同様である。図6の例では、このトラックは、一周目において、1番目に店舗2を訪問し、2番目に店舗3を訪問し、3番目に倉庫に戻ることが表されている。
 図5及び図6に示す量子ビットは一周分であるため、一例として図7に示すように、この量子ビットをN周分用意することで、1台のトラックの量子ビットが定義できることになる。すなわち、1台のトラックを表現するために必要な量子ビットのビット数は、(S+1)×N×Iになる。更に、一例として図8に示すように、1台のトラックの量子ビットをトラックの台数分用意することによって、図3に示す経路決定問題の解を表現可能になる。すなわち、図8に示す例において必要なビット数は、T×(S+1)×N×Iになる。
 次に、問題データ32に含まれる経路決定問題の制約条件及び目的関数の一例を示す。まず、次に示すように記号を定義する。
Figure JPOXMLDOC01-appb-M000001
 制約条件は、以下の(1)式~(6)式で示される。(1)式は、全店舗をそれぞれ1台のトラックが1回だけ訪問する、という条件を表す。(2)式は、1台のトラックが同時に訪問可能な店舗数は1店舗である、という条件を表す。(3)式は、各トラックは、1番目、2番目、・・・のように、順番に店舗を訪問する、という条件を表す。具体的には、(3)式は、図6に示すように、1番目の店舗から訪問を開始し、最後に倉庫に戻るまで、2番目、3番目、・・・、と順番に店舗を訪問する、すなわち、1行目から倉庫に戻ることを表す行までの間に量子ビットの値が「0」のみの行が存在しない、という条件を表す。
 (4)式は、各トラックが配送する商品の数は、各トラックの最大積載量以下である、という条件を表す。(5)式は、各トラックは、各周回において倉庫に戻る、という条件を表す。(6)式は、各トラックは、各周回において、倉庫に戻った後は店舗に訪問しない、という条件を表す。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
 トラックの移動距離の合計値を最小化するための目的関数は、次の(7)式で示される。この目的関数は、上記の経路決定問題の求解に用いられる目的関数であり、以下では、「第1の目的関数」という。
Figure JPOXMLDOC01-appb-M000008
 (1)式から(7)式により規定されるQUBOモデルは、イジングマシン26によって解くことが可能である。この際、S及びTは問題設定から一意に定められるが、N及びIは任意の値となり、例えば、ユーザが余裕を持った値に設定する。これは、イジングマシン26で求解する際に実行不可能とならないN及びIの値は、ユーザが事前に知り得ないからである。例えば、図3に示す例の経路決定問題では、最大積載量が最も大きい「10」のトラックが、上記制約条件を満たしつつ、一周で最大で4店舗を訪問することができるため、Iは4以上の値に設定される、ということである。
 このように、ユーザが問題設定及び経験則等に応じて実行不可能とならないようにN及びIの値を設定する場合、N及びIの値は余裕を持った大きい値になるため、量子ビット数も増加してしまう。これは、上記の経路決定問題における未知の変数i、nの値が、イジングマシン26で経路決定問題を求解する際の量子ビット数に相関するためである。量子計算機の演算単位である量子ビット数を増加させることは困難であるため、経路決定問題をイジングマシン26に演算させる際の量子ビット数を低減することが好ましい。
 また、イジングマシン26に入力するQUBOモデルのデータサイズは、(1)式から(7)式によって得られる各量子ビットQt,s,n,iの係数と、2つの量子ビットの乗算であるQt,s,n,i×Qt’,s’,n’,i’の係数とを並べた、量子ビット数×量子ビット数の数値、すなわち、量子ビットの二乗に比例する。従って、量子ビット数が増加すると、QUBOモデルのデータサイズも増加してしまう。このため、データサイズの観点からも、経路決定問題をイジングマシン26に演算させる際の量子ビット数を低減することが好ましい。
 そこで、本実施形態に係る情報処理装置10は、経路決定問題をイジングマシン26に演算させる際の量子ビット数を低減する機能を有する。
 次に、図9を参照して、本実施形態に係る情報処理装置10の機能的な構成について説明する。図9に示すように、情報処理装置10は、導出部50、生成部52、制御部54、及び取得部56を含む。CPU20が情報処理プログラム30を実行することにより、導出部50、生成部52、制御部54、及び取得部56として機能する。
 導出部50は、第1の目的関数とは異なる第2の目的関数を用いて経路決定問題の実行可能解が得られる範囲内で最小の未知の変数i、nに関する値を導出する。第2の目的関数は、次の(8)式で示される。
Figure JPOXMLDOC01-appb-M000009
 第2の目的関数では、最小化する値が変数iの上限値であるIと変数nの上限値であるNとの合計値となる。(8)式では、目的関数の中に変数iと変数nとを含めることにより、トラックが1周あたりに訪問する店舗数及び周回数が極力少なくなるような解が得られることになる。
 具体的には、導出部50は、目的関数を第1の目的関数から第2の目的関数に変更した経路決定問題を求解する処理を行う。この処理により得られた(8)式の出力が最小となった解においてQt,s,n,iの値が1となったときのi及びnの値うち、i及びnの最大値が、経路決定問題の実行可能解が得られる範囲内でのI及びNの最小値に相当する。このI及びNの最小値を、以下ではI’及びN’と記載する。すなわち、I’及びN’が、第2の目的関数を用いて導出された、経路決定問題の実行可能解が得られる範囲内で最小の変数i、nの上限値I、Nに相当する。
 第2の目的関数は、第1の目的関数に比較して制約条件を緩和可能な目的関数である。具体的には、第2の目的関数を示す(8)式では、トラックの移動距離の算出が不要になるため、(1)式から(6)式の制約条件のうち、店舗の訪問順序に関する制約条件である(3)式及び(6)式を無視することができる。従って、演算量を低減することができる。
 導出部50による求解処理には、例えば、分枝限定法、局所探索法、遺伝的アルゴリズム等の進化計算手法、及びアントコロニー最適化等の群知能最適化法等の公知の手法を用いることができる。
 生成部52は、導出部50により導出されたN’及びI’と、第1の目的関数とを含むQUBOモデルを生成する。具体的には、生成部52は、導出部50により導出されたN’及びI’と、(1)式から(7)式とを用いて、経路決定問題をイジングマシン26で実行可能なデータ形式としたQUBOモデルを生成する。このQUBOモデルには、N’とI’の値、制約条件、第1の目的関数、量子ビットの表現方法、及び問題設定等の経路決定問題を解くために必要な情報が含まれる。
 生成部52により生成されたQUBOモデルでは、未知の変数i、nの上限値I’、N’が、実行可能解が得られるようにユーザが余裕を持って設定したI、Nに比べて小さい値になる。従って、一例として図10に示すように、経路決定問題をイジングマシン26に演算させる際の量子ビット数を低減することができる。具体的には、量子ビットを2次元状に配列した場合、一周目からN’周目までについては、I’+1行目からI行目までの量子ビットが削減される。また、この場合、N’+1周目からN周目までについては、1行目からI行目までの全量子ビットが削減される。
 制御部54は、生成部52により生成されたQUBOモデルによって規定される経路決定問題を求解する処理をイジングマシン26に実行させる制御を行う。具体的には、制御部54は、生成部52により生成されたQUBOモデルを、バス27を介してイジングマシン26に出力する。また、制御部54は、後述する取得部56により取得された求解処理の結果を記憶部22に記憶する制御を行う。制御部54は、求解処理の結果をディスプレイ23に表示する制御を行ってもよい。
 取得部56は、イジングマシン26による経路決定問題の求解処理の結果を、バス27を介してイジングマシン26から取得する。
 次に、図11を参照して、本実施形態に係るイジングマシン26の機能的な構成について説明する。図11に示すように、イジングマシン26は、取得部60、実行部62、及び出力部64を含む。プロセッサ40が取得部60、実行部62、及び出力部64として機能する。
 取得部60は、CPU20から入力されたQUBOモデルを取得する。実行部62は、取得部60により取得されたQUBOモデルによって規定される経路決定問題を求解する処理を実行する。出力部64は、実行部62による経路決定問題の求解処理の結果を、バス27を介してCPU20に出力する。
 次に、図12及び図13を参照して、本実施形態に係る情報処理装置10の作用を説明する。CPU20が情報処理プログラム30を実行することによって、図12に示すモデル生成処理を実行する。図12に示すモデル生成処理は、例えば、ユーザにより入力装置24を介して実行開始の指示が入力された場合に実行される。
 図12のステップS10で、導出部50は、前述したように、第1の目的関数とは異なる第2の目的関数を用いて経路決定問題の実行可能解が得られる範囲内で最小の未知の変数i、nに関する値を導出する。ステップS12で、生成部52は、前述したように、ステップS10で導出されたN’及びI’と、第1の目的関数とを含むQUBOモデルを生成する。
 ステップS14で、制御部54は、ステップS12で生成されたQUBOモデルを、バス27を介してイジングマシン26に出力する。ステップS16で、取得部56は、イジングマシン26による経路決定問題の求解処理の結果を、バス27を介してイジングマシン26から取得する。ステップS18で、制御部54は、ステップS16で取得された求解処理の結果を記憶部22に記憶する制御を行う。ステップS18の処理が終了すると、モデル生成処理が終了する。
 上記モデル生成処理のステップS14でCPU20からイジングマシン26に対してQUBOモデルが入力されると、プロセッサ40が図13に示す求解処理を実行する。
 図13のステップS20で、取得部60は、CPU20から入力されたQUBOモデルを取得する。ステップS22で、実行部62は、ステップS20で取得されたQUBOモデルによって規定される経路決定問題を求解する処理を実行する。ステップS24で、出力部64は、ステップS22の処理による経路決定問題の求解処理の結果を、バス27を介してCPU20に出力する。ステップS24の処理が終了すると、求解処理が終了する。ステップS24でCPU20に対して入力された求解処理の結果は、上記モデル生成処理のステップS16で取得される。
 以上説明したように、本実施形態によれば、経路決定問題をイジングマシン26に演算させる際の量子ビット数を低減することができる。
 [第2実施形態]
 開示の技術の第2実施形態を説明する。なお、本実施形態に係る情報処理装置10及びイジングマシン26のハードウェア構成は、第1実施形態と同一であるため、説明を省略する。
 図14を参照して、本実施形態に係る問題データ32が表す最適化問題の一例について説明する。図14に示すように、本実施形態では、最適化問題の一例として、複数の工場から在庫の商品を複数の倉庫へ配送する際に、各倉庫の商品の需要数を満たし、かつ配送コストが最小となるように、商品の配送量を決定する問題(以下、「在庫配送問題」という)を適用した例を説明する。
 以下では、工場を表す変数をf、倉庫を表す変数をw、工場から倉庫に商品を配送する際の商品1つあたりの配送コストを表す変数をCf、w、工場から倉庫に配送する商品の数をxf、wとする。また、以下では、工場の数をF、倉庫の数をWとする。この場合、変数fはf∈f={1、2、…、F}となり、変数wはw∈w={1、2、…、W}となる。なお、添え字に「s」が付与されているものは集合を表す。
 在庫配送問題における第1の目的関数は、次に示す(9)式で示される。在庫配送問題は、未知の変数xf、wの値を求める問題になる。
Figure JPOXMLDOC01-appb-M000010
 在庫配送問題を解く際の制約条件としては、例えば、各倉庫の商品の需要数を満たすこと、及び各工場から倉庫へ配送する商品の数の合計値が各工場での商品の生産可能数FM以下になること等が挙げられる。
 在庫配送問題をイジングマシン26により求解するためには、10進数の正の整数であるxf、wを量子ビットで表現することになり、その表現方法の例としては以下に示す2つが挙げられる。
 第1の表現方法は、次の(10)式で表される数の複数の量子ビットを含む量子ビット群を用意し、かつその量子ビット群において量子ビットが1になる位置で、未知の変数xf、wの値が表される方法である。
Figure JPOXMLDOC01-appb-M000011
 具体的には、一例として図15に示すように、量子ビットを二次元状に配列し、縦方向が何番目の倉庫であるかを表し、横方向が倉庫に配送する商品の数を表す。すなわち、図15の例では、上記量子ビット群は量子ビット配列である。横方向のビット数は、生産可能数FMと同じ数とされ、先頭(図15の例では左端)から何番目の量子ビットの値が1であるかによって、倉庫に配送する商品の数が表される。なお、横方向の末尾(図15の例では右側)から何番目の量子ビットの値が1であるかによって、倉庫に配送する商品の数が表されてもよい。
 例えば、量子ビットの値が1になる位置が図16に示す位置である場合、倉庫1に6個の商品が配送され、倉庫2に3個の商品が配送されることを表す。なお、図16では、量子ビットの値が「0」の箇所については「0」の記載を省略し、空欄としている。これは、後述する図18でも同様である。図16の例では、量子ビットが1になる位置で倉庫に配送する商品の数を表しているが、量子ビットが0になる位置で倉庫に配送する商品の数を表してもよい。この場合、図16に示した量子ビットの値の0と1とが入れ替わることになる。
 第2の表現方法は、次の(11)式で表される数の量子ビットを用意し、1つの量子ビットを2進数の1ビットに対応させ、複数の量子ビットを組み合わせた二進数で未知の変数xf、wの値が表される方法である。
Figure JPOXMLDOC01-appb-M000012
 具体的には、一例として図17に示すように、量子ビットを二次元状に配列し、縦方向が何番目の倉庫であるかを表し、横方向が倉庫に配送する商品の数を表す。横方向のビット数は、log(FM)と同じ数とされ、横方向のビット列が二進数を表す。例えば、量子ビットの値が1になる位置が図18に示す位置である場合、倉庫1に6個の商品が配送され、倉庫2に3個の商品が配送されることを表す。
 第1の表現方法は、第2の表現方法に比べて、必要な量子ビット数は多くなるものの、制約条件が単純であるため、実行可能解が得られる可能性が高くなる。第2の表現方法は、第1の表現方法に比べて、必要な量子ビット数は少なくなるものの、二進数に対応させた量子ビットを商品の配送数を表す十進数の整数に対応付けるための追加の制約条件が必要となるため、実行可能解が得られない可能性が高くなる。以下では、第1の表現方法を用いる例を説明する。
 次に、図9を参照して、本実施形態に係る情報処理装置10の機能的な構成について説明する。第1実施形態と同一の機能を有する機能部については、第1実施形態と同一の符号を付して説明を省略する。図9に示すように、情報処理装置10は、導出部50A、生成部52A、制御部54、及び取得部56を含む。CPU20が情報処理プログラム30を実行することにより、導出部50A、生成部52A、制御部54、及び取得部56として機能する。
 導出部50Aは、第1の目的関数とは異なる第2の目的関数を用いて在庫配送問題の実行可能解が得られる範囲内で最小の未知の変数xf、wに関する値を導出する。第2の目的関数は、次の(12)式で示される。(12)式は、工場fから倉庫wへ配送される商品数の最大値を最小化する式になっている。
Figure JPOXMLDOC01-appb-M000013
 具体的には、導出部50Aは、目的関数を第1の目的関数から第2の目的関数に変更した在庫配送問題を求解する処理を行う。この処理により得られた解をx’f、wとし、その最小値をM=min(x’f、w)、∀x’f、w>0とする。このMは、在庫配送問題の実行可能解が得られる範囲内での未知の変数xf、wの最小値に相当する。また、このMは、商品の配送が必要な工場と倉庫との全組み合わせにおいて、最低限配送される商品の数と言うことができる。従って、この場合に必要な量子ビット数は、Mを用いて次の(13)式で表される。
Figure JPOXMLDOC01-appb-M000014
 一例として図19に示すように、(13)式は、商品の配送が必要な工場と倉庫との組において、最小の配送数M未満を表す量子ビットが不要ということを表している。図19では灰色に塗りつぶされた部分の量子ビットが不要になることを表している。すなわち、図19の例では、商品の配送が必要な倉庫について、M-1ビットの量子ビットが削減される。
 生成部52Aは、導出部50Aにより導出されたMと、第1の目的関数とを含むQUBOモデルを生成する。具体的には、生成部52Aは、導出部50Aにより導出されたMと、制約条件と、第1の目的関数とを用いて、在庫配送問題をイジングマシン26で実行可能なデータ形式としたQUBOモデルを生成する。
 本実施形態に係るイジングマシン26の機能については、処理対象の最適化問題が第1実施形態と異なるのみであるため、説明を省略する。
 また、本実施形態に係る情報処理装置10の作用については、処理対象の最適化問題が第1実施形態と異なるのみで、処理の流れは第1実施形態と同一(図12及び図13参照)であるため、説明を省略する。具体的には、図12のステップS10で導出される未知の変数xf、wに関する値M、及びステップS12で生成されるQUBOモデルが第1実施形態と異なるのみである。
 以上説明したように、本実施形態によれば、在庫配送問題をイジングマシン26に演算させる際の量子ビット数を低減することができる。
 なお、上記各実施形態では、イジングマシン26が取り扱う数理モデルとして、QUBOモデルを適用した場合について説明したが、これに限定されない。数理モデルとして、イジングモデルを適用する形態としてもよい。QUBOモデルでは最適化問題が0又は1の二値変数の二次形式によってモデル化されるが、イジングモデルでは最適化問題が-1又は1の二値変数の二次形式によってモデル化される。また、QUBOモデルとイジングモデルとは、公知の手法により相互に変換が可能である。
 また、上記実施形態において、例えば、導出部50、50A、生成部52、52A、制御部54、及び取得部56といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
 複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
 更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
 また、上記実施形態では、情報処理プログラム30が記憶部22に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム30は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム30は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 2021年11月26日に出願された日本国特許出願2021-191810号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (6)

  1.  少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、前記未知の変数の値がイジングマシンで前記最適化問題を求解する際の量子ビット数に相関する処理を前記イジングマシンに実行させる情報処理装置であって、
     前記プロセッサは、
     前記第1の目的関数とは異なる第2の目的関数を用いて前記最適化問題の実行可能解が得られる範囲内で最小の前記未知の変数に関する値を導出し、
     導出した前記未知の変数に関する値及び前記第1の目的関数を含む数理モデルによって規定される前記最適化問題を求解する処理を前記イジングマシンに実行させる制御を行う
     情報処理装置。
  2.  前記第2の目的関数は、前記第1の目的関数に比較して制約条件を緩和可能な目的関数である
     請求項1に記載の情報処理装置。
  3.  前記未知の変数は複数の量子ビットを含む量子ビット群に格納され、
     前記未知の変数の値は、量子ビット群において量子ビットが0又は1になる位置で表される
     請求項1又は請求項2に記載の情報処理装置。
  4.  少なくとも一つのプロセッサを備えた前記イジングマシンを更に含み、
     前記イジングマシンのプロセッサは、前記数理モデルによって規定される前記最適化問題を求解する処理を実行する
     請求項1から請求項3の何れか1項に記載の情報処理装置。
  5.  少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、前記未知の変数の値がイジングマシンで前記最適化問題を求解する際の量子ビット数に相関する処理を前記イジングマシンに実行させる情報処理装置の前記プロセッサが実行する情報処理方法であって、
     前記第1の目的関数とは異なる第2の目的関数を用いて前記最適化問題の実行可能解が得られる範囲内で最小の前記未知の変数に関する値を導出し、
     導出した前記未知の変数に関する値及び前記第1の目的関数を含む数理モデルによって規定される前記最適化問題を求解する処理を前記イジングマシンに実行させる制御を行う
     情報処理方法。
  6.  少なくとも一つのプロセッサを備え、かつ第1の目的関数を用いて未知の変数の値を求めることによって最適化問題を求解する処理であって、前記未知の変数の値がイジングマシンで前記最適化問題を求解する際の量子ビット数に相関する処理を前記イジングマシンに実行させる情報処理装置の前記プロセッサに実行させるための情報処理プログラムであって、
     前記第1の目的関数とは異なる第2の目的関数を用いて前記最適化問題の実行可能解が得られる範囲内で最小の前記未知の変数に関する値を導出し、
     導出した前記未知の変数に関する値及び前記第1の目的関数を含む数理モデルによって規定される前記最適化問題を求解する処理を前記イジングマシンに実行させる制御を行う
     情報処理プログラム。
PCT/JP2022/036935 2021-11-26 2022-10-03 情報処理装置、情報処理方法、及び情報処理プログラム WO2023095449A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22898234.4A EP4439407A1 (en) 2021-11-26 2022-10-03 Information processing device, information processing method, and information processing program
JP2023563535A JPWO2023095449A1 (ja) 2021-11-26 2022-10-03
CN202280075533.9A CN118235141A (zh) 2021-11-26 2022-10-03 信息处理装置、信息处理方法及信息处理程序
US18/650,280 US20240289414A1 (en) 2021-11-26 2024-04-30 Information processing apparatus, information processing method, and information processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021191810 2021-11-26
JP2021-191810 2021-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/650,280 Continuation US20240289414A1 (en) 2021-11-26 2024-04-30 Information processing apparatus, information processing method, and information processing program

Publications (1)

Publication Number Publication Date
WO2023095449A1 true WO2023095449A1 (ja) 2023-06-01

Family

ID=86539214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/036935 WO2023095449A1 (ja) 2021-11-26 2022-10-03 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (5)

Country Link
US (1) US20240289414A1 (ja)
EP (1) EP4439407A1 (ja)
JP (1) JPWO2023095449A1 (ja)
CN (1) CN118235141A (ja)
WO (1) WO2023095449A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019531008A (ja) * 2016-08-17 2019-10-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 量子ハードウェア上でのフェルミオン・ハミルトニアンのシミュレーションのためのリソースの効率的な削減
WO2020106955A1 (en) * 2018-11-21 2020-05-28 Zapata Computing, Inc. Hybrid quantum-classical computer for packing bits into qubits for quantum optimization algorithms
JP2020184759A (ja) 2019-04-26 2020-11-12 京セラコミュニケーションシステム株式会社 量子コンピュータ等のアニーリングマシンを用いた基地局アンテナ適正化システム
JP2021117977A (ja) 2020-01-24 2021-08-10 株式会社デンソー 情報処理システム、組合せ最適解演算方法、及び組合せ最適解演算プログラム
JP2021191810A (ja) 2020-06-05 2021-12-16 日清紡ホールディングス株式会社 海洋生分解促進剤

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4158504A4 (en) * 2020-05-27 2024-02-14 1QB Information Technologies Inc. METHOD AND SYSTEMS FOR SOLVING AN OPTIMIZATION PROBLEM USING A FLEXIBLE MODULAR APPROACH
CN115769237A (zh) * 2020-07-10 2023-03-07 索尼集团公司 优化问题解决方法和优化问题解决设备
EP4235526A4 (en) * 2020-11-25 2024-05-01 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING SYSTEM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019531008A (ja) * 2016-08-17 2019-10-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 量子ハードウェア上でのフェルミオン・ハミルトニアンのシミュレーションのためのリソースの効率的な削減
WO2020106955A1 (en) * 2018-11-21 2020-05-28 Zapata Computing, Inc. Hybrid quantum-classical computer for packing bits into qubits for quantum optimization algorithms
JP2020184759A (ja) 2019-04-26 2020-11-12 京セラコミュニケーションシステム株式会社 量子コンピュータ等のアニーリングマシンを用いた基地局アンテナ適正化システム
JP2021117977A (ja) 2020-01-24 2021-08-10 株式会社デンソー 情報処理システム、組合せ最適解演算方法、及び組合せ最適解演算プログラム
JP2021191810A (ja) 2020-06-05 2021-12-16 日清紡ホールディングス株式会社 海洋生分解促進剤

Also Published As

Publication number Publication date
US20240289414A1 (en) 2024-08-29
EP4439407A1 (en) 2024-10-02
CN118235141A (zh) 2024-06-21
JPWO2023095449A1 (ja) 2023-06-01

Similar Documents

Publication Publication Date Title
CN110520834B (zh) 替选循环限制
US8751556B2 (en) Processor for large graph algorithm computations and matrix operations
Dzalbs et al. Accelerating supply chains with Ant Colony Optimization across a range of hardware solutions
JP7251645B2 (ja) 求解システム、求解方法および求解プログラム
US11244026B2 (en) Optimization problem arithmetic method and optimization problem arithmetic device
US20190244098A1 (en) Optimization system, optimization apparatus, and optimization system control method
US20230259385A1 (en) Methods and systems for hyperparameter tuning and benchmarking
JP7219402B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
CN111985631B (zh) 信息处理设备、信息处理方法及计算机可读记录介质
Turpin et al. An approximation algorithm for time optimal multi-robot routing
WO2023095449A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Bożejko et al. Optimal solving of a binary knapsack problem on a D-Wave quantum machine and its implementation in production systems
US20200089475A1 (en) Optimization problem arithmetic method and optimization problem arithmetic apparatus
Yang et al. Fidelity-adaptive evolutionary optimization algorithm for 2D irregular cutting and packing problem
US20210173978A1 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
Yang et al. Two-layer heuristic for the three-dimensional bin design and packing problem
JP2020027547A (ja) テンソルデータ計算装置、テンソルデータ計算方法及びプログラム
CN115688874A (zh) 记录介质、信息处理装置和计算机实现方法
CN114417543A (zh) 用于优化的设备和方法
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
JP7496952B1 (ja) 最適化装置、最適化方法、及びプログラム
Yang et al. A Genetic Algorithm with Lower Neighborhood Search for the Three‐Dimensional Multiorder Open‐Size Rectangular Packing Problem
US20220414184A1 (en) Data processing apparatus and data processing method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22898234

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023563535

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202280075533.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022898234

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022898234

Country of ref document: EP

Effective date: 20240626