Information processing device, information processing method, program

By prioritizing constraints and fixing variables in constrained combinatorial optimization problems, the solution time is reduced using pseudo-quantum annealing.

JP2026087240APending Publication Date: 2026-05-27NEC CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NEC CORP
Filing Date
2024-11-15
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Constrained combinatorial optimization problems face prolonged solution times even when some variables are fixed, as described in Patent Document 1.

Method used

An information processing device sets priorities for constraints based on the content of the optimization problem, fixes variables in the order of priority, and uses pseudo-quantum annealing to solve the problem.

Benefits of technology

This approach reduces the time required to solve combinatorial optimization problems by efficiently fixing variables according to constraint priorities, thereby shortening solution times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026087240000001_ABST
    Figure 2026087240000001_ABST
Patent Text Reader

Abstract

The problem of the time required to solve a constrained combinatorial optimization problem becoming excessively long. [Solution] The information processing device of the present disclosure includes: a priority setting unit that sets the priority of constraints according to the content of the constraints set in the optimization problem; a fixed value setting unit that sets the variables included in the constraints to fixed values ​​of predetermined values ​​based on fixed values ​​set in advance for the variables and the content of the constraints, in an order according to the priority; and a solution unit that solves the optimization problem with the variables included in the constraints set to fixed values.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] As a method for solving real-world problems, the energy in combinatorial optimization problems is being converted into the form of an Ising model and then solved. For example, the energy of an optimization problem is being formulated in the form of QUBO (Quadratic Unconstrained Binary Optimization), and then solved using simulated annealing.

[0003] However, in combinatorial optimization problems, as the problem scale increases, the number of solution states becomes enormous, and solving the problem can take a long time. On the other hand, in some cases, it is possible to fix some of the variables in the problem. For example, Patent Document 1 describes solving the problem by fixing binary variables in various patterns. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2021-131723 [Overview of the project] [Problems that the invention aims to solve]

[0005] However, as described in Patent Document 1, even when some variables are fixed in a constrained combinatorial optimization problem, there are still many fixed patterns, and the solution time remains long.

[0006] Therefore, one of the purposes of this disclosure is to solve the aforementioned problem of prolonged solution times in constrained combinatorial optimization problems. [Means for solving the problem]

[0007] An information processing device, which is one form of this disclosure, A priority setting unit sets the priority of constraints according to the content of the constraints set in the optimization problem, A fixed value setting unit sets the variables included in the constraint conditions to predetermined fixed values ​​based on fixed values ​​set in advance for the variables and the content of the constraint conditions, in order according to the aforementioned priority. A solution unit that solves the optimization problem with the variables included in the constraints fixed, Equipped with, This is the structure it takes. Furthermore, the information processing method, which is one form of this disclosure, The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. This is the structure it takes. Furthermore, one form of this disclosure is a program, In an information processing device, The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. To execute the process This is the structure it takes. [Effects of the Invention]

[0008] By being configured as described above, this disclosure can suppress the prolonged time required to solve combinatorial optimization problems. [Brief explanation of the drawing]

[0009] [Figure 1] It is a block diagram showing an example of the configuration of an information processing apparatus according to the present disclosure. [Figure 2] It is a flowchart showing an example of the processing operation of an information processing apparatus according to the present disclosure. [Figure 3] It is a diagram showing an example of data related to the present disclosure. [Figure 4] It is a diagram showing an example of data related to the present disclosure. [Figure 5] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 6] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 7] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 8] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 9] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 10] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 11] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 12] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 13] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 14] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 15] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 16] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 17] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 18] This figure shows an example of the processing process of the information processing device related to this disclosure. [Figure 19] This figure shows an example of the processing process of the information processing device related to this disclosure. [Figure 20] This figure shows an example of the processing process of the information processing device related to this disclosure. [Figure 21] This block diagram shows an example of the hardware configuration of the information processing device related to this disclosure. [Figure 22] This is a block diagram showing an example of the configuration of the information processing device related to this disclosure. [Modes for carrying out the invention]

[0010] <First Embodiment> A first embodiment of this disclosure will be described with reference to the drawings. The drawings may be relevant to any embodiment.

