Computer-readable recording medium, data processing method, and data processing apparatus

By calculating the rate of change of the evaluation function to evaluate the parameter value suitability of the combination optimization problem, dynamically adjust the parameters, the problem of poor solution search performance in the combination optimization problem is solved, and efficient parameter evaluation and performance improvement is achieved.

CN119168025APending Publication Date: 2024-12-20FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410601461.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-20
Filing Date
2024-05-15
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

In the solution search of combination optimization problems, it is difficult to efficiently determine the appropriate parameter values, resulting in poor solution search performance.

Method used

By calculating the rate of change of the evaluation function, the suitability of parameter values ​​to the combination optimization problem is evaluated, and the parameters are dynamically adjusted to improve solution search performance.

Benefits of technology

It realizes efficient evaluation and adjustment of parameter values ​​of combined optimization problems, improves understanding and search performance, reduces dependence on special parameter values, and improves calculation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119168025A_ABST
    Figure CN119168025A_ABST
Patent Text Reader

Abstract

The invention relates to a computer-readable recording medium, a data processing method, and a data processing apparatus. The computer-readable recording medium includes a program that causes a computer to execute a process that includes: when a solution search is executed using a first parameter value based on an evaluation function; calculating a change rate based on a first index value of a value of the evaluation function calculated by the evaluation function and a second index value of the value of the evaluation function obtained in a first time period from a time point after a start time point of the time period to an end time point of the time period of the solution search, the change rate indicates the difference degree between the first index value and the second index value; and evaluating solution lookup performance in the case where the first parameter value is used for the problem represented by the evaluation function based on the rate of change.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments discussed herein relate to a computer-readable recording medium, a data processing method, and a data processing apparatus. Background Art

[0002] As an example of using an evaluation function to search for a solution to a combinatorial optimization problem, an Ising machine can be used. The combinatorial optimization problem is converted into an energy function of an Ising model, which is a model that represents the behavior of a magnet spin. The Ising machine searches, for example, for a combination of values ​​of state variables included in the energy function that minimizes the value of the energy function. In this case, the combination of values ​​of the state variables that minimizes the value of the energy function corresponds to a ground state or an optimal solution.

[0003] Examples of methods for obtaining approximate solutions to combinatorial optimization problems in real time include simulated annealing (SA) method, genetic algorithm (GA), simulated quantum annealing (SQA) method, taboo search method, etc. Each of these methods performs a solution search using predetermined parameters.

[0004] For example, an optimization apparatus is proposed which performs a ground state search in the SA method while gradually decreasing the value of a temperature parameter.

[0005] An optimization apparatus is proposed which performs a solution search by the SA method by using input parameters including an initial value of thermal noise (temperature) and a decay rate of the thermal noise (temperature).

[0006] A computational system is proposed that generates a set of parameters, including a search period, a range, and a starting point, for a solver that executes a heuristic algorithm to search a solution space of the problem based on characteristics of the problem.

[0007] A computer system is proposed that determines a set of annealing parameters for a problem by using machine learning techniques while performing quantum annealing.

[0008] An optimization apparatus is proposed which performs simulation by using a temporary optimal solution of a combinatorial optimization problem converted into an Ising model, updates the Ising model by adding a constraint term based on the result, and repeatedly searches for the temporary optimal solution.

[0009] As related technologies, Japanese Patent Application Publication Nos. 2020-194273 and 2021-43787, and U.S. Patent Application Publication Nos. 2011 / 0060710, 2021 / 0241143, and 2020 / 0380065 are disclosed.

[0010] question

[0011] For solution search of combinatorial optimization problems, it is important to appropriately determine parameter values ​​to be used for solution search for the corresponding problem. Therefore, a method for evaluating whether parameter values ​​are suitable for the corresponding problem is important.

[0012] According to one aspect, an object of the present disclosure is to efficiently perform evaluation of parameter values. Summary of the invention

[0013] According to one aspect of the embodiment, the program causes a computer to perform processing, the processing including: when a solution search is performed using a first parameter value based on an evaluation function, calculating a rate of change based on a first index value of the value of an evaluation function calculated by the evaluation function and a second index value of the value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of the solution search to an end time point of the time period of the solution search, the rate of change indicating the degree of difference between the first index value and the second index value; and evaluating solution search performance when the first parameter value is used for a problem represented by the evaluation function based on the rate of change.

[0014] [Effects of the Invention]

[0015] According to one aspect, evaluation of parameter values ​​may be performed efficiently. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a diagram for describing a data processing apparatus according to a first embodiment;

[0017] Figure 2 is a diagram showing a hardware example of a data processing device according to a second embodiment;

[0018] Figure 3 is a diagram showing an example of the functions of a data processing device;

[0019] Figure 4 is a diagram showing a first example of the relationship between time and energy in a solution search;

[0020] Figure 5 is a diagram showing a second example of the relationship between time and energy in a solution search;

[0021] Figure 6 is a flowchart showing an example of processing of a data processing apparatus; and

[0022] Figure 7 is a flowchart showing a comparative example. DETAILED DESCRIPTION

[0023] Hereinafter, the present embodiment will be described with reference to the accompanying drawings.

[0024] [First embodiment]

[0025] A first embodiment will be described.

[0026] Figure 1 It is a diagram for describing the data processing device according to the first embodiment.

[0027] The data processing device 10 is used for finding a solution to a combinatorial optimization problem. The data processing device 10 includes a storage unit 11 and a processing unit 12 .

[0028] The storage unit 11 may be a volatile semiconductor memory such as a random access memory (RAM) or a non-volatile storage device such as a hard disk drive (HDD) or a flash memory. For example, the processing unit 12 is a processor such as a central processing unit (CPU), a graphics processing unit (GPU), or a digital signal processor (DSP). The processing unit 12 may include a dedicated electronic circuit such as an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The processing unit 12 may be a processor that executes a program stored in a memory such as a RAM (which may be the storage unit 11). A collection of multiple processors may be referred to as a "multiprocessor" or simply a "processor".

[0029] An example in which the processing unit 12 searches for a solution will be described below. However, a search unit implemented by an FPGA, a GPU, or the like may search for a solution according to an instruction from the processing unit 12, and may return the search result to the processing unit 12. In this case, the search unit may be included in the data processing device 10, or may be included in another device that communicates with the data processing device 10.

[0030] The combinatorial optimization problem is formulated by a predetermined evaluation function and is replaced by a problem such as minimizing the value of the evaluation function (e.g., an evaluation value). The evaluation function may be referred to as an objective function, or may be referred to as an energy function when the evaluation function represents energy. The evaluation function includes a plurality of state variables. A state variable is a binary variable that takes a value of 0 or 1. A state variable may also be referred to as a bit. The solution to the combinatorial optimization problem is represented by the values ​​of a plurality of state variables. As an example of an evaluation function, an energy function of an Ising model is given. The solution that minimizes the value of the energy function represents the ground state of the Ising model and corresponds to the optimal solution to the combinatorial optimization problem. The value of the energy function is referred to as energy. Energy is an example of the value of an evaluation function, such as an evaluation value. For this reason, the "energy function" in the following description may be understood as an "evaluation function". The "energy" in the following description may be understood as a "value of an evaluation function" or an "evaluation value".

[0031] The Ising type energy function is expressed by equation (1).

[0032]

[0033] The state vector x has a plurality of state variables as elements and represents the state of the Ising model.

[0034] Equation (1) is the energy function formulated in the Quadratic Unconstrained Binary Optimization (QUBO) formalism. In the case of energy maximization problems, the sign of the energy function can be reversed.

[0035] The first term on the right side of equation (1) is obtained by integrating the product of the values ​​of the two state variables and the weight coefficients without omission and repetition for all combinations of two state variables that can be selected from all state variables. Subscripts i and j are indices of the state variables. i is the i-th state variable. j is the jth state variable. ij is the weight between the i-th state variable and the j-th state variable or the weight coefficient indicating the coupling strength. ij =W ji and W ii =0.

