COMBINATION OPTIMIZATION DEVICE, COMBINATION OPTIMIZATION METHOD, AND PROGRAM

JP7632848B2Active Publication Date: 2025-02-19NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022038002
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-11
Publication Date
2025-02-19
Estimated Expiration
2042-03-11

AI Technical Summary

Benefits of technology

【0008】 本発明では、従来よりも制約条件の多い産業上の割当問題を解くことができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007632848000023
    Figure 0007632848000023
  • Figure 0007632848000024
    Figure 0007632848000024
  • Figure 0007632848000025
    Figure 0007632848000025
Patent Text Reader

Abstract

To provide a combinatorial optimization device, a combinatorial optimization method, and a program capable of solving industrial assignment problems that have more constraints than conventional ones.SOLUTION: A combinatorial optimization device uses sets V,E,S for obtaining an energy function H=αH1+βH2+γH3+δH4+εHobj with regards to a plurality of variables qi,c, for obtaining values of the variables qi,c of which energy function H becomes minimal, and thereby assigns a plurality of elements sc to a plurality of targets vi. The H1 becomes minimal when each one of the respective elements sc is assigned to the respective targets vi, the H2 becomes minimal when the elements sc that are different from each other are assigned to the vi and vj of a set (vi,vj), the H3 becomes minimal when a specific element sd is assigned to a specific target vk of V (V is an element of vk), the H4 becomes minimal when a specific element sf is assigned only in equal to or less than prescribed Lf-times, and the Hobj becomes minimal when a number of elements sg of S (S is an element of sg) that are unassignable becomes maximum.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a technique for solving combinatorial optimization problems, and more particularly to a technique for solving assignment problems. [Background technology]

[0002] Graph coloring is a type of combinatorial optimization problem. Graph coloring involves assigning colors to the elements of a graph under certain constraints. Examples of traditional constraints include "one color can only be assigned to one vertex" and "adjacent vertices must have different colors."

[0003] The graph coloring problem can be applied to industrial allocation problems such as round robin scheduling and frequency allocation (see, for example, Non-Patent Document 1, etc.). In addition, a method of solving allocation problems such as the graph coloring problem using a quantum annealing machine or an Ising machine is known (see, for example, Non-Patent Document 2, etc.). [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] S. Ahmed, “Applications of Graph Coloring in Modern Computer Science”, IJCIT, vol. 3, no. 2, 2012. [Non-Patent Document 2] Lucas, Andrew. "Ising formulations of many NP problems." Frontiers in Physics 2 (2014): 5. Summary of the Invention [Problem to be solved by the invention]

[0005] However, the constraints of the conventional graph coloring problem alone may not be sufficient to deal with industrial allocation problems. For example, in frequency allocation, constraints may be required such as the allocatable frequencies being predetermined, the number of times the allocated frequencies can be used being limited, or the allocatable frequency bands being undetermined and the allocation having to be performed with as few frequencies as possible.

[0006] The present invention has been made in view of the above points, and has an object to provide a technique for solving industrial allocation problems that have more constraints than conventional techniques. [Means for solving the problem]

[0007] In the present invention, the combinatorial optimization device uses sets V, E, and S to calculate multiple variables q i,c Energy function H=αH1+βH2+γH3+δH4+εH obj Then, the variable q that minimizes the energy function H is obtained. i,c This gives us the value of multiple objects v i Multiple elements in s c where V is the object v i , and E is a set of specific objects (v i ,v j ), where S has element s c is a set of q i,c is the target i Element s to c H1 is a variable that represents the assignment of the object v i ∈V, element s c H2 is a function that is minimal when each of ∈S is assigned one by one. i ,v j )∈E's v i and v j Different elements in c H3 is a function that is minimized when ∈S is assigned. k ∈V, a specific element s d H4 is a function that is minimized when ∈S is assigned.f ∈S is a predetermined number of times L f This is the function that is smallest when only the following can be assigned: H obj is an unassigned element s g It is a function that is smallest when the number of ∈S is largest. α and β are positive real coefficients, γ, δ, and ε are real coefficients greater than or equal to 0, and at least one of γ, δ, and ε is positive. Effect of the Invention