[0011] [composition] The information processing device 10 of this disclosure is used, as an example, to solve a pre-set combinatorial optimization problem with constraints using pseudo-quantum annealing (simulated annealing). Here, an example of a method for solving a combinatorial optimization problem with constraints using pseudo-quantum annealing will be described.

[0012] A constrained combinatorial optimization problem is one in which an objective function and constraints are set, and the goal is to find a solution that minimizes the objective function while satisfying the constraints. Furthermore, as shown in equations 1 and 2, a constrained combinatorial optimization problem can be transformed into a formalized model, such as the Ising model or the QUBO (Quadratic Unconstrained Binary Optimization) model. In this case, as shown in equation 1, the energy value E of the optimization problem can be expressed using objective function terms (terms 1 and 2) and constraint terms (terms 3 and 4), and as shown in equation 2, these can be combined into a single model.

number

number

[0013] Here, in the above equation, s i ,s j is, spin s i ,s j This is a variable representing the state, and is expressed as "-1" or "1", or "0" or "1". In this embodiment, the optimization problem is converted to a QUBO model, and the states of spins i and j are described as being represented as "0" or "1". i and j are the identification numbers of spin s. Also, W in the above equation 2. ij is, spin s i ,s j These are weight parameters set to correspond to each combination.

[0014] Furthermore, when searching for the spin with the minimum energy E in the aforementioned constrained combinatorial optimization problem using pseudo-quantum annealing, the state of spin s flips from 0 to 1, or from 1 to 0, to transition the solution during the search. In this case, pseudo-quantum annealing always transitions when the evaluation value of the neighboring solutions is good (small), but it can also probabilistically transition even when the evaluation value of the neighboring solutions is poor (large). The probability in this case is determined by the inverse temperature, which is the reciprocal of the value of the temperature parameter, so the information processing device 10 searches for the solution while raising or lowering the inverse temperature.

[0015] Next, an example of the configuration and operation of the information processing apparatus 10 in this embodiment will be described in detail. FIG. 1 shows an example of the configuration of the information processing apparatus 10, and FIG. 2 shows an example of the operation of the information processing apparatus 10. The information processing apparatus 10 is composed of one or more information processing apparatuses including an arithmetic unit and a storage unit. As shown in FIG. 1, the information processing apparatus 10 includes a rearrangement unit 11, a substitution unit 12, and a solution unit 13. Each function of the rearrangement unit 11, the substitution unit 12, and the solution unit 13 can be realized by the arithmetic unit executing a program for realizing each function stored in the storage unit. Further, the information processing apparatus 10 includes a problem storage unit 15 realized by the storage unit.

[0016] The problem storage unit 15 stores information representing a combinatorial optimization problem with constraints to be solved. As an example, as a combinatorial optimization problem with constraints, there is a problem called the traveling salesman problem. The traveling salesman problem is an optimization problem of finding a tour with the minimum moving distance under the constraint that a salesman visits all cities once when the distances between cities are given. Thus, in the traveling salesman problem, as a constraint, a "One-hot" constraint (sum(x i ) = 1), which is a constraint that one of the included variables x becomes 1, is set.

[0017] Here, an example of the types of constraints that can be set in the optimization problem is given in FIG. 3. Examples of constraints include the above-mentioned "One-hot" constraint (sum(x i ) = 1), a "K-hot" constraint (sum(x i ) = k), which is a constraint that k of the included variables x become 1, a "Min" constraint (l ≤ sum(x i )), which is a constraint that at least l variables x become 1, a "Max" constraint (sum(x i ) ≤ u), which is a constraint that at most u variables x become 1, and a "Min-Max" constraint (l ≤ sum(x i ) ≤ u), which is a constraint that at least l and at most u variables x become 1, and so on.