[0036] The second term on the right side of equation (1) is the sum of the products of the deviation of each state variable among all state variables and the value of the state variable. i Indicates the deviation of the i-th state variable. The problem information including the weight coefficient, deviation, etc. included in the energy function is stored in the storage unit 11. i The energy change ΔE caused by the change i It is expressed by equation (2).

[0037]

[0038] When ΔE is satisfied i >0 state variable x i When the value of the energy function changes, the energy E(x) in equation (1) decreases. The processing unit 12 calculates the change in the value of the energy function caused by the change in the value of one of the multiple state variables for each of the multiple state variables, and randomly and preferentially accepts the change in which the value of the energy function decreases.

[0039] At this time, in the case of being trapped in a local solution, it is impossible to escape the local solution using the steepest descent method. Therefore, the processing unit 12 uses the Metropolis method or the Gibbs method to determine the probability of transitioning from a certain state to the next state due to a change in a certain state variable. For example, the processing unit 12 also randomly accepts changes that increase the value of the energy function based on the comparison between the change in the value of the energy function and the thermal noise value. The thermal noise value is obtained based on the temperature value or a random number. As the temperature value increases, the size of the thermal noise value increases. As the size of the thermal noise value increases, a state transition in which the value of the energy function increases significantly may be accepted.

[0040] For example, in the SA method, the processing unit 12 gradually changes the temperature value from the maximum temperature value to the minimum temperature value to reduce the magnitude of the thermal noise value and converge the state of the Ising model to the ground state. As described above, in the SA method, parameters such as the maximum temperature value and the minimum temperature value are used.

[0041] To this end, the processing unit 12 pre-acquires common parameter values, such as common parameter values, based on solution search results of the SA method or the like for a plurality of existing training problems, and uses the common parameter values ​​in solution search for new problems. The training problems are problems prepared for training of common parameter values. In order to obtain common parameter values, the processing unit 12 uses each of a plurality of candidate values ​​of the parameter to perform, for example, the SA method or the like for a predetermined time, and performs evaluation of the candidate values ​​based on energy obtained as a result of the execution. The processing unit 12 selects the candidate value with the best evaluation as the common parameter value, and stores the selected candidate value in the storage unit 11. Note that common parameter values ​​are not necessarily useful for all problems.

[0042] Therefore, in the case where the general parameter value is used for a new problem (e.g., an evaluation problem), the processing unit 12 performs an evaluation of the solution finding performance by the SA method or the like. Based on the evaluation result, the processing unit 12 determines whether to obtain a parameter value dedicated to the evaluation problem, such as a dedicated parameter value. For example, the processing unit 12 performs the following processing. Although the general parameter value is exemplified below as a parameter value to be evaluated for the solution finding performance, the parameter value to be evaluated is not limited to the general parameter value and may be an arbitrary parameter value.

[0043] First, when a solution search based on an energy function corresponding to an evaluation problem is performed by using a general parameter value, the processing unit 12 acquires energy history information obtained by the solution search. Graph 20 is an example in which energy history information as a value of an evaluation function obtained by the solution search is plotted. The horizontal axis of Graph 20 indicates time. The vertical axis of Graph 20 indicates the value of the evaluation function, which is energy in this example. The horizontal axis of Graph 20 indicates a start time point of the solution search and an end time point of the solution search.

[0044] The processing unit 12 obtains a first index value of energy calculated by the energy function of the evaluation problem. The processing unit 12 obtains a second index value of energy obtained in a first time period from a time point after the start time point of the time period of the solution search to an end time point of the time period of the solution search. For example, the first time period is a time period from time t to an end time point. For example, the first time period is the second half n% portion of the entire time period from the start time point to the end time point of the solution search.

[0045] For example, the processing unit 12 uses the median value of the energy obtained in the first time period as the second index value. However, the processing unit 12 may use another statistical value such as the average value or the minimum value of the energy obtained in the first time period as the second index value.

[0046] Examples of the first index value include the following.

[0047] According to the first example, the processing unit 12 obtains the median value of the energy obtained in the second time period earlier than the first time period with the start time point of the solution search as the starting point as the first index value. For example, the second time period is the time period from the start time point of the solution search to the time τ. The time τ is the time earlier than the time t. For example, the second time period is the first half m% part of the entire time period of the solution search. m≤n is satisfied. This is because the energy change in the first half of the solution search is greater than the energy change in the second half.

[0048] According to a second example, the processing unit 12 uses, as a first index value, the energy of an initial solution used in a solution search based on an energy function of the evaluation problem.

[0049] According to a third example, the processing unit 12 uses the energy of a predetermined solution pre-calculated for the energy function of the evaluation problem as the first index value. For example, the energy of the predetermined solution is the energy of the optimal solution predicted in theory. However, the energy of the predetermined solution can be the energy of any solution (e.g., a local solution) other than the optimal solution.

[0050] Based on the first index value and the second index value, the processing unit 12 calculates a rate of change indicating the degree of difference between the first index value and the second index value. For example, the processing unit 12 may calculate a ratio of the difference between the first index value and the second index value to the first index value as the rate of change. For example, the processing unit 12 may calculate the rate of change by dividing the difference between the first index value and the second index value by the first index value. The difference between the first index value and the second index value may be an absolute value of a value obtained by subtracting the second index value from the first index value. In the case where the energy of the predetermined solution is used as the first index value, the rate of change may also be referred to as a difference rate.

[0051] Based on the rate of change, the processing unit 12 evaluates the solution finding performance when the general parameter value is used for the evaluation problem. For example, the processing unit 12 evaluates the solution finding performance based on a comparison between the rate of change and a predetermined reference value. For example, in the case where the rate of change is less than the reference value, the processing unit 12 evaluates that the solution finding performance is insufficient. In the case where the rate of change is equal to or greater than the reference value, the processing unit 12 evaluates that the solution finding performance is sufficient.

[0052] Insufficient solution search performance means that the general parameter values ​​are not suitable for the evaluation problem. Therefore, in the case of insufficient solution search performance, the processing unit 12 determines to obtain a dedicated parameter value dedicated to the evaluation problem. Sufficient solution search performance means that the general parameter values ​​are suitable for the evaluation problem. Therefore, in the case of sufficient solution search performance, the processing unit 12 determines not to obtain a dedicated parameter value.

[0053] The reference value is predetermined. The reference value may be pre-specified by a user. Alternatively, the processing unit 12 may obtain, for each of a plurality of training problems, an energy history obtained by performing a solution search to obtain a common parameter value, and calculate a reference value based on the energy history obtained. For example, the processing unit 12 may obtain the same rate of change as described above for each training problem based on the energy history obtained by searching for a solution to each training problem regarding a common parameter value, and may use the median of the rate of change for each training problem as a reference value. When compared with the rate of change, the processing unit 12 may multiply the reference value by a variable d (d<1) to set a performance level to be accepted.

[0054] When it is determined not to acquire the dedicated parameter value, the processing unit 12 outputs the first solution obtained by the solution search using the universal parameter value. The solution search for the evaluation problem ends.

[0055] In contrast, when determining to acquire a dedicated parameter value, the processing unit 12 performs a solution search using each of the plurality of parameter candidate values, and acquires the dedicated parameter value based on a result of performing the solution search for each of the plurality of parameter candidate values.

[0056] The time for the solution search using each of the plurality of parameter candidate values ​​may be made shorter than the time for the solution search using the dedicated parameter value. For example, the processing unit 12 may select as the dedicated parameter value a parameter candidate value that reaches the lowest energy as a result of performing the solution search using each of the plurality of parameter candidate values ​​for a certain time. Alternatively, the processing unit 12 may evaluate the parameter candidate value higher if the parameter candidate value reaches a lower energy in a shorter time, and select the parameter candidate value with the highest evaluation as the dedicated parameter value.