[0008] The present invention is capable of solving industrial allocation problems that have more constraints than previously possible. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a block diagram illustrating a functional configuration of a combinatorial optimization device according to an embodiment. [Diagram 2] FIG. 2 is a table to illustrate the assignment of elements to objects using variables qi,c. [Diagram 3] FIG. 3 is a conceptual diagram for illustrating the graph. [Figure 4] 4A and 4B are schematic diagrams of graphs for illustrating an assignment problem and a solution to the assignment problem illustrated in the graph of FIG. 3A. [Diagram 5] 5A and 5B are schematic diagrams of graphs for illustrating an assignment problem and a solution to the assignment problem illustrated in the graph of FIG. 3A. [Figure 6] FIG. 6 is a conceptual diagram illustrating the hardware configuration of the processing unit. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [principle] First, the principle will be explained. <Industry quota issues> The graph coloring problem is the problem of assigning colors to all vertices of a given graph G = (V, E) such that all given constraints are satisfied, where V denotes the set of vertices in graph G, and E denotes a predefined set of vertex pairs (i.e., edges).

[0011] This graph coloring problem can be generalized to the industrial allocation problem, which is a problem of finding a set of objects v such that all given constraints are satisfied. i ∈V has multiple elements s c For example, an industrial allocation problem is a problem of allocating all objects v ∈ S such that all given constraints are satisfied. i ∈V has element s c The problem is to assign ∈S. V is an object v i V = {v0,…,v N-1}, where i∈{0,…,N-1} and N is the set of objects v in V. i For example, N is a positive integer greater than or equal to 2. i corresponds to the vertices of the graph G in the graph coloring problem. E is the set V = {v0,…,v N-1 A specific set of objects (v i ,v j ) represents the set of v i ∈{v0,…,v N-1} and v j ∈{v0,…,v N-1} and v i ≠v j The set of objects (v i ,v j ) is the set V = {v0,…,v N-1}, or a set of some of them. i ,v j ) corresponds to the edges in the graph coloring problem. C-1} is the element s to be assigned to the target c c∈{0,…,C-1}, where C is the set of elements s in S. cFor example, C is a positive integer greater than or equal to 2. c corresponds to a color in the graph coloring problem. Also, the element s c For example, if the industrial assignment problem is round-robin scheduling, then the assignment of objects v i corresponds to a processor in each time interval, and element s c corresponds to a process in a feasible state. For example, if an industrial allocation problem is frequency allocation, then the target v i corresponds to the use to which the frequency is assigned, and element s c corresponds to the allocable frequencies (frequency bands). However, these are only examples, and industrial allocation problems are not limited to these.

[0012] Regarding the industrial allocation problem as mentioned above, i Element s to c Let q be the variable that represents the assignment of i,c For example, the variable q i,c is a binary variable q that takes the true value 1 or the false value 0. i,c ∈{0,1} and object v i to element s c q when assigning i,c = 1, and the target v i to element s c q if you do not want to assign i,c =0.

number

[0013] <Constraints and objective functions> The constraints and objective functions for the industrial allocation problem of this embodiment are exemplified below. <Constraint condition 1> Constraint 1 is one object vi Element s to be assigned to ∈V c The constraint 1 is that the binary variable q i,c This can be formulated as equation (1) using ∈{0,1}.

number

number

[0014] <Constraint condition 2> Constraint 2 is that the set of objects (v i ,v j )∈E(adjacent objects) always have distinct elements s c Constraint 2 is the constraint that the binary variable q i,c ∈{0,1} and q j,c This can be formulated as equation (3) using ∈{0,1}.

number

number

[0015] <Constraint condition 3> Constraint 3 is a predefined specific object v k ∈V, a specific element s d Constraint 3 is the constraint that the binary variable q k,d This can be formulated as equation (5) using ∈{0,1}. ∀(k,d)∈A,q k,d =1 (5) Here, A is the predetermined specific object v k ∈V and the predetermined specific element s d ∈S, where k∈{0,…,N-1} and d∈{0,…,C-1}. k ∈V also has a specific element s d If ∈S is not assigned, A is an empty set. Moreover, the fact that formula (5) holds is equivalent to the function H3 shown in formula (6) taking the minimum value 0.

number

[0016] <Constraint condition 4> Constraint 4 is a predefined specific element s f ∈S is a predetermined number of times L f Constraint 4 is that the binary variable q i,f This can be formulated as equation (7) using ∈{0,1}.

number

number

[0017] <Objective function> The objective function is to find as few elements as possible. g ∈S. This is the constraint that the unassigned element s g This can be expressed as a constraint to maximize the number m of ∈S, and can be expressed as an objective function such as equation (9). H obj =-m (9) The objective function is expressed as a function of the binary variable q i,c This can be formulated as follows using ∈{0,1}:

number

[0018] <Energy function> The energy function H is defined as follows: H = αH1 + βH2 + γH3 + δH4 + εH obj (11) Here, the energy function H is a function of multiple variables q i,cis a function of multiple variables, e.g., q i,c ,x c ,y f,n is a function for. α and β are positive real coefficients (hyper parameters, penalty coefficients), γ, δ, and ε are real coefficients (hyper parameters, penalty coefficients) greater than or equal to 0, and at least one of γ, δ, and ε is positive. For example, γ may be positive, δ may be positive, or ε may be positive. γ may be positive and δ and ε may be 0, δ may be positive and γ and ε may be 0, ε may be positive and δ and γ may be 0, two of γ, δ, and ε may be positive and the other one may be 0, or γ, δ, and ε may all be positive. The positive real coefficients may be, for example, 1 or a value other than 1. A plurality of variables q that minimize the energy function H may be i,c (where i∈{0,…,N-1},c∈{0,…,C-1}) represents the allocation that satisfies each constraint. That is, the allocation of multiple variables q that minimizes the energy function H is i,c represents the solution to the assignment problem. Here, among the real coefficients α, β, γ, δ, and ε, only the constraints corresponding to functions multiplied by positive real coefficients are considered in the assignment problem, and the constraints corresponding to functions multiplied by real coefficients of 0 are not considered. For example, since α and β are positive, constraints 1 and 2 are always considered. If γ is positive, constraint 3 is also considered, but if γ is 0, constraint 3 is not considered. If δ is positive, constraint 3 is also considered, but if δ is 0, constraint 3 is not considered. If ε is positive, constraint 3 is also considered, but if ε is 0, constraint 3 is not considered. A number of variables q that minimize such an energy function H are i,c can be solved using, for example, quantum annealing machines or Ising machines, making it possible to solve industrial allocation problems with more constraints than before.

[0019] <Embodiment> Next, an embodiment of the present invention will be described. <Configuration> As illustrated in FIG. 1, the combinatorial optimization device 1 of the present embodiment includes a processing unit 110 and a combinatorial optimization unit 120. The processing unit 110 includes an input unit 111, an energy function generating unit 112, an operation result generating unit 113, an output unit 114, a control unit 115, and a storage unit 116. Information (data) input to the processing unit 110 and information obtained in each process are stored in the storage unit 116 one by one, read into each unit as necessary, and used in each process. The processing unit 110 is a device configured by a von Neumann-type computer having a processor (hardware processor) such as a central processing unit (CPU) and memories such as random-access memory (RAM) and read-only memory (ROM) executing a predetermined program. The combinatorial optimization unit 120 is, for example, a quantum computer such as a quantum annealing machine or an Ising machine.