[0018] Furthermore, under the types of constraints described above, one variable x can be fixed to a number that is fixed to "1" or "0", thereby fixing other variables x to a specific value. For example, the "One-hot" constraint (sum(x i In the case of )=1), if one of the n variables x included in the constraint is set to a fixed value of "1", or if (n-1) variables x are set to a fixed value of "0", then the remaining variables x can be set to a fixed value of "0" or "1". The upper table in Figure 3 shows how many variables x must be set to a fixed value of "1" or "0" for each type of constraint to allow other variables x to be set to a fixed value. Based on the content of these constraints, in this embodiment, as will be described later, a "1 counter" representing the number of n variables x included in the constraint that can be set to a fixed value of "1", a "0 counter" representing the number of n variables x included in the constraint that can be set to a fixed value of "0", and an "unfixed counter" representing the number of n variables x included in the constraint that are not fixed will be set for each type of constraint.

[0019] In this embodiment, a constrained combinatorial optimization problem (hereinafter also referred to as the optimization problem) as shown in Figure 4 is set and stored in the problem memory unit 15. Specifically, the optimization problem consists of 10 variables x as shown in the following equation 3. i The objective function includes the variable x, and each variable x i Four constraint conditions, including the above, and variable fixing information indicating that variables x1 and x4 are fixed to the value "1" are set.The problem memory unit 15 stores, as shown in Figure 5, a list of variable fixing information and counter information consisting of the content of each constraint condition and the number of variables that can be fixed to a predetermined value, according to the content of the optimization problem.Specifically, the list has columns "A", "B", and "C", and as an initial value, column "A" is set to "(x1,1),(x4,1)", indicating that variables x1 and x4 are fixed to the value "1", while columns "B" and "C" are set to empty.The counter information includes "Constraint name", "Content of constraint", and "Included variable x iA "counter" is set. Depending on the content of each constraint, a "1 counter" is set to represent the number of variables that can be set to a fixed value of "1", a "0 counter" is set to represent the number of variables that can be set to a fixed value of "0", and an "unfixed counter" is set to represent the number of variables that are not fixed.

number

[0020] The sorting unit 11 (priority setting unit) first initializes the list information and counter information as shown in Figure 5 (steps S1 and S2 in Figure 2). Then, the sorting unit 11 sets the priority of the constraints in the counter information according to the content of the constraints and sorts the constraints in descending order of priority (step S3 in Figure 2). At this time, the sorting unit 11 sets the priority of the constraints according to the value of each counter set in the counter information. Specifically, the sorting unit 11 first sets the priority of constraints with smaller values ​​for the "1 counter" or "0 counter," which is the number of variables that can be fixed to a value of "1" or "0," and sorts them accordingly. In other words, it sorts them in ascending order by the smaller of the "1 counter" and "0 counter" values. As a result, as will be described later, constraints that are easier to fix the variables of are processed first. In addition, for constraints where the smaller of the "1 counter" and "0 counter" values ​​is the same, the sorting unit 11 sets the priority of constraints with larger values ​​for the "unfixed counter," which is the number of variables included, and sorts them accordingly. In other words, sort in descending order by the value of the "unfixed counter". This allows us to process constraints that allow us to fix more variables first, as will be explained later.

[0021] The sorting unit 11 sorts each constraint condition in order of priority, as shown in Figure 6, using the method described above. Specifically, in the example in Figure 6, as shown by the dotted line, "Constraint I" and "Constraint II" have smaller "1 counter" values ​​than "Constraint III" and "Constraint IV," and therefore have higher priority. In addition, the "Unfixed Counter" value is larger for "Constraint II" than for "Constraint I," so the priority is set from highest to lowest in the order of "Constraint II" followed by "Constraint I." Below that, the priority is set in the order of smallest "0 counter" values, in the order of "Constraint IV" followed by "Constraint III." In this way, the constraints are sorted in the order of "Constraint II," "Constraint I," "Constraint IV," and "Constraint III."

[0022] The method by which the sorting unit 11 rearranges the constraint conditions is not limited to the method described above, and the constraint conditions may be rearranged by other methods. For example, the sorting unit 11 may calculate some index using the values ​​of each counter and rearrange the constraint conditions based on such index.