[0057] The processing unit 12 performs a solution search using the dedicated parameter value, and outputs a second solution obtained by the solution search using the dedicated parameter value. The solution search for the evaluation problem ends.

[0058] As described above, according to the data processing device 10, a solution search is performed using a first parameter value based on an evaluation function. A first index value of a value of an evaluation function calculated by the evaluation function is obtained. A second index value of a value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of a solution search to an end time point of the time period of a solution search is obtained. Based on the first index value and the second index value, a rate of change indicating a degree of difference between the first index value and the second index value is calculated. Solution search performance in the case of using the first parameter value for a problem represented by the evaluation function is evaluated based on the rate of change.

[0059] Therefore, the data processing device 10 can effectively evaluate the parameter value. The processing unit 12 can output the evaluation result of the solution finding performance when the first parameter value is used for the corresponding problem. For example, as a result, the data processing device 10 can support the user to confirm whether the first parameter value is suitable for the corresponding problem. The above-mentioned general parameter value is an example of the first parameter value.

[0060] In the solution search for a combinatorial optimization problem, there is a case where a general parameter value (e.g., a general parameter value) is obtained in advance based on the execution results of the solution search for an existing problem, and the general parameter value is used to search for a solution for a new problem. However, the general parameter value is not necessarily useful for all problems. Depending on the problem, sufficient solution search performance may not be obtained using the general parameter value. In contrast, it is also conceivable to obtain a parameter value suitable for each problem. However, in the acquisition of the parameter value, for example, the following processing is performed: for example, a solution search is performed for a predetermined time using each of a plurality of candidate values ​​of the parameter and each candidate value is evaluated based on the execution results. For this reason, it is inefficient to obtain parameter values ​​for a new problem whenever the problem arises.

[0061] By using a common parameter value as the first parameter value to be evaluated, the data processing device 10 can efficiently perform solution search as follows.

[0062] For example, when it is evaluated based on the change rate that the solution search performance when using general parameter values ​​is sufficient, the data processing device 10 can adopt the solution searched by using the general parameter values ​​as the solution to the corresponding problem as it is, and can omit the acquisition of dedicated parameter values.

[0063] The data processing device 10 can narrow down the problem of acquiring the dedicated parameter value to the case where the solution search performance in the case of using the general parameter value is evaluated as insufficient. For this reason, the data processing device 10 does not have to acquire the dedicated parameter value for each problem. In the case where the solution search performance is insufficient when using the general parameter value, the data processing device 10 acquires the dedicated parameter value, so that the solution search can be performed using the dedicated parameter value instead of the general parameter value, and the solution search performance for the corresponding problem is improved.

[0064] [Second embodiment]

[0065] Next, a second embodiment will be described.

[0066] Figure 2 is a diagram showing a hardware example of a data processing device according to the second embodiment.

[0067] The data processing device 100 performs a solution search for a combinatorial optimization problem. The combinatorial optimization problem is formulated by an energy function of equation (1). The data processing device 100 searches for a solution corresponding to the combinatorial optimization problem by performing the SA method or the like based on the energy function.

[0068] The data processing device 100 includes a processor 101, a RAM 102, an HDD 103, a GPU 104, an input interface 105, a medium reader 106, a communication interface 107, and an accelerator card 108. These units included in the data processing device 100 are coupled to a bus inside the data processing device 100. The processor 101 corresponds to the processing unit 12 in the first embodiment. The RAM 102 or the HDD 103 corresponds to the storage unit 11 in the first embodiment.

[0069] The processor 101 is an arithmetic device that executes the instructions of the program. For example, the processor 101 is a CPU. The processor 101 loads at least a part of the program or data stored in the HDD 103 into the RAM 102 and executes the program. The processor 101 may include a plurality of processor cores. The data processing device 100 may have a plurality of processors. The processing to be described below may be performed in parallel by using a plurality of processors or processor cores. A collection of a plurality of processors may be referred to as a "multiprocessor" or simply a "processor".

[0070] The RAM 102 is a volatile semiconductor memory that temporarily stores programs to be executed by the processor 101 and data to be used for arithmetic operations by the processor 101. The data processing apparatus 100 may include a memory of a different type than the RAM, and may include a plurality of memories.

[0071] HDD 103 is a nonvolatile storage device that stores data and software programs such as an operating system (OS), middleware, and application software. Data processing apparatus 100 may include other types of storage devices such as flash memory or a solid state drive (SSD), and may include multiple nonvolatile storage devices.

[0072] The GPU 104 outputs an image to a display 51 coupled to the data processing apparatus 100 according to an instruction from the processor 101. As the display 51, any type of display may be used, such as a cathode ray tube (CRT) display, a liquid crystal display (LCD), a plasma display, or an organic electroluminescent (OEL) display.

[0073] The input interface 105 acquires an input signal from an input device 52 coupled to the data processing apparatus 100, and outputs the input signal to the processor 101. As the input device 52, a pointing device such as a mouse, a touch panel, a touch pad or a trackball, a keyboard, a remote controller, a button switch, etc. can be used. Various types of input devices can be coupled to the data processing apparatus 100.

[0074] The medium reader 106 is a reading device that reads the program and data recorded in the recording medium 53. As the recording medium 53, for example, a magnetic disk, an optical disk, a magneto-optical (MO) disk, a semiconductor memory, etc. can be used. The magnetic disk includes a floppy disk (FD) and an HDD. The optical disk includes a compact disk (CD) and a digital versatile disk (DVD).

[0075] For example, the medium reader 106 copies the program or data read from the recording medium 53 to another recording medium such as the RAM 102 or the HDD 103. For example, the read program is executed by the processor 101. The recording medium 53 may be a portable recording medium and may be used to distribute the program and data. The recording medium 53 and the HDD 103 may be referred to as computer-readable recording media.

[0076] Communication interface 107 is coupled to network 54 and communicates with another information processing device via network 54. Communication interface 107 may be a wired communication interface coupled to a wired communication device such as a switch or router, or may be a wireless communication interface coupled to a wireless communication device such as a base station or access point.

[0077] The accelerator card 108 is a hardware accelerator for executing the SA method based on the energy function of the Ising model. The accelerator card 108 can use algorithms other than the SA method to perform solution search. The accelerator card 108 includes a processor 108a and a RAM 108b. For example, the processor 108a is a CPU, a GPU, a FPGA, an ASIC, etc. According to the instruction from the processor 101, the processor 108a executes the SA method and returns the solution obtained by the search. The RAM 108b is a memory for storing data to be used for the processing performed by the processor 108a. For example, the SA method is executed using parameter values ​​such as the maximum temperature value and the minimum temperature value. The values ​​of these parameters are input to the accelerator card 108 by the processor 101 and stored in the RAM 108b.

[0078] A device, such as accelerator card 108 or data processing device 100, that performs solution search for a problem represented by an Ising-type energy function (eg, the Ising problem) is referred to as an Ising machine.

[0079] Figure 3 is a diagram showing an example of the functions of a data processing device.

[0080] The data processing device 100 includes a storage unit 110, a training question input unit 120, a general parameter search unit 130, a reference value calculation unit 135, an evaluation question input unit 140, a difficulty level calculation unit 145, solution search units 150 and 180, a general parameter performance evaluation unit 160, a dedicated parameter search unit 170 and a solution output unit 190.

[0081] The storage area of ​​the RAM 102 or the HDD 103 is used for the storage unit 110. The program stored in the RAM 102 is executed by the processor 101, thereby realizing the training question input unit 120, the general parameter search unit 130, the reference value calculation unit 135, the evaluation question input unit 140, the difficulty level calculation unit 145, the solution search units 150 and 180, the general parameter performance evaluation unit 160, the dedicated parameter search unit 170, and the solution output unit 190.

[0082] The storage unit 110 stores data of training problems and evaluation problems. The training problem is a combinatorial optimization problem for general parameter search. A plurality of training problems are prepared in advance. The evaluation problem is a combinatorial optimization problem that the user wants to solve.