[0020] <Processing> Next, the processing of this embodiment will be described. As illustrated in FIG. 1, a graph G=(V,E) and S, which are information for identifying the above-mentioned industrial allocation problem, are input to an input unit 111 of the combinatorial optimization device 1. As described above, the industrial allocation problem is a problem in which multiple targets v are selected so as to satisfy all of the given constraints. i ∈V has multiple elements s c The problem is to assign V = {v0,…,v N-1} is the object v i , and E is the set V = {v0,…,v N-1 A specific set of objects (v i ,v j ), and S = {s0,…,s C-1} is the element s to be assigned to the target c3 illustrates an example of a graph G in the case where N=5, V={v0, v1, v2, v3, v4}, and E={(v0, v1), (v0, v4), (v1, v4), (v1, v3), (v1, v2), (v2, v3)}. The above-mentioned real number coefficients α, β, γ, δ, and ε are input to the combinatorial optimization device 1. However, among these pieces of information, information that is predetermined may not be input to the combinatorial optimization device 1. For example, if the set S is set in advance in the combinatorial optimization device 1, the set S may not be input to the combinatorial optimization device 1. Similarly, if some of the real number coefficients α, β, γ, δ, and ε are set in advance in the combinatorial optimization device 1, the preset real number coefficients may not be input to the combinatorial optimization device 1. If some of the real number coefficients γ, δ, and ε are set to 0, the real number coefficients that are 0 may not be input to the combinatorial optimization device 1 (step S111).

[0021] The energy function generation unit 112 of the combinatorial optimization device 1 uses the sets V, E, and S to generate the energy function H=αH1+βH2+γH3+δH4+εH obj and outputting it (Equations (2)(4)(6)(8)(10)(11)). Information representing the energy function H is sent to the combinatorial optimization unit 120. The information representing the energy function H is information that represents the energy function H and can be processed by the combinatorial optimization unit 120 (step S112).

[0022] Information representing the energy function H is input to the combinatorial optimization unit 120. The combinatorial optimization unit 120 selects the variable q that minimizes the energy function H. i,c The value of (variable q for all i∈{0,…,N-1} and c∈{0,…,C-1} i,c For example, when the real coefficients δ and ε are positive, the combinatorial optimization unit 120 obtains and outputs the value of the variable q i,c The value of (variable q for all i∈{0,…,N-1} and c∈{0,…,C-1} i,c value of variable y f,n For all f∈{0,…,C-1} and n∈{0,…,L f-1} for variable y f,n value of ), and x c The value of the variable x for all c∈{0,…,C-1} c For example, when the real number coefficients δ and ε are 0, the combinatorial optimization unit 120 obtains and outputs the value of the variable q i,c For example, when the real coefficient δ is 0 and ε is positive, the combinatorial optimization unit 120 obtains and outputs the value of the variable q i,c and the value of the variable x c For example, when the real coefficient δ is positive and ε is 0, the combinatorial optimization unit 120 obtains and outputs the value of the variable q i,c and the value of the variable y f,n The value of is obtained and output (step S120).

[0023] The variable q obtained by the combinatorial optimization unit 120 i,c The value of (variable q for all i∈{0,…,N-1} and c∈{0,…,C-1} i,c The information representing the value of the variable q i,c The value of (variable q for all i∈{0,…,N-1} and c∈{0,…,C-1} i,c The result of the calculation is the variable q i,c The value of is a value that can be processed by a von Neumann type computer (step S113). As a result, it is possible to solve an industrial allocation problem with more constraints than in the past.

[0024] Below, we will give examples of specific assignment problems and their solutions. <Example 1> In the first embodiment, N=5, V={v0,v1,v2,v3,v4}, E={(v0,v1),(v0,v4),(v1,v4),(v1,v3),(v1,v2),(v2,v3)}, F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)}, C=4, S={s0,s1,s2,s3}, δ=0 and α,β,γ,δ>0, A={(0,0),(2,2),(3,1)}, and B is an empty set. This is shown in FIG. 4A.

[0025] In this case, the functions corresponding to the respective constraints are as follows: <Constraint condition 1> One target v i Element s to be assigned to ∈V c There is always exactly one ∈S.

number

number

number

number

[0026] In this case, the energy function generating unit 112 generates the energy function H=αH1+βH2+γH3+εH obj When α=β=γ=ε=1, the energy function generation unit 112 generates the energy function H of equation (12). H=H1+H2+H3+H obj (12)

[0027] The combinatorial optimization unit 120 calculates the variable q i,c One solution is to find the value of the variable q 0,0 ,q 1,3 ,q 2,2 ,q 3,1 ,q 4,2 is 1, and other variables q i,c is 0. This can be represented graphically as shown in Figure 4B.

[0028] <Example 2> In the second embodiment, N=5, V={v0,v1,v2,v3,v4}, E={(v0,v1),(v0,v4),(v1,v4),(v1,v3),(v1,v2),(v2,v3)}, F={(0,1),(0,4),(1,4),(1,3),(1,2),(2,3)}, C=4, S={s0,s1,s2,s3}, γ=0 and α,β,δ,δ>0, A is an empty set, B={1,2}, L1=2,L2=1. This is shown in the graph in FIG. 5A.

[0029] In this case, the functions corresponding to the respective constraints are as follows: <Constraint condition 1> One target v i Element s to be assigned to ∈V c There is always exactly one ∈S.

number

number

number

number

[0030] In this case, the energy function generating unit 112 generates the energy function H=αH1+βH2+ΔH4+εH obj When α=β=δ=ε=1, the energy function generation unit 112 generates the energy function H of equation (13). H=H1+H2+H4+H obj (13)

[0031] The combinatorial optimization unit 120 calculates the variable q i,c One solution is to find the value of the variable q 0,2 ,q 1,0,q 2,1 ,q 3,3 ,q 4,1 is 1, and other variables q i,c is 0. This can be represented graphically as shown in Figure 5B.

[0032] [Hardware configuration] The processing unit 110 in the embodiment is a device configured by a general-purpose or dedicated computer having a processor (hardware processor) such as a CPU (central processing unit) and memories such as a RAM (random-access memory) and a ROM (read-only memory) executing a predetermined program. That is, the processing unit 110 in the embodiment has, for example, a processing circuit configured to implement each unit. This computer may have one processor and memory, or may have multiple processors and memories. This program may be installed in the computer, or may be recorded in a ROM or the like in advance. In addition, a part or all of the processing units may be configured using an electronic circuit that realizes a processing function by itself, rather than an electronic circuit that realizes a functional configuration by reading a program like a CPU. In addition, an electronic circuit that configures one device may include multiple CPUs.

[0033] FIG. 6 is a block diagram illustrating a hardware configuration of the processing unit 110 in the embodiment. As illustrated in FIG. 6, the processing unit 110 in this example has a CPU (Central Processing Unit) 10a, an input unit 10b, an output unit 10c, a RAM (Random Access Memory) 10d, a ROM (Read Only Memory) 10e, an auxiliary storage device 10f, a communication unit 10h, and a bus 10g. The CPU 10a in this example has a control unit 10aa, a calculation unit 10ab, and a register 10ac, and executes various calculation processes according to various programs loaded into the register 10ac. The input unit 10b is an input terminal, a keyboard, a mouse, a touch panel, etc., to which data is input. The output unit 10c is an output terminal, a display, etc., to which data is output. The communication unit 10h is a LAN card, etc., controlled by the CPU 10a that has loaded a predetermined program. The RAM 10d is a static random access memory (SRAM), a dynamic random access memory (DRAM), or the like, and has a program area 10da in which a predetermined program is stored, and a data area 10db in which various data is stored. The auxiliary storage device 10f is, for example, a hard disk, a magneto-optical disc (MO), a semiconductor memory, or the like, and has a program area 10fa in which a predetermined program is stored, and a data area 10fb in which various data is stored. The bus 10g connects the CPU 10a, the input unit 10b, the output unit 10c, the RAM 10d, the ROM 10e, and the auxiliary storage device 10f so that information can be exchanged. The CPU 10a writes the program stored in the program area 10fa of the auxiliary storage device 10f to the program area 10da of the RAM 10d according to the loaded OS (Operating System) program. Similarly, the CPU 10a writes various data stored in the data area 10fb of the auxiliary storage device 10f to the data area 10db of the RAM 10d. The addresses on the RAM 10d where these programs and data are written are stored in the register 10ac of the CPU 10a.The control unit 10aa of the CPU 10a sequentially reads out these addresses stored in the register 10ac, reads out programs and data from the areas on the RAM 10d indicated by the read addresses, sequentially causes the calculation unit 10ab to execute the calculations indicated by the programs, and stores the calculation results in the register 10ac. With this configuration, the functional configuration of the processing unit 110 is realized.

[0034] The above-mentioned program can be recorded in a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

[0035] The distribution of this program is performed, for example, by selling, transferring, lending, etc., a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network. As described above, a computer that executes such a program, for example, first temporarily stores in its own storage device the program recorded in the portable recording medium or the program transferred from the server computer. Then, when executing the process, the computer reads the program stored in its own storage device and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from the portable recording medium and execute the process according to the program, and further, each time the program is transferred from the server computer to the computer, the computer may execute the process according to the received program. Furthermore, the server computer may not transfer the program to the computer, and the above-mentioned process may be executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by issuing an execution instruction and obtaining the result. In addition, the program in this embodiment includes information used for processing by an electronic computer and equivalent to a program (such as data that is not a direct instruction to a computer but has the nature of defining computer processing).

[0036] In the embodiment, the present device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.

[0037] The present invention is not limited to the above-mentioned embodiment. For example, the processing unit 110 may be a quantum computer (e.g., a gate-type quantum computer), and the combinatorial optimization unit 120 may be a device configured by loading a program into a gate-type quantum computer or a von Neumann-type computer.

[0038] In addition, the various processes described above may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capacity of the device that executes the processes or on the need of the device. Needless to say, other appropriate modifications are possible without departing from the spirit of the present invention. [Industrial Applicability]

[0039] The present invention is to find multiple objects v so as to satisfy all the constraints. i ∈V has multiple elements s c It can be applied to solving the industrial allocation problem of allocating elements s ∈S. c An example of this is some industrial resource, subject v i Examples of industrial allocation problems are industrial entities that utilize, process, store, transmit, receive, or redistribute industrial resources. Examples of industrial allocation problems are round robin scheduling and frequency allocation in communication networks (e.g., GSM networks). [Explanation of symbols]

[0040] 1. Combinatorial optimization device 110 Processing section 120 Combinatorial Optimization Department

Claims

1. Multiple targets v i Multiple elements s c A combinatorial optimization device that assigns V is the object v i where E is a set of specific objects (v i , v j ), where S is the set of elements s c is a set of i,c is the object v i The element s c is a variable that represents the assignment of Using the sets V, E, and S, multiple variables q i,c Energy function H = αH 1 +βH 2 +γH 3 + δH 4 +εH obj an energy function generator for obtaining The variable q that minimizes the energy function H i,c A combinatorial optimization unit for obtaining a value of H 1 The object v i ∈V, the element s c is a function that is minimized when each of ∈S is assigned one by one, H 2 The group (v i , v j ) ∈ E's v i and v j The elements s that are different from each other c is a function that is minimized when ∈S is assigned, H 3 is a predetermined specific object v k A specific element s predetermined in ∈V d is a function that is minimized when ∈S is assigned, H 4 is a predetermined specific element s f ∈S is a predetermined number of times L f This is the function that is smallest when only the following can be assigned: H obj However, there are elements s that cannot be assigned g is a function that is smallest when the number of ∈S is largest, α and β are positive real coefficients, γ, δ, and ε are real coefficients greater than or equal to 0, and at least one of γ, δ, and ε is positive. Combinatorial optimization device.

2. The combinatorial optimization device according to claim 1, A combinatorial optimization device, where γ is positive.

3. The combinatorial optimization device according to claim 1 or 2, A combinatorial optimization device, where δ is positive.

4. A combinatorial optimization device according to any one of claims 1 to 3, A combinatorial optimization device, where ε is positive.

5. The combinatorial optimization device according to claim 1, A combinatorial optimization device in which γ, δ, and ε are positive.

6. A combinatorial optimization device according to any one of claims 1 to 5, N is the object v included in the set V i , i∈{0,...,N-1}, C is the element s included in the set S c , c∈{0, ..., C-1}, F is the set (v i , v j ), where j∈{0,...,N-1}, A is the predetermined specific object v k ∈V and the predetermined specific element s d ∈S, where k∈{0,...,N-1} and d∈{0,...,C-1}, B is the predetermined specific element s f ∈S, and L f is a positive integer representing the predetermined number of times, f ∈ {0, ..., C-1}, and n = 0, ..., L f −1, The variable q i,c is the object v i to the element s c When assigning q i,c = 1, and the object v i to the element s c If you do not assign q i,c = 0, y f,n ∈{0, 1} and x c ∈{0,1} is a variable, [0018] [0019] [0020] ##EQU00021## [0022] This is a combinatorial optimization device.

7. Multiple targets v i Multiple elements s c A combinatorial optimization method for allocating V is the object v i where E is a set of specific objects (v i , v j ), where S is the set of elements s c is a set of i,c is the object v i The element s c is a variable that represents the assignment of In the energy function generation unit, the sets V, E, and S are used to generate a plurality of variables q i,c Energy function H = αH 1 +βH 2 +γH 3 + δH 4 +εH obj an energy function generation step to obtain In the combinatorial optimization unit, the variable q that minimizes the energy function H is i,c and a combinatorial optimization step for obtaining a value of H 1 The object v i ∈V, the element s c is a function that is minimized when each of ∈S is assigned one by one, H 2 The group (v i , v j ) ∈ E's v i and v j The elements s that are different from each other c is a function that is minimized when ∈S is assigned, H 3 is a predetermined specific object v k A specific element s predetermined in ∈V d is a function that is minimized when ∈S is assigned, H 4 is a predetermined specific element s f ∈S is a predetermined number of times L f This is the function that is smallest when only the following can be assigned: H obj However, there are elements s that cannot be assigned g is a function that is smallest when the number of ∈S is largest, α and β are positive real coefficients, γ, δ, and ε are real coefficients greater than or equal to 0, and at least one of γ, δ, and ε is positive. Combinatorial optimization methods.

8. A program for causing a computer to function as the combinatorial optimization device according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Adiabatic Annealing Scheme and System for Edge Computing

    US20200192598A1

  • Optimization device, optimization method and optimization program

    WO2022024329A1