[0023] The assignment unit 12 (fixed value setting unit) processes the variables included in the constraint conditions to fixed values ​​of predetermined values ​​in the order in which the constraint conditions are sorted according to priority, as described above. Specifically, the assignment unit 12 first assigns fixed values ​​of predetermined values ​​to predetermined variables based on the list information (step S4 in Figure 2). Then, the assignment unit 12 updates the values ​​of each "counter" in the counter information in accordance with the assignment of fixed values ​​to the predetermined variables (step S5 in Figure 2). At this time, if the value of the "1 counter" or "0 counter" becomes "0", the assignment unit 12 determines that other variables that are not fixed values ​​in the constraint condition being processed can be fixed, and therefore sets other variables to fixed values ​​according to the content of the constraint condition. Furthermore, the assignment unit 12 stores the fixed values ​​of the other variables as variable fixed information in the "B" column of the list information. Then, as described above, when the value of the "1 counter" or "0 counter" becomes "0", the assignment unit 12 finishes processing the current constraint condition and moves on to processing the next constraint condition in order.

[0024] The following describes an example of the specific processing performed by the substitution unit 12, with reference to the diagrams. In each diagram, the data area of ​​interest will be enclosed in a dotted line.

[0025] The assignment unit 12 processes the constraints, which have been rearranged in the order of priority shown in Figure 6, in the order of the highest priority constraints. For this reason, the assignment unit 12 first processes "Constraint II" as shown in Figures 7 and 8. As shown in Figure 7, the assignment unit 12 sets the variable included in "Constraint II" to a fixed value according to the variable fixing information set in the "A" column of the list information. At this time, since the variable x4 set in the variable fixing information (x4,1) is included in "Constraint II", the fixed value of "1" is assigned to the variable x4 of "Constraint II". Then, the assignment unit 12 decrements the values ​​of "1 counter" and "unfixed counter" by 1 as a result of assigning the fixed value of "1" to the variable x4 of "Constraint II". At this time, the "1 counter" becomes "0", and other variables can be fixed from the contents of "Constraint II". Here, based on the content of "Constraint II," the other variables x3, x5, and x6 can be set to a fixed value of "0," and as shown in Figure 8, the fixed value of "0" is substituted for the other variables x3, x5, and x6. Then, the assignment unit 12 updates the value of each "counter" in conjunction with the substitution of fixed values ​​for the other variables, and stores the fixed values ​​substituted for the other variables as variable fixed information in column "B" of the list information. In the example in Figure 8, "(x3,0),(x5,0),(x6,0)" is stored as variable fixed information in column "B" of the list information. Since the value of the "1 counter" has become "0," the assignment unit 12 finishes processing "Constraint II" and moves on to processing "Constraint I" in the next order.

[0026] Next, the assignment unit 12 processes "Constraint I" as shown in Figures 9 and 10. As shown in Figure 9, the assignment unit 12 sets the variables included in "Constraint I" to fixed values ​​according to the variable fixing information set in the "A" and "B" columns of the list information. At this time, since the variable x1 set in the variable fixing information (x1,1) in column "A" is included in "Constraint I", the fixed value of "1" is assigned to the variable x1 in "Constraint I". Also, since the variable x3 set in the variable fixing information (x3,0) in column "B" is included in "Constraint I", the fixed value of "0" is assigned to the variable x3 in "Constraint I". In this way, if the constraint condition currently being processed includes the same variable that has already been set to a fixed value in a higher-order constraint condition, the assignment unit 12 sets that variable to the same fixed value.

[0027] Then, the assignment unit 12, having assigned the fixed value "1" to variable x1 of "Constraint I" and the fixed value "0" to variable x3, decreases the values ​​of the "1 counter" and "0 counter" by 1 and the value of the "unfixed counter" by 2. At this point, the "1 counter" becomes "0", and other variables can be fixed according to the contents of "Constraint I". Here, according to the contents of "Constraint I", the other variable x2 can be set to a fixed value of "0", and as shown in Figure 10, the fixed value "0" is assigned to the other variable x2. Then, the assignment unit 12 further updates the values ​​of each "counter" in conjunction with the assignment of fixed values ​​to the other variables, and stores the fixed values ​​assigned to the other variables as variable fixed information in column "B" of the list information. In the example in Figure 10, "(x2,0)" is added and stored as variable fixed information in column "B" of the list information. The assignment unit 12 terminates processing for "Constraint I" because the value of "1 counter" has become "0," and moves on to processing for the next constraint, "Constraint IV."