[0083] The training problem input unit 120 acquires data of the training problem stored in the storage unit 110 and inputs the data to the general parameter search unit 130 and the reference value calculation unit 135. The data of the training problem may include information such as an Ising-type energy function indicating the training problem and an initial solution for solution search.

[0084] The general parameter search unit 130 performs a general parameter search. The general parameter search is a process of obtaining a general parameter value by using a training question. According to the SA method, the general parameter value to be obtained is, for example, two or one of a maximum temperature value and a minimum temperature value. In the case where there are multiple types of parameters such as a maximum temperature and a minimum temperature, the general parameter value to be obtained is a set of values ​​of these parameters. The same applies to the dedicated parameter values ​​described below.

[0085] First, the general parameter search unit 130 obtains multiple candidate values ​​of the corresponding parameter. For example, the general parameter search unit 130 can obtain multiple candidate values ​​in a round-robin manner from a predetermined candidate value range through a grid search. Alternatively, the general parameter search unit 130 can randomly obtain multiple candidate values ​​from a predetermined candidate value range through a random search.

[0086] The general parameter search unit 130 inputs the candidate values ​​of the parameter and the data of the training problem to the accelerator card 108, so that the accelerator card 108 performs a solution search for a specific time and obtains an energy update history in the solution search. For multiple training problems, the general parameter search unit 130 obtains the energy reached and the time to reach the energy for each candidate value, and evaluates each candidate value so that when the candidate value reaches a lower energy in a shorter time, the evaluation becomes higher. The general parameter search unit 130 selects the candidate value with the highest evaluation as the general parameter value, and stores the selected general parameter value in the storage unit 110.

[0087] The reference value calculation unit 135 calculates a reference value based on the energy update history in the solution search obtained in the general parameter search. The reference value calculation is a process of obtaining a reference value for measuring the solution search performance of the solution search when the general parameter value is used for the evaluation problem. The reference value calculation unit 135 inputs the calculated reference value to the general parameter performance evaluation unit 160.

[0088] The evaluation problem input unit 140 acquires the data and the universal parameter values ​​of the evaluation problem stored in the storage unit 110, and inputs the data and the universal parameter values ​​to the solution search unit 150. The data of the evaluation problem may include information such as an Ising-type energy function indicating the evaluation problem and an initial solution for solution search. The evaluation problem input unit 140 inputs information about the number (number of bits) of state variables in the evaluation problem, the constraint type, and the number of constraints to the difficulty level calculation unit 145. The evaluation problem input unit 140 inputs the energy of the theoretical solution of the evaluation problem to the universal parameter performance evaluation unit 160.

[0089] In the case where it is determined to perform the dedicated parameter search, the evaluation question input unit 140 inputs data of the evaluation question to the dedicated parameter search unit 170 and the solution search unit 180 based on the performance evaluation of the general parameter performance evaluation unit 160 .

[0090] The difficulty level calculation unit 145 calculates the difficulty level of the evaluation problem based on the number of bits in the evaluation problem, the constraint type, and the number of constraints. The constraint is represented as a constraint term in an Ising type energy function. The number of constraints corresponds to the number of constraint terms representing the corresponding constraint type. Examples of constraint types include unidirectional unique hot constraints, bidirectional unique hot constraints, and the like.

[0091] For example, the difficulty level calculation unit 145 sets the difficulty level of the problem higher as the number of bits or the number of constraints of the evaluation problem increases. As an example, in the case where there are two types of constraints such as constraint 1 and constraint 2, the difficulty level calculation unit 145 can calculate the difficulty level of the problem by the following equation (3).

[0092] Difficulty level of the problem = b1×(number of bits in the evaluation problem)+b2×(number of constraints 1)+b3×(number of constraints 2)...(3)

[0093] Alternatively, the difficulty level calculation unit 145 may calculate the difficulty level of the question by using the following equation (4).

[0094] Difficulty level of the problem = b × (number of bits in the evaluation problem) + (number of constraints 1) × (number of constraints 2) ... (4)

[0095] b1, b2, and b3 in equation (3) and b in equation (4) are pre-given coefficients. b1, b2, b3, and b are positive real numbers.

[0096] Alternatively, a table indicating a correspondence relationship of difficulty levels with respect to a set of the number of bits in a problem, the number of constraints 1, and the number of constraints 2 may be pre-stored in the storage unit 110. For example, the table stores patterns such as a pattern in which the difficulty level of a problem is set to v when the number of bits is equal to or less than c1, the number of constraints 1 is equal to or less than c2, and the number of constraints 2 is equal to or less than c3. In this case, the difficulty level calculation unit 145 may search the table for a pattern that satisfies the conditions of the number of bits of the evaluation problem, the number of constraints 1, and the number of constraints 2, and may acquire the difficulty level of the evaluation problem.

[0097] The difficulty level calculation unit 145 inputs the difficulty level of the evaluation question to the general parameter performance evaluation unit 160 .

[0098] The solution search unit 150 inputs the data of the evaluation problem and the universal parameter value to the accelerator card 108, and causes the accelerator card 108 to perform a solution search for the evaluation problem. The solution search unit 150 obtains the energy update history and the searched solution in the solution search from the accelerator card 108. The solution search unit 150 outputs the energy update history to the universal parameter performance evaluation unit 160.

[0099] The general parameter performance evaluation unit 160 performs general parameter performance evaluation. The general parameter performance evaluation is a process of evaluating solution search performance of a solution search in the case of using a general parameter value.

[0100] First, the general parameter performance evaluation unit 160 obtains a first index value of energy calculated by the energy function of the evaluation problem. Based on the energy update history, the general parameter performance evaluation unit 160 obtains a second index value of energy obtained in a first time period from a time point after the start time point of the solution search time period to an end time point of the solution search time period. Next, the general parameter performance evaluation unit 160 calculates a change rate indicating the degree of difference between the first index value and the second index value. Based on a comparison between the change rate and the reference value calculated by the reference value calculation unit 135, the general parameter performance evaluation unit 160 determines whether the solution search performance in the case of using the general parameter value is sufficient for the evaluation problem.

[0101] In the case where it is determined that the solution search performance is sufficient, the general parameter performance evaluation unit 160 outputs the determination result to the solution output unit 190. In the case where it is determined that the solution search performance is insufficient, the general parameter performance evaluation unit 160 instructs the dedicated parameter search unit 170 to perform a dedicated parameter search.

[0102] The dedicated parameter search unit 170 performs a dedicated parameter search. The dedicated parameter search is a process of obtaining a dedicated parameter value for an evaluation problem. The dedicated parameter search unit 170 inputs the candidate values ​​of the dedicated parameter and the data of the evaluation problem to the accelerator card 108, causes the accelerator card 108 to perform a solution search for a specific time, and obtains an energy update history in the solution search. For each candidate value among a plurality of candidate values, the dedicated parameter search unit 170 causes the accelerator card 108 to perform a solution search for the evaluation problem. The dedicated parameter search unit 170 obtains the energy reached and the time to reach the energy for each candidate value, and evaluates each candidate value so that when the candidate value reaches a lower energy in a shorter time, the evaluation becomes higher. The dedicated parameter search unit 170 selects the candidate value with the highest evaluation as the dedicated parameter value, and outputs it to the solution search unit 180.

[0103] The solution search unit 180 inputs the data of the evaluation problem and the dedicated parameter value to the acceleration card 108, and causes the acceleration card 108 to perform a solution search for the evaluation problem. The solution search unit 180 obtains the solution searched by the solution search from the acceleration card 108. The solution search unit 180 outputs the obtained solution to the solution output unit 190.

[0104] In the case where the general parameter performance evaluation unit 160 determines that the solution search performance using the general parameter value is sufficient, the solution output unit 190 obtains a solution from the solution search unit 150 and outputs the solution. In the case where it is determined that the solution search performance using the general parameter value is insufficient, the solution output unit 190 obtains a solution from the solution search unit 180 and outputs the solution.