[0028] Next, the assignment unit 12 processes "Constraint IV" as shown in Figures 11 and 12. As shown in Figure 11, the assignment unit 12 sets the variables included in "Constraint IV" to fixed values ​​according to the variable fixing information set in the "A" and "B" columns of the list information. At this time, since the variable x1 set in the variable fixing information (x1,1) in column "A" is included in "Constraint IV", the fixed value "1" is assigned to the variable x1 in "Constraint IV". Also, since the variables x2 and x6 set in the variable fixing information (x2,0) and (x6,0) in column "B" are included in "Constraint IV", the fixed values ​​"0" are assigned to the variables x2 and x6 in "Constraint IV".

[0029] Then, the assignment unit 12 decrements the "1 counter" by 1, the "0 counter" by 2, and the "unfixed counter" by 3, in accordance with the fact that the fixed value "1" has been assigned to variable x1 in "Constraint IV" and the fixed values ​​"0" have been assigned to variables x2 and x6. At this point, the "0 counter" becomes "0", and other variables can be fixed according to the contents of "Constraint IV". Here, from the contents of "Constraint IV", the other variables x7 and x9 can be set to the fixed value "1", and as shown in Figure 12, the fixed value "1" is assigned to the other variables x7 and x9. Then, the assignment unit 12 further updates the values ​​of each "counter" in accordance with the assignment of fixed values ​​to the other variables, and stores the fixed values ​​assigned to the other variables as variable fixed information in column "B" of the list information. In the example in Figure 11, "(x7,1),(x9,1)" is added and stored as variable fixed information in column "B" of the list information. The assignment unit 12 terminates processing for "Constraint IV" because the value of the "0 counter" has become "0," and moves on to processing for the next constraint, "Constraint III."

[0030] Next, the assignment unit 12 processes "Constraint III" as shown in Figures 13 and 14. As shown in Figure 13, the assignment unit 12 sets the variables included in "Constraint III" to fixed values ​​according to the variable fixing information set in the "A" and "B" columns of the list information. At this time, since the variable x4 set in the variable fixing information (x4,1) in column "A" is included in "Constraint III", the fixed value of "1" is assigned to the variable x4 in "Constraint III". Also, since the variables x2, x5, x7, and x9 set in the variable fixing information (x2,0), (x5,0), (x7,1), and (x9,1) in column "B" are included in "Constraint III", the fixed values ​​of "0" are assigned to the variables x2 and x5 in "Constraint III", and the fixed values ​​of "1" are assigned to the variables x7 and x9.

[0031] Then, the assignment unit 12, having assigned the fixed value "1" to variables x4, x7, and x9 of "Constraint III" and the fixed value "0" to variables x2 and x5, decreases the "1 counter" by 3, the "0 counter" by 2, and the "unfixed counter" by 5. At this point, the "1 counter" becomes "0," and other variables can be fixed according to the contents of "Constraint III." Here, according to the contents of "Constraint III," the other variable x8 can be set to a fixed value of "0," and as shown in Figure 14, the fixed value "0" is assigned to the other variable x8. Then, the assignment unit 12 further updates the values ​​of each "counter" in conjunction with the assignment of fixed values ​​to the other variables, and stores the fixed values ​​assigned to the other variables as variable fixed information in column "B" of the list information. In the example in Figure 14, "(x8,0)" is added and stored as variable fixed information in column "B" of the list information. The assignment unit 12 terminates processing for "Constraint IV" because the value of "1 counter" has become "0".

[0032] As described above, once processing for all constraints is completed in the order of priority, the assignment unit 12 updates the list information as shown in Figure 15. Specifically, the assignment unit 12 adds the information from column "A" to column "C" and stores it, replaces column "A" with the information from "B", and initializes column "B" to empty. In this way, if a newly fixable variable is stored in column "B" (Yes in step S6 of Figure 2), the assignment unit 12 replaces the information in column "B" with the information in column "A" and adds it to the list information as a newly fixable variable (step S7 of Figure 2).

[0033] Then, once the processing for all constraints is complete as described above, the process of rearranging the constraints and assigning fixed values ​​to the variables is repeated. Specifically, the rearranging unit 11 sets the priority of each constraint based on the number of variables that can be set as fixed values ​​in the constraints, that is, the updated values ​​of each "counter" (step S3 in Figure 2). Then, the assignment unit 12 uses the updated list information as described above to perform the assignment of fixed values ​​to each constraint in the order rearranged by priority (steps S4, S5 in Figure 2).

[0034] In the example described above, since there are no new variables that can be fixed (No in step S6 of Figure 2), the process of rearranging the constraints and assigning fixed values ​​to the variables is terminated.

[0035] As described above, once the fixed value substitution process is complete, the solution unit 13 updates the objective function of the optimization problem based on the list information (step S8 in Figure 2). Specifically, as shown in Figure 16, the solution unit 13 adds the variable fixed information stored in column "A" of the list information to column "C", and uses the information in column "C" as the final variable fixed information. Then, the solution unit 13 substitutes the variable fixed information into the objective function shown in equation 3 and updates the objective function as shown in Figure 16 and equation 4.

number

[0036] The solution unit 13 solves the optimization problem for which the objective function has been updated by substituting fixed values ​​as described above. For example, the solution unit 13 solves the problem using pseudo-quantum annealing. However, the solution unit 13 may solve the optimization problem by any method.

[0037] As described above, in this embodiment, a priority is set for the constraints in a constrained combinatorial optimization problem according to the content of the constraints, and the variables are fixed in the order of priority. This allows the variables to be fixed, the objective function of the optimization problem is simplified, and the solution time can be shortened.

[0038] In the above example, the assignment unit 12 assigned fixed values ​​to the constraint variables based on the variable fixing information in columns "A" and "B" of the list information. However, fixed values ​​may also be assigned to variables as follows. For example, as shown in Figure 17, in the "Constraint I" being processed, first, a fixed value is assigned to the variable related to the smaller of the "1 counter" and "0 counter" values. In this example, since the value of the "1 counter" is small, the variable fixing information (x1,1) is used to assign the fixed value "1" to variable x1. As a result, the value of the "1 counter" becomes "0", and as shown in Figure 18, the remaining fixed values ​​of "0" can be assigned to the other variables x2 and x3 based on the contents of "Constraint I". This shortens the process of assigning fixed values ​​to variables.

[0039] Furthermore, the assignment unit 12 may determine whether the constraint conditions have been violated (contradiction check) based on the value of the counter described above and the number of variables with fixed values. Here, the optimization problem is as shown in Figure 19, and the variable fixed information is set as "(x1,1),(x4,1),(x2,1)". In this case, as shown in Figure 20, in "Constraint I", the "1 counter", which is the number of variables that can be fixed to "1" based on the content of the constraint, is "1", but the number of variables with a fixed value of "1" is "2", so the value of the "1 counter" becomes "-1". In this way, if the value of the "1 counter" or "0 counter" becomes negative, it may be determined that a constraint violation (contradiction) has occurred, and the process may be interrupted and a message to the user is output.

[0040] <Second Embodiment> Next, a second embodiment of the present disclosure will be described with reference to the drawings. This embodiment shows an outline of the information processing device, etc., described in the above-described embodiment. Note that the drawings may be relevant to any embodiment.

[0041] First, the hardware configuration of the information processing device 100 in this disclosure will be described. The information processing device 100 is composed of a general information processing device, and as an example, it is equipped with the following hardware configuration as shown in Figure 21. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (Storage Device) • RAM (Random Access Memory) 103 (Storage Device) • Program group 104 loaded into RAM 103 • Storage device 105 for storing the program group 104 • Drive device 106 for reading and writing to external storage medium 110 of the information processing device. • Communication interface 107 connecting to a communication network 111 outside the information processing device. • Input / output interface 108 for data input and output. • Bus 109 connecting each component

[0042] Figure 21 shows an example of the hardware configuration of the information processing device 100, and the hardware configuration of the information processing device is not limited to the case described above. For example, the information processing device may consist of only a part of the configuration described above, such as not having a drive device 106. In addition, the information processing device may use a GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating point number Processing Unit), PPU (Physics Processing Unit), TPU (Tensor Processing Unit), quantum processor, microcontroller, or a combination thereof instead of the CPU described above.