[0105] For example, the solution output unit 190 may cause the display 51 to display an image representing the solution to the evaluation problem, or may transmit data regarding the solution to another computer via the network 54 .

[0106] Although the general parameter search unit 130, the solution search units 150 and 180, and the dedicated parameter search unit 170 cause the acceleration card 108 to perform a solution search, this function of the solution search may be implemented by executing a program by the processor 101. In this case, the data processing device 100 may not include the acceleration card 108.

[0107] An example of energy update history obtained through solution search with respect to the evaluation problem will be described.

[0108] Figure 4 is a diagram showing a first example of the relationship between time and energy in a solution search.

[0109] Graph 200 shows the relationship between time and energy indicated in the energy update history. The horizontal axis of graph 200 indicates time. The vertical axis of graph 200 indicates energy reached by solution search. For example, the time of solution search is pre-specified, for example, the time from the start time point to the end time point of solution search.

[0110] For example, when the energy change rate calculated by the following equation (5) based on the energy of the first half m% part and the second half n% part of the energy update history is less than the reference value, the general parameter performance evaluation unit 160 evaluates that sufficient solution search performance is not obtained. m≤n is satisfied.

[0111] Energy change rate = (median value of energy of the first half m% part - median value of energy of the second half n% part) / (median value of energy of the first half m% part) ... (5)

[0112] However, in the case where an initial solution for solution search is obtained by preprocessing using another solution search method or the like, the general parameter performance evaluation unit 160 may use the following equation (6).

[0113] Energy change rate = (energy of the initial solution - median of the energy of the second half n%) / (energy of the initial solution) ... (6)

[0114] In the case where the energy of the theoretical solution is known in advance, the general parameter performance evaluation unit 160 may use the difference rate represented by the following equation (7) as the change rate.

[0115] Energy difference rate = (energy of theoretical solution - median of energy of the last n% part) / energy of theoretical solution... (7)

[0116] The energy of the theoretical solution may be the energy of a local solution, the energy of an optimal solution, or the energy of a solution other than these.

[0117] The reference value calculation unit 135 pre-calculates the reference value based on the energy update history of the general parameter search using the training problem by using an equation similar to the change rate or difference rate used by the general parameter performance evaluation unit 160. For example, the reference value calculation unit 135 can obtain the same change rate as described above for each training problem based on the energy history obtained by searching for a solution for each training problem with respect to the general parameter value, and can use the median value of the change rate for each training problem as the reference value.

[0118] When comparing with the rate of change, the general parameter performance evaluation unit 160 may multiply the reference value by a variable d (d<1) to set a performance level to be accepted.

[0119] The general parameter performance evaluation unit 160 may also perform evaluation of solution finding performance for general parameter values ​​based on the difficulty level of the evaluation question. Next, an evaluation example of solution finding performance using the difficulty level of the evaluation question will be described.

[0120] Figure 5 is a diagram showing a second example of the relationship between time and energy in a solution search.

[0121] Graph 300 shows the relationship between time and energy indicated in the energy update history. The horizontal axis of graph 300 indicates time. The vertical axis of graph 300 indicates energy reached by solution search. Based on the energy update history, the general parameter performance evaluation unit 160 obtains the time T0 from the start time point of the solution search to the last update time of the energy.

[0122] When the time T0 is short relative to the difficulty level of the evaluation problem, the general parameter performance evaluation unit 160 can evaluate that the solution search performance is sufficient. For example, when the condition time T0 < a × (difficulty level of the problem) is satisfied, the general parameter performance evaluation unit 160 can evaluate that the solution search performance is sufficient. "a" is a pre-given coefficient. "a" is a positive real number. In this case, the general parameter performance evaluation unit 160 evaluates that the solution search performance is insufficient when the time T0 ≥ a × (difficulty level of the problem).

[0123] When the solution search performance is not determined to be sufficient by the comparison between the change rate and the reference value, the general parameter performance evaluation unit 160 can perform the evaluation of the solution search performance based on the comparison between the difficulty level of the problem and the time T0. Alternatively, when the solution search performance is not determined to be sufficient by the comparison between the difficulty level of the problem and the time T0, the general parameter performance evaluation unit 160 can perform the evaluation of the solution search performance based on the comparison between the change rate and the reference value.

[0124] Next, the processing procedure of the data processing apparatus 100 will be described.

[0125] Figure 6 is a flowchart showing a processing example of the data processing apparatus.

[0126] (S10) The training problem input unit 120 acquires the data of the training problem from the storage unit 110 and inputs the data to the general parameter search unit 130.

[0127] (S11) The general parameter search unit 130 performs a general parameter search. For example, the general parameter search unit 130 inputs the candidate values of the general parameters and the data of the training problem to the acceleration card 108, causes the acceleration card 108 to perform a solution search for a specific time, and obtains the energy update history during the solution search. For a plurality of training problems, the general parameter search unit 130 acquires the achieved energy and the time to reach that energy for each candidate value, and evaluates each candidate value such that the evaluation becomes higher when the candidate value reaches a lower energy in a shorter time. The general parameter search unit 130 selects the candidate value with the highest evaluation as the general parameter value and stores the selected general parameter value in the storage unit 110.

[0128] (S12) The reference value calculation unit 135 calculates a reference value based on the energy update history during the solution search obtained in the general parameter search, and stores the reference value in the storage unit 110. The reference value is used for the evaluation of the solution search performance in the general parameter performance evaluation unit 160.

[0129] (S13) The evaluation problem input unit 140 obtains the data of the evaluation problem and the general parameter values from the storage unit 110, and inputs the data and the general parameter values into the solution search unit 150. The evaluation problem input unit 140 inputs the data of the evaluation problem into the difficulty calculation unit 145.

[0130] (S14) The solution search unit 150 inputs the data of the evaluation problem and the general parameter values into the acceleration card 108, and causes the acceleration card 108 to perform a solution search for the evaluation problem. The solution search unit 150 obtains the energy update history and the searched solution in the solution search from the acceleration card 108.

[0131] (S15) The difficulty level calculation unit 145 calculates the difficulty level of the evaluation problem based on the data of the evaluation problem. The difficulty level is used for the evaluation of the solution search performance in the general parameter performance evaluation unit 160. For example, the difficulty level is calculated using equation (3) or (4). However, equations (3) and (4) may be changed according to the number of constraint terms of each constraint type.

[0132] (S16) The general parameter performance evaluation unit 160 performs a general parameter performance evaluation. In the general parameter performance evaluation, the general parameter performance evaluation unit 160 obtains a first index value of the energy calculated by the energy function of the evaluation problem. Based on the energy update history, the general parameter performance evaluation unit 160 obtains a second index value of the energy obtained in a first time period from a time point after the start time point of the solution search period to the end time point of the solution search period. The general parameter performance evaluation unit 160 calculates a change rate by dividing the difference between the first index value and the second index value by the first index value. For example, the change rate is calculated using any one of equations (5), (6), and (7).

[0133] By comparing the change rate with the reference value calculated by the reference value calculation unit 135, the general parameter performance evaluation unit 160 evaluates whether the solution search performance is sufficient. For example, the general parameter performance evaluation unit 160 evaluates that the solution search performance is sufficient when the change rate is equal to or greater than the reference value, and does not evaluate that the solution search performance is sufficient when the change rate is less than the reference value.

[0134] In the case where the solution search performance is not evaluated as sufficient by this comparison, the general parameter performance evaluation unit 160 evaluates the solution search performance based on the comparison between the difficulty level of the problem and the above time T0. For example, when the time T0 < a × (the difficulty level of the problem) is satisfied, the general parameter performance evaluation unit 160 evaluates that the solution search performance is sufficient. When the time T0 ≥ a × (the difficulty level of the problem), the general parameter performance evaluation unit 160 evaluates that the solution search performance is insufficient.