[0043] The information processing device 100 can be equipped with the priority setting unit 121, fixed value setting unit 122, and solution unit 123 shown in Figure 22 by having the CPU 101 acquire the program group 104 and execute it. The program group 104 is stored in the storage device 105 or ROM 102 in advance, and the CPU 101 loads it into the RAM 103 and executes it as needed. The program group 104 may also be supplied to the CPU 101 via the communication network 111, or it may be stored in the storage medium 110 in advance, and the drive device 106 reads the program and supplies it to the CPU 101. However, the priority setting unit 121, fixed value setting unit 122, and solution unit 123 described above may be constructed with dedicated electronic circuits to realize these means.

[0044] The priority setting unit 121 sets the priority of the constraints according to the content of the constraints set in the optimization problem. The fixed value setting unit 122 sets the variables included in the constraints to fixed values ​​of predetermined values ​​based on the fixed values ​​set in advance for the variables and the content of the constraints, in the order according to the priority. The solution unit 123 solves the optimization problem with the variables included in the constraints set to fixed values.

[0045] This disclosure, configured as described above, can reduce the time required to solve a constrained combinatorial optimization problem.

[0046] Furthermore, at least one of the functions of the priority setting unit 121, the fixed value setting unit 122, and the solution unit 123 described above may be executed on an information processing device installed and connected at any location on the network, that is, it may be executed using so-called cloud computing.

[0047] Furthermore, the aforementioned programs can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). Programs may also be supplied to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0048] Although the present disclosure has been described above with reference to embodiments, the present disclosure is not limited to the embodiments described above. Various modifications to the structure and details of the present disclosure are possible, as can be understood by those skilled in the art within the scope of the present disclosure. Furthermore, each of the embodiments described above can be combined with other embodiments as appropriate.

[0049] <Note> Some or all of the above embodiments may also be described as follows. The general configuration of the information processing apparatus, information processing method, and program in this disclosure is described below. However, this disclosure is not limited to the configurations described below. Furthermore, some or all of the configurations and functions described in Appendices 2 to 8.1, which are dependent on Appendice 1 below, may also be dependent on other Appendices 9 and 10 in the same way as in Appendices 2 to 8.1. Moreover, not limited to Appendices 1, 9, and 10, some or all of the configurations and functions described as appendices may also be dependent on similar hardware, software, various recording means for recording software, or systems, without departing from the embodiments described above. (Note 1) A priority setting unit sets the priority of constraints according to the content of the constraints set in the optimization problem, A fixed value setting unit sets the variables included in the constraint conditions to predetermined fixed values ​​based on fixed values ​​set in advance for the variables and the content of the constraint conditions, in order according to the aforementioned priority. A solution unit that solves the optimization problem with the variables included in the constraints fixed, Equipped with an information processing device. (Note 2) The information processing device described in Appendix 1, The fixed value setting unit sets a predetermined variable included in the constraint condition to a predetermined value that has been set in advance for that predetermined variable, and also sets other variables included in the constraint condition to predetermined values ​​according to the content of the constraint condition in which the predetermined variable has been set to a fixed value. Information processing device. (Note 3) The information processing device described in Appendix 1, The fixed value setting unit sets a predetermined variable included in the constraint condition to the same fixed value as the variable in the constraint condition that is set to a predetermined fixed value in the higher-order constraint condition according to the priority. Information processing device. (Note 4) The information processing device described in Appendix 1, The priority setting unit sets the priority based on the number of variables that can be fixed to a predetermined value according to the content of the constraints. Information processing device. (Note 5) The information processing device described in Appendix 4, The priority setting unit sets the priority of the constraint condition higher the fewer the number of variables that can be fixed to a predetermined value. Information processing device. (Note 6) The information processing device described in Appendix 5, The priority setting unit sets a higher priority for constraint conditions where the number of variables that can be fixed to a predetermined value is the same, and the number of variables included in the constraint condition is greater. Information processing device. (Note 7) The information processing device described in Appendix 1, The fixed value setting unit includes a counter that sets the number of variables that can be fixed to a predetermined value according to the content of each constraint condition, and when processing to set variables to fixed values ​​for a predetermined constraint condition in an order according to the priority, it terminates the processing for the predetermined constraint condition based on the value of the counter for the predetermined constraint condition and the number of variables that have been fixed to a predetermined value. Information processing device. (Note 8) The information processing device described in Appendix 7, The fixed value setting unit determines whether the predetermined constraint condition is satisfied, based on the value of the counter in the predetermined constraint condition and the number of variables that have been set to a predetermined fixed value. Information processing device. (Note 8.1) The information processing device described in Appendix 1, After the priority setting unit has finished processing all the variables to be fixed to predetermined values ​​for all the constraint conditions in the order according to the priority, it sets the priority of the constraint conditions again according to the number of variables that are not fixed to values ​​included in the constraint conditions. The fixed value setting unit sets the variables included in the constraint conditions to fixed values ​​of predetermined values ​​in the order corresponding to the newly set priority, based on the variables that have already been set to fixed values ​​and the content of the constraint conditions. Information processing device. (Note 9) The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. Information processing methods. (Note 10) In an information processing device, The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. A program that executes a process. [Explanation of Symbols]