[0135] (S17) The general parameter performance evaluation unit 160 determines whether sufficient performance is evaluated to be obtained by at least one of the following methods: a method of evaluating solution search performance by comparing the change rate with a reference value, and a method of evaluating solution search performance by comparing the difficulty level of the problem with the time T0. In the case where sufficient performance is evaluated to be obtained by at least one of the methods, the process proceeds to step S20. In the case where sufficient performance is not evaluated to be obtained by any of the methods, the process proceeds to step S18.

[0136] (S18) The dedicated parameter search unit 170 performs a dedicated parameter search. The dedicated parameter search unit 170 inputs the candidate values ​​of the dedicated parameter and the data of the evaluation problem to the accelerator card 108, causes the accelerator card 108 to perform a solution search for a specific time, and obtains the energy update history in the solution search. For each candidate value among the multiple candidate values, the dedicated parameter search unit 170 causes the accelerator card 108 to perform a solution search for the evaluation problem. The dedicated parameter search unit 170 obtains the energy reached and the time to reach the energy for each candidate value, and evaluates each candidate value so that when the candidate value reaches a lower energy in a shorter time, the evaluation becomes higher. The dedicated parameter search unit 170 selects the candidate value with the highest evaluation as the dedicated parameter value.

[0137] (S19) The solution search unit 180 inputs the data of the evaluation problem and the dedicated parameter value to the acceleration card 108, and causes the acceleration card 108 to perform a solution search for the evaluation problem. The solution search unit 180 acquires the solution searched by the solution search from the acceleration card 108.

[0138] (S20) The solution output unit 190 outputs the solution acquired by the solution search unit 150 or the solution acquired by the solution search unit 180 as a final solution to the evaluation problem. The processing of the data processing device 100 ends.

[0139] As described above, the general parameter performance evaluation unit 160 determines whether to perform a dedicated parameter search for the corresponding evaluation problem based on the evaluation of the solution search performance by comparing the rate of change with the reference value. In step S16, the general parameter performance evaluation unit 160 may evaluate the solution search performance not based on the difficulty level of the evaluation problem. In this case, in step S17, when the rate of change is equal to or greater than the reference value, the general parameter performance evaluation unit 160 evaluates that the solution search performance is sufficient, for example, sufficient performance is obtained. In contrast, when the rate of change is less than the reference value, the general parameter performance evaluation unit 160 evaluates that the solution search performance is insufficient, for example, sufficient performance is not obtained.

[0140] Next, a comparative example will be described. The comparative example is a case where the functions of the reference value calculation unit 135, the difficulty level calculation unit 145, the general parameter performance evaluation unit 160, the dedicated parameter search unit 170, the solution search unit 180, and the solution output unit 190 are not used.

[0141] Figure 7 is a flowchart showing a comparative example.

[0142] ( S30 ) The training question input unit 120 inputs the data of the training question to the general parameter search unit 130 .

[0143] (S31) The general parameter search unit 130 acquires the general parameter. A process similar to the above-described general parameter search is performed in the general parameter acquisition. However, in step S31, the general parameter search unit 130 performs a solution search for one candidate value of the target parameter using the accelerator card 108 for a certain time.

[0144] ( S32 ) The general parameter search unit 130 acquires the energy update history from the acceleration card 108 , and evaluates candidate values ​​of the parameter based on the energy update history.

[0145] (S33) The general parameter search unit 130 determines whether to end the parameter search, for example, whether to end the repetition of the processing in steps S31 and S32. In the case where the parameter search is ended, the process proceeds to step S34. In the case where the parameter search is not ended, the process proceeds to step S31. For example, when the evaluation of all candidate values ​​is completed using all training questions, the general parameter search unit 130 determines to end the parameter search. Otherwise, the general parameter search unit 130 determines not to end the parameter search, and proceeds to step S31 to perform processing on the combination of the training questions and candidate values ​​that have not been executed.

[0146] (S34) The general parameter search unit 130 outputs the general parameter value.

[0147] ( S35 ) The evaluation question input unit 140 inputs the data of the evaluation question and the general parameter value to the solution searching unit 150 .

[0148] (S36) The solution search unit 150 inputs the data of the evaluation problem and the general parameter value to the acceleration card 108, and causes the acceleration card 108 to perform a solution search with respect to the evaluation problem. The solution search unit 150 acquires the obtained solution from the acceleration card 108.

[0149] (S37) The solution search unit 150 outputs the acquired solution. The processing of the comparative example ends.

[0150] As in the method of the comparative example, it is also conceivable to use a common parameter value for all evaluation problems. However, a common parameter value is not necessarily suitable for all evaluation problems. For example, the following experiment has been performed.

[0151] In the experiments, a solution search for all 134 problems of the standard benchmark "QAP-LIB" with known solutions was performed. RE Burkard, SE Karisch and F. Rendl, "Qaplib - a quadratic assignment problem library", Journal of Global Optimization, Vol. 10, No. 4, pp. 391-403, 1997, which served as a reference for QAP-LIB.

[0152] By using 10 problems in QAP-LIB as training problems, universal parameter values ​​were obtained through 1000 universal parameter searches with a single search time of 30 seconds. By using the universal parameter values, solution searches were performed for all 134 problems within an evaluation time of 60 seconds, and performance evaluation was performed based on the rate of change of the obtained energy.

[0153] As a result, for 125 problems whose performance was determined to be sufficient, the gap of the solution was 0.047%, and the reaching rate of the solution was 93.6% (117 / 125). In contrast, for 9 problems whose performance was determined to be insufficient, the gap of the solution was 0.303%, and the reaching rate of the solution was 33.3% (3 / 9), which was poor. According to this experiment, it has been confirmed that whether the solution search performance is sufficient can be correctly determined based on the change rate.

[0154] According to the method of the comparative example, for some problems as described above, there is a possibility that a suitable solution may not be obtained. Therefore, a dedicated parameter search was performed for 300 seconds (30 seconds × 10 times) for each of the 9 problems whose performance was determined to be insufficient, and a solution search was performed using the dedicated parameter values ​​obtained by the dedicated parameter search. As a result, for these 9 problems, the solution gap improved to 0.216%, and the solution achievement rate improved to 77.8% (7 / 9). For example, in Tai80a, one of the 9 problems, the energy achieved within the evaluation time of 60 seconds by using the dedicated parameter values ​​was not achieved even after one hour by using the general parameter values.

[0155] As described above, the data processing device 100 uses the rate of change or the rate of difference of energy to evaluate the solution search performance. Each of these rates of change and rates of difference can be easily obtained from the energy update history in the solution search. For this reason, the data processing device 100 can efficiently evaluate the solution search performance when the corresponding parameter value is used for the evaluation problem.

[0156] By performing performance evaluation using the rate of change or difference of energy or the difficulty level, the data processing device 100 can reduce the execution time of solution search by performing a dedicated parameter search by narrowing down to problems where performance is insufficient when using general parameter values. In this way, the data processing device 100 can efficiently perform solution search.

[0157] As described above, the data processing device 100 executes, for example, the following processing.

[0158] Based on the evaluation function, the accelerator card 108 performs a solution search using a first parameter value. The solution search may be performed by the processor 101. The processor 101 obtains a first index value of the value of the evaluation function calculated by the evaluation function. The processor 101 obtains a second index value of the value of the evaluation function obtained in a first time period from a time point after a start time point of the time period of the solution search to an end time point of the time period of the solution search. Based on the first index value and the second index value, the processor 101 calculates a rate of change indicating a degree of difference between the first index value and the second index value. Based on the rate of change, the processor 101 evaluates the solution search performance when the first parameter value is used for a problem (evaluation problem) represented by a corresponding evaluation function.

[0159] Therefore, the data processing device 100 can efficiently perform the evaluation of the parameter value. In the case where there are multiple types of parameters for solution search, the first parameter value is a set of values ​​of the multiple types of parameters. For example, in the case where the solution search is performed by the SA method, the first parameter value may be one or both of the maximum temperature value and the minimum temperature value. In the case where the solution search is performed by a method other than the SA method, the first parameter value may be a parameter value of a type other than the maximum temperature value and the minimum temperature value.

[0160] By using multiple reference values, the general parameter performance evaluation unit 160 can perform the evaluation of the solution search performance in multiple stages of three or more stages according to the comparison between the rate of change and each of the multiple reference values. For example, the general parameter performance evaluation unit 160 can perform the evaluation of the solution search performance by using a first reference value and a second reference value greater than the first reference value. For example, in the case where the rate of change is greater than the second reference value, the general parameter performance evaluation unit 160 can evaluate that the solution search performance is higher than the standard solution search performance. In the case where the rate of change is equal to or greater than the first reference value and less than the second reference value, the general parameter performance evaluation unit 160 can evaluate that the solution search performance is the standard solution search performance. In the case where the rate of change is less than the first reference value, the general parameter performance evaluation unit 160 can evaluate that the solution search performance is lower than the standard solution search performance. By outputting such an evaluation result, the general parameter performance evaluation unit 160 can support the user to confirm the evaluation result of the solution search performance using the first parameter value.

[0161] For example, the evaluation function may be an energy function of the Ising model.The evaluation function may be another type of function used for problem representation.

[0162] For example, the processor 101 calculates the change rate by dividing the difference between the first index value and the second index value by the first index value. Therefore, the data processing device 100 can easily obtain the change rate.

[0163] The processor 101 can obtain the median value of the value of the evaluation function obtained in the first time period as the second index value. Therefore, the data processing device 100 can easily obtain the second index value. However, the second index value can be another statistical value, such as the average value, minimum value or percentile value of the value of the evaluation function obtained in the first time period.

[0164] The processor 101 can obtain the median value of the evaluation function values ​​obtained in the second time period earlier than the first time period starting from the start time point of the solution search as the first index value. Therefore, the data processing device 100 can easily obtain the first index value.

[0165] The processor 101 may acquire the value of the evaluation function corresponding to the initial solution in the solution search for the evaluation problem as the first index value. Therefore, the data processing device 100 may easily acquire the first index value.

[0166] The processor 101 can obtain the value of the evaluation function corresponding to the predetermined solution pre-calculated about the evaluation function as the first index value. Therefore, the data processing device 100 can easily obtain the first index value. The predetermined solution can be a local solution, an optimal solution, or any solution other than these.

[0167] For example, the processor 101 compares the rate of change with a predetermined reference value in the evaluation of the solution search performance. When the rate of change is less than the reference value, the processor 101 determines that the solution search performance is insufficient. In contrast, when the rate of change is equal to or greater than the reference value, the processor 101 determines that the solution search performance is sufficient. Therefore, the data processing device 100 can efficiently perform the evaluation of the parameter value. The reference value can be pre-specified by the user. As described above, when the rate of change is compared with the reference value, the processor 101 can compare the value obtained by multiplying the reference value by a variable value (coefficient value) less than 1 with the rate of change.

[0168] The processor 101 may calculate the rate of change by dividing the absolute value of the difference between the first index value and the second index value by the first index value. In this case, when the value of the evaluation function corresponding to the optimal solution is used as the first index value, the processor 101 may evaluate the solution search performance as follows. For example, the processor 101 may determine that the solution search performance is insufficient when the rate of change is greater than a reference value. In contrast, the processor 101 may determine that the solution search performance is sufficient when the rate of change is equal to or less than the reference value.

[0169] The first parameter value may be a general parameter value used for a plurality of problems in a general manner. In this case, when the solution search performance is insufficient, the processor 101 determines to obtain a second parameter value (dedicated parameter value) dedicated to the evaluation problem. When the solution search performance is sufficient, the processor 101 determines not to obtain the second parameter value. Therefore, the data processing device 100 can narrow down the problem for which the second parameter value is to be obtained. As a result, the data processing device 100 can efficiently perform the solution search. The second parameter value is a parameter value of the same type as the first parameter value. In the case where there are multiple types of parameters for solution search, the second parameter value is a set of values ​​of these multiple types of parameters.

[0170] The processor 101 can obtain the history of the value of the evaluation function obtained by the solution search performed to obtain the first parameter value for each of the plurality of training problems, and calculate the reference value based on the history of the obtained value of the evaluation function. Therefore, the data processing device 100 can omit the work of specifying the reference value by the user. By automatically setting the reference value in the data processing device 100, the user no longer needs to understand the problem, and the user can easily use the solution search function of the data processing device 100.

[0171] When it is determined not to acquire the second parameter value, the processor 101 outputs the first solution obtained by the solution search using the first parameter value. In contrast, when it is determined to acquire the second parameter value, the processor 101 performs a solution search using each of the plurality of parameter candidate values, and acquires the second parameter value based on the result of performing the solution search for each of the plurality of parameter candidate values. The processor 101 performs a solution search using the second parameter value, and outputs the second solution obtained by the solution search using the second parameter value.

[0172] Therefore, for a problem where the second parameter value may not be obtained, the data processing device 100 may omit the acquisition of the second parameter value and efficiently obtain the first solution. For a problem where the second parameter value is to be obtained, the data processing device 100 may efficiently obtain a second solution that is more suitable for the problem than the first solution. As described above, the processor 101 may perform a solution search by using a search unit such as the accelerator card 108.

[0173] The processor 101 can evaluate the solution search performance when the first parameter value is used for the problem (evaluation problem) based on the difficulty level of the problem (evaluation problem) and the time T0 from the start time point of the solution search period to the time when the value of the evaluation function is last updated. Therefore, the data processing device 100 can perform the evaluation of the parameter value more appropriately.

[0174] For example, the processor 101 can calculate the difficulty level of the problem based on the number of state variables included in the evaluation function corresponding to the problem and the number of constraint items representing the constraints. Therefore, the data processing device 100 can efficiently calculate the difficulty level of the problem. For example, as the number of state variables is larger, the processor 101 sets the difficulty level higher. As the number of constraint items is larger, the processor 101 sets the difficulty level higher.

[0175] The information processing according to the first embodiment can be realized by causing the processing unit 12 to execute a program. The information processing according to the second embodiment can be realized by causing the processor 101 to execute a program. The program can be recorded in the computer-readable recording medium 53.

[0176] For example, the program can be circulated by distributing the recording medium 53 in which the program is recorded. The program can be stored in another computer, and the program can be distributed via a network. For example, the computer can store (install) the program recorded in the recording medium 53 or the program received from another computer in a storage device such as RAM 102 or HDD 103, read the program from the storage device, and execute the program.

[0177] The present invention can also be implemented by the following technical solutions:

[0178] Technical Solution 1. A program for causing a computer to execute a process, the process comprising:

[0179] when a solution search is performed using a first parameter value based on an evaluation function, calculating a rate of change based on a first index value of a value of an evaluation function calculated by the evaluation function and a second index value of a value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of the solution search to an end time point of the time period of the solution search, the rate of change indicating a degree of difference between the first index value and the second index value; and

[0180] Solution finding performance in the case of using the first parameter value for the problem represented by the evaluation function is evaluated based on the rate of change.

[0181] Technical Solution 2. According to the procedure described in Technical Solution 1,

[0182] Among them, the evaluation function is the energy function of the Ising model.

[0183] Technical solution 3. The program according to technical solution 1 further causes the computer to execute the following processing:

[0184] In the calculation of the change rate, the change rate is calculated by dividing the difference between the first index value and the second index value by the first index value.

[0185] Technical solution 4. The program according to technical solution 1 further causes the computer to execute the following processing:

[0186] A median value of the values ​​of the evaluation function obtained in the first time period is acquired as a second index value.

[0187] Technical solution 5. The program according to technical solution 1 further causes the computer to execute the following processing:

[0188] A median value of values ​​of the evaluation function obtained in a second time period earlier than the first time period starting from the start time point is acquired as a first index value.

[0189] Technical Solution 6. According to the procedure described in Technical Solution 1,

[0190] Here, the first index value is the value of the evaluation function corresponding to the initial solution in the solution search.

[0191] Technical Solution 7. According to the procedure described in Technical Solution 1,

[0192] The first index value is a value of the evaluation function corresponding to a predetermined solution pre-calculated for the evaluation function.

[0193] Technical solution 8. The program according to technical solution 1 further causes the computer to execute the following processing:

[0194] When evaluating the solution finding performance, the change rate is compared with a predetermined reference value, and when the change rate is less than the reference value, the solution finding performance is determined to be insufficient, and when the change rate is equal to or greater than the reference value, the solution finding performance is determined to be sufficient.

[0195] Technical Solution 9. According to the procedure described in Technical Solution 8,

[0196] wherein the first parameter value is a common parameter value used in a common manner for multiple problems, and

[0197] The program also causes the computer to perform the following processing:

[0198] It is determined to obtain a second parameter value specific to the problem if the solution search performance is insufficient, and it is determined not to obtain the second parameter value if the solution search performance is sufficient.

[0199] Technical solution 10. The program according to technical solution 9 further causes the computer to execute the following processing:

[0200] A history of values ​​of an evaluation function obtained by a solution search performed to obtain a first parameter value is acquired for each of a plurality of training problems, and a reference value is calculated based on the acquired history of values ​​of the evaluation function.

[0201] Technical solution 11. The program according to technical solution 9 further causes the computer to execute the following processing:

[0202] When it is determined not to acquire the second parameter value, outputting a first solution obtained by solution searching using the first parameter value; and

[0203] When it is determined to obtain a second parameter value, a solution search is performed using each of a plurality of parameter candidate values, the second parameter value is obtained based on the execution result of the solution search for each of the plurality of parameter candidate values, a solution search is performed using the second parameter value, and a second solution obtained by the solution search using the second parameter value is output.

[0204] Technical solution 12. The program according to technical solution 1 further causes the computer to execute the following processing:

[0205] Solution finding performance in the case where the first parameter value is used for the problem is evaluated based on the difficulty level of the problem and the time from the start time point to the time when the value of the evaluation function was last updated in the solution search.

[0206] Technical solution 13. The program according to technical solution 12 further causes the computer to execute the following processing:

[0207] The difficulty level is calculated based on the number of state variables included in the evaluation function and the number of constraint items expressing constraints.

[0208] Technical Solution 14. A data processing method, comprising:

[0209] when a solution search is performed using a first parameter value based on an evaluation function, calculating a rate of change based on a first index value of a value of an evaluation function calculated by the evaluation function and a second index value of a value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of the solution search to an end time point of the time period of the solution search, the rate of change indicating a degree of difference between the first index value and the second index value; and

[0210] Solution finding performance in the case of using the first parameter value for the problem represented by the evaluation function is evaluated based on the rate of change.

[0211] Technical Solution 15. A data processing device, comprising:

[0212] a storage unit configured to store a first parameter value for solution searching; and

[0213] A processing unit, which is configured to: when a solution search is performed using a first parameter value based on an evaluation function, calculate a change rate based on a first index value of the value of the evaluation function calculated by the evaluation function and a second index value of the value of the evaluation function obtained in a first time period from a time point after a start time point of the solution search time period to an end time point of the solution search time period, the change rate indicating the degree of difference between the first index value and the second index value; and evaluate the solution search performance when the first parameter value is used for the problem represented by the evaluation function based on the change rate.

Claims

1. A computer-readable recording medium storing a program for causing a computer to execute a process include: when a solution search is performed using a first parameter value based on an evaluation function, calculating a rate of change based on a first index value of a value of the evaluation function calculated by the evaluation function and a second index value of a value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of the solution search to an end time point of the time period of the solution search, the rate of change indicating a degree of difference between the first index value and the second index value; and Solution-finding performance when the first parameter value is used for the problem represented by the evaluation function is evaluated based on the change rate.

2. The computer-readable recording medium according to claim 1, in, The evaluation function is an energy function of the Ising model.

3. The computer-readable recording medium according to claim 1 , further causing the computer to execute the following processing: In the calculation of the change rate, the change rate is calculated by dividing the difference between the first index value and the second index value by the first index value.

4. The computer-readable recording medium according to claim 1 , further causing the computer to execute the following processing: A median value of the values ​​of the evaluation function obtained in the first time period is obtained as the second index value.

5. The computer-readable recording medium according to claim 1 , further causing the computer to execute the following processing: The median value of the values ​​of the evaluation function obtained in a second time period earlier than the first time period and starting from the start time point is obtained as the first index value.

6. The computer-readable recording medium according to claim 1, in, The first index value is a value of the evaluation function corresponding to an initial solution in the solution search.

7. The computer-readable recording medium according to claim 1, in, The first index value is a value of the evaluation function corresponding to a predetermined solution pre-calculated for the evaluation function.

8. The computer-readable recording medium according to claim 1, further causing the computer to execute the following processing: When evaluating the solution finding performance, the change rate is compared with a predetermined reference value, and when the change rate is less than the reference value, the solution finding performance is determined to be insufficient, and when the change rate is equal to or greater than the reference value, the solution finding performance is determined to be sufficient.

9. The computer-readable recording medium according to claim 8, in, The first parameter value is a common parameter value used in a common manner for multiple problems, and The program further causes the computer to execute the following processing: In the case where the solution-finding performance is insufficient, it is determined to obtain a second parameter value dedicated to the problem, and in the case where the solution-finding performance is sufficient, it is determined not to obtain the second parameter value.

10. The computer-readable recording medium according to claim 9, further causing the computer to execute the following processing: A history of values ​​of the evaluation function obtained by the solution search performed to obtain the first parameter value is obtained for each of a plurality of training problems, and the reference value is calculated based on the obtained history of values ​​of the evaluation function.

11. The computer-readable recording medium according to claim 9, further causing the computer to execute the following processing: When it is determined that the second parameter value is not to be acquired, outputting a first solution obtained by the solution search using the first parameter value; and When it is determined to obtain the second parameter value, the solution search is performed using each of a plurality of parameter candidate values, the second parameter value is obtained based on the execution result of the solution search for each of the plurality of parameter candidate values, the solution search is performed using the second parameter value, and a second solution obtained through the solution search using the second parameter value is output.

12. The computer-readable recording medium according to claim 1, further causing the computer to execute the following processing: Solution-finding performance in the case where the first parameter value is used for the problem is evaluated based on the difficulty level of the problem and the time from the start time point to the time when the value of the evaluation function was last updated in the solution search.

13. The computer-readable recording medium according to claim 12, further causing the computer to execute the following processing: The difficulty level is calculated based on the number of state variables included in the evaluation function and the number of constraint items representing constraints.

14. A data processing method, include: when a solution search is performed using a first parameter value based on an evaluation function, calculating a rate of change based on a first index value of a value of the evaluation function calculated by the evaluation function and a second index value of a value of the evaluation function obtained in a first time period from a time point after a start time point of a time period of the solution search to an end time point of the time period of the solution search, the rate of change indicating a degree of difference between the first index value and the second index value; and Solution-finding performance when the first parameter value is used for the problem represented by the evaluation function is evaluated based on the change rate.

15. A data processing device, include: a storage unit configured to store content for solution searching; as well as A processing unit, which is configured to: when performing a solution search using a first parameter value based on an evaluation function, calculate a change rate based on a first index value of the evaluation function value calculated by the evaluation function and a second index value of the evaluation function value obtained in a first time period from a time point after a start time point of the solution search time period to an end time point of the solution search time period, the change rate indicating the degree of difference between the first index value and the second index value; and evaluate the solution search performance when the first parameter value is used for the problem represented by the evaluation function based on the change rate.