[0050] 10 Information Processing Devices 11. Sorting section 12 Assignment part 13 Solving section 15 Problem storage 100 Information Processing Devices 101 CPU 102 ROM 103 RAM 104 Program Groups 105 Storage device 106 Drive unit 107 Communication Interface 108 Input / Output Interfaces 109 Bus 110 Storage medium 111 Communication Network 121 Priority setting section 122 Fixed value setting section 123 Solving section

Claims

1. A priority setting unit sets the priority of constraints according to the content of the constraints set in the optimization problem, A fixed value setting unit sets the variables included in the constraint conditions to predetermined fixed values ​​based on fixed values ​​set in advance for the variables and the content of the constraint conditions, in order according to the aforementioned priority. A solution unit that solves the optimization problem with the variables included in the constraints fixed, Equipped with an information processing device.

2. An information processing apparatus according to claim 1, The fixed value setting unit sets a predetermined variable included in the constraint condition to a predetermined value that has been set in advance for that predetermined variable, and also sets other variables included in the constraint condition to predetermined values ​​according to the content of the constraint condition in which the predetermined variable has been set to a fixed value. Information processing device.

3. An information processing apparatus according to claim 1, The fixed value setting unit sets a predetermined variable included in the constraint condition to the same fixed value as the variable in the constraint condition that is set to a predetermined fixed value in the higher-order constraint condition according to the priority. Information processing device.

4. An information processing apparatus according to claim 1, The priority setting unit sets the priority based on the number of variables that can be fixed to a predetermined value according to the content of the constraints. Information processing device.

5. An information processing apparatus according to claim 4, The priority setting unit sets the priority of the constraint condition higher the fewer the number of variables that can be fixed to a predetermined value. Information processing device.

6. An information processing device according to claim 5, The priority setting unit sets a higher priority for constraint conditions where the number of variables that can be fixed to a predetermined value is the same, and the number of variables included in the constraint condition is greater. Information processing device.

7. An information processing apparatus according to claim 1, The fixed value setting unit includes a counter that sets the number of variables that can be fixed to a predetermined value according to the content of each constraint condition, and when processing to set variables to fixed values ​​for a predetermined constraint condition in an order according to the priority, it terminates the processing for the predetermined constraint condition based on the value of the counter for the predetermined constraint condition and the number of variables that have been fixed to a predetermined value. Information processing device.

8. An information processing apparatus according to claim 7, The fixed value setting unit determines whether the predetermined constraint condition is satisfied, based on the value of the counter in the predetermined constraint condition and the number of variables that have been set to a predetermined fixed value. Information processing device.

9. The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. Information processing methods.

10. In an information processing device, The priority of the constraints is set according to the content of the constraints set in the optimization problem. In the order corresponding to the aforementioned priority, the variables included in the constraints are set to predetermined fixed values ​​based on the fixed values ​​set for the variables in advance and the content of the constraints. The optimization problem is solved when the variables included in the aforementioned constraints are fixed. A program that executes a process.