This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2022-197578, filed on Dec. 12, 2022, the disclosure of which is incorporated herein in its entirety by reference.
The present disclosure relates to an optimization system and the like.
A wide range of real social problems may be formulated into a combinatorial optimization problem. Here, the optimization problem is a problem of obtaining a solution that minimizes or maximizes the objective function among solutions that satisfy the constraint condition. For example, an annealing method may be adopted as one of the main solving methods of the combinatorial optimization problem.
For example, Patent Literature 1 (WO 2018/168383 A) describes a technique of obtaining a large number of solutions, estimating the maximum likelihood of an evaluation value of an optimal solution on the assumption that the optimal solution follows a general extreme value distribution, and comparing the evaluation value of the obtained solution with the evaluation value of the estimated optimal solution.
An object of the present disclosure is to provide an optimization system and the like that facilitate confirmation of optimality of a solution obtained by an optimization problem in a heuristic solution.
An optimization system according to an aspect of the present disclosure includes an optimization processing means that solves an optimization problem by a heuristic solution, a calculation means that calculates statistical information of a solution based on the solution obtained by the optimization processing means, and an output control means that presents the statistical information to a user.
An optimization method according to an aspect of the present disclosure solves an optimization problem by a heuristic solution; calculates statistical information of a solution based on the solution obtained by the solving; and presents the statistical information to a user.
A program according to an aspect of the present disclosure causes a computer to execute: solving an optimization problem by a heuristic solution; calculating statistical information of a solution based on the solution obtained by the solving; and presenting the statistical information to a user.
The program may be stored in a non-transitory recording medium which can computer-readable.
Exemplary features and advantages of the present invention will become apparent from the following detailed description when taken with the accompanying drawings in which:
Hereinafter, example embodiments of an optimization system, an optimization method, a program, and a non-transitory recording medium recording the program according to the present disclosure will be described in detail with reference to the drawings. The present example embodiment does not limit the disclosed technology.
In each example embodiment, an optimization problem is solved by a heuristic solution. Heuristic solutions include simulated annealing (SA) methods, evolutionary algorithms, tabu search, group intelligence, and the like.
Here, in the heuristic solution, it is theoretically guaranteed that an optimal solution is reached by performing an infinite time solving. However, in reality, in the heuristic solution, a finite time solving is performed. Therefore, in the SA method, the annealing time is set in advance, and the solving is performed at the annealing time. There is a correlation between the annealing time and the number of transitions in the graph of
First, in a first example embodiment, a basic function of a control system will be described.
The optimization processing unit 101 solves the optimization problem by a heuristic solution. Here, the type of the problem information of the optimization problem is not particularly limited. The heuristic solution is, for example, the SA method. The optimization processing unit 101 iteratively solves the optimization problem, for example.
The calculation unit 102 calculates statistical information of the solution based on the solution obtained by the solving by the optimization processing unit 101. Here, the statistical information is, for example, at least one of a variance of solutions, a confidence interval of solutions, a standard deviation of solutions, an average value of solutions, a median value of solutions, and a histogram of solutions. The histogram is a graph in which the vertical axis is the frequency of the solution and the horizontal axis is the solution.
The statistical information may be statistical information of the evaluation value of the solution. The statistical information of the evaluation values of the solutions is, for example, at least one of a variance of the evaluation values of the solutions, a confidence interval of the evaluation values of the solutions, a standard deviation of the evaluation values of the solutions, an average value of the evaluation values of the solutions, a median value of the evaluation values of the solutions, and a histogram of the evaluation values of the solutions. The histogram is a graph in which the vertical axis is the frequency of the evaluation value of the solution and the horizontal axis is the evaluation value of the solution.
The output control unit 103 presents the statistical information calculated by the calculation unit 102 to the user. The output control unit 103 output the statistical information to the terminal device of the user. Specifically, for example, the output control unit 103 display the statistical information on the terminal device of the user to display. The specific display example will be described in detail with reference to the second example embodiment.
As described above, since the heuristic solution includes a stochastic operation, the obtained solution is different every time the optimization problem is solved. Therefore, there is a problem that it is difficult to understand the optimality of the solution obtained by the optimization problem. The optimality of the solution is how close the solution is to the true solution.
There is a problem that it is difficult to understand whether the setting of the parameter related to the solving of the optimization problem is good or bad. For example, the parameter may be the number of times of solving or the time of solving, and is not particularly limited. In the heuristic solution, it is theoretically guaranteed that an optimal solution is reached by performing an infinite time solving. However, in reality, in the heuristic solution, a finite time solving is performed. For example, the parameter for solving the optimization problem may be the time or the number of times. In the case of the SA method, this time is also referred to as an annealing time.
In the first example embodiment, the optimization system 10 calculates the statistical information of the solution based on the solution obtained by the solving, and presents the calculated statistical information to the user. As a result, it is possible to give an indication on the solution variation. Therefore, the optimality of the solution can be easily confirmed. Furthermore, it is possible to obtain a solution having more optimality. The suggestion about the solution variation is a suggestion about the parameter adjustment. Consequently, the user can easily adjust the parameter. For example, if the heuristic solution is the SA method and the parameter is the annealing time, the annealing time can be shortened or lengthened.
Hereinafter, a second example embodiment will be described in detail with reference to the drawings. In the second example embodiment, a specific example of displaying statistical information to a user and an example of solving a plurality of different initial states in parallel will be described. Hereinafter, description of contents overlapping with the above description will be omitted to the extent that the description of the second example embodiment is not unclear.
For example, the terminal device 21 may be capable of displaying information from the optimization system 20, or an application program for transmitting information to the optimization system 20 may be installed in advance. For example, the terminal device 21 may access the optimization system 20 via the communication network NT.
The type of the terminal device 21 is not particularly limited to a personal computer (PC), a smartphone, a tablet-type device, and the like.
The optimization processing unit 201 has a basic function of the optimization processing unit 101 according to the first example embodiment. The calculation unit 202 has a basic function of the calculation unit 102 according to the first example embodiment. The output control unit 203 has a basic function of the output control unit 103 according to the first example embodiment.
The problem information acquisition unit 204 acquires problem information indicating an optimization problem. For example, the problem information acquisition unit 204 may acquire the problem information by receiving the problem information by the user's operation via the terminal device 21. Alternatively, the problem information acquisition unit 204 may acquire the problem information from a database or the like.
Next, the optimization processing unit 201 solves the optimization problem represented by the problem information by a heuristic solution. Here, for example, the heuristic solution is an annealing method as described above. For example, the optimization processing unit 201 repeatedly solves the optimization problem.
The calculation unit 202 calculates statistical information of the solution based on the solution obtained by the optimization processing unit 201. The statistical information is as described above. For example, the calculation unit 202 calculates statistical information of a solution based on a plurality of solutions obtained by at least two or more solving.
The output control unit 203 presents the statistical information to the user. The presentation method is not particularly limited. For example, the output control unit 203 displays the statistical information on the terminal device 21
For example, the calculation unit 202 may calculate statistical information of a new solution every time the optimization processing unit 201 obtains the new solution. Alternatively, for example, every time a predetermined number of new solutions are calculated by the optimization processing unit 201, the calculation unit 202 may calculate statistical information of the solutions. For example, the predetermined number is one or more. For example, in a case where the predetermined number is 5, the calculation unit 202 may calculate the statistical information of the solution every time the optimization processing unit 201 obtains five new solutions.
The output control unit 203 may present the statistical information to the user every time the statistical information is calculated. The output control unit 203 may present the statistical information in time series. The output control unit 203 may present at least one of the solution and the evaluation value of the solution and the statistical information in time series.
The reception unit 205 may receive a new solving request. Specifically, the reception unit 205 may receive a request for solving by a user's operation via the terminal device 21. Then, the reception unit 205 may receive the value of the parameter in the new solving. Specifically, the reception unit 205 receives the value of a parameter by a user's operation via the terminal device 21. The parameter may be an annealing time, as described above. The parameter may be a transition degree of a stochastic transition in the optimization problem. For example, in
Then, the setting unit 206 updates the value of the parameter to the value of the parameter received by the reception unit 205. The optimization processing unit 201 newly solves the optimization problem based on the value of the received parameter. In this case, the optimization processing unit 201 sets a new initial state in the optimization problem, and performs solving based on the value of the received parameter.
Here, an example of presenting statistical information and receiving a request for new solving will be described with reference to
For example, the evaluation value of the first solution is 10, the evaluation value of the second solution is 1, the evaluation value of the third solution is 5, the evaluation value of the fourth solution is 20, and the evaluation value of the fifth solution is 15. The variance of the evaluation value of the first solution is 0, the variance of the evaluation value of the second solution is 20.3, the variance of the evaluation value of the third solution is 13.6, the variance of the evaluation value of the fourth solution is 50.5, and the variance of the evaluation value of the fifth solution is 46.2.
As a result, for example, the user can confirm the evaluation values of the solutions up to the fifth time and the variance of solutions. For example, in
For example, the evaluation value of the first solution is 1, the evaluation value of the second solution is 2, the evaluation value of the third solution is 2, the evaluation value of the fourth solution is 1, and the evaluation value of the fifth solution is 2. The variance of the evaluation value of the first solution is 0, the variance of the evaluation value of the second solution is 0.3, the variance of the evaluation value of the third solution is 0.2, the variance of the evaluation value of the fourth solution is 0.3, and the variance of the evaluation value of the fifth solution is 0.2.
As a result, for example, the user can confirm the evaluation values of the solutions up to the fifth time and the variance of solutions. For example, in
For example, in
The calculation unit 202 may calculate the statistical information based on the intermediate result of the solving by the optimization processing unit 201. Here, the intermediate result of the solving is an intermediate result of one solving. For example, the intermediate result of the solving is an optimal solution among solution candidates obtained by one transition in one solving process in the SA method. Here, one transition in one solving is also referred to as a unit step. Then, the output control unit may present the statistical information to the user every time the statistical information is calculated.
Next, when a new request for solving the problem is received (step S208: Yes), the reception unit 205 determines whether a request for updating the parameter is received (step S209). When the parameter update request is received (step S209: Yes), the reception unit 205 updates the value of the received parameter (step S210), and the optimization processing unit 201 returns to step S202. When the parameter update request has not been received (step S209: No), the optimization processing unit 201 returns to step S202. In a case where a new request for solving has not been received (step S208: No), the optimization system 20 ends the processing.
Here, the optimization problem may be solved in parallel for a plurality of different initial states.
The optimization processing unit 201 solves the optimization problem in parallel for a plurality of different initial states.
Then, the calculation unit 202 calculates statistical information based on an intermediate result of parallel solving by the optimization processing unit 201. Specifically, for example, the calculation unit 202 may calculate the statistical information every time a result in a unit step is obtained by the processing unit 211.
Then, the output control unit 203 may present the statistical information to the user every time the statistical information is calculated. Alternatively, the output control unit 203 may present the statistical information in time series.
For example, in
For example, when the set button is pressed, the reception unit 205 receives the time input in the input field as a new annealing time. For example, when the user determines to update the annealing time, the user may input a new annealing time in the input field via the terminal device 21 and press the set button. Then, the setting unit 206 updates the annealing time to the received annealing time. Then, the processing unit 211 of the optimization processing unit 201 performs solving at the updated annealing time.
For example, in a case where the original set time is 100 and the current time is 50, when 55 is set as a new annealing time, the remaining 5 is performed. For example, in a case where the original set time is 100 and is currently ended up to 50, when 150 is set as a new annealing time, the remaining 100 is performed.
In the above example, an example has been described in which the optimization processing unit 201 performs parallelization by a plurality of different initial states, but the solving may be performed in parallel under a plurality of different constraint conditions. Then, the output control unit 203 may present statistical information of solutions of a plurality of different constraint conditions to the user. As a result, the user can efficiently search for hyperparameters. The optimization processing unit 201 may parallelize the solving by a plurality of different initial states for each of a plurality of different constraint conditions.
First, the problem information acquisition unit 204 acquires problem information (step S301). The optimization processing unit 201 sets an initial state of the optimization problem represented by the problem information (step S302). Then, the optimization processing unit 201 solves the optimization problem represented by the problem information in units of steps (step S303). The optimization processing unit 201 accumulates the solving results (step S304). The calculation unit 202 calculates statistical information (step S305). The output control unit 203 outputs the statistical information (step S306).
The optimization processing unit 201 determines whether the set time has elapsed or the reception unit 205 has received the end request (step S307). When the set time has not elapsed and when the end request has not been received (step S307: No), the reception unit 205 determines whether the parameter update request has been received (step S308). When the parameter update request has not been received (step S308: No), the optimization processing unit 201 returns to step S303.
Next, when the parameter update request is received (step S308: Yes), the reception unit 205 updates the value of the received parameter (step S309), and the optimization processing unit 201 returns to step S303.
In a case where the set time has elapsed or in a case where the end request has been received (step S307: Yes), the output control unit 203 outputs the optimization result (step S310). The reception unit 205 determines whether anew request for solving has been received (step S311).
When a new request for solving the problem is received (step S311: Yes), the reception unit 205 determines whether a request for updating the parameter is received (step S312). When the parameter update request is received (step S312: Yes), the reception unit 205 updates the value of the received parameter (step S313), and the optimization processing unit 201 returns to step S302. When the parameter update request has not been received (step S312: No), the optimization processing unit 201 returns to step S302. When a new request for solving the problem has not been received (step S311: No), the optimization system 20 ends the process.
The optimization system 20 may automatically adjust the value of the parameter based on the statistical information in the current solving. Alternatively, the optimization system 20 may automatically determine whether to perform new solving based on the statistical information. Then, for example, when performing new solving, the setting unit 206 may automatically adjust the value of the parameter based on the statistical information.
First, an example of adjusting the value of the parameter in the current solving will be described. For example, the setting unit 206 adjusts the value of the parameter based on the statistical information. Here, the annealing time will be described as an example of the parameter. As an example of the statistical information, variance will be described as an example.
For example, if the variance is equal to or less than the threshold, the setting unit 206 changes the annealing time to be short. Here, shortening the annealing time includes the end of immediate solving. For example, the setting unit 206 may end the optimization problem by the optimization processing unit 201 if the variance is equal to or less than the threshold. There may be a plurality of thresholds. For example, the setting unit 206 may end the optimization problem by the optimization processing unit 201 in a case where the variance is equal to or less than a first threshold, and may set a new annealing time to be shorter than the set time by a predetermined time in a case where the variance is equal to or more than the first threshold and equal to or less than a second threshold larger than the first threshold.
The setting unit 206 may change the annealing time to be longer if the variance is not equal to or less than the threshold when the annealing time reaches a specific time. For example, the specific time may be a set time or a time based on the set time, such as a half of the set time. For example, if the variance is not equal to or less than the threshold even when the set time is reached, the setting unit 206 may increase the annealing time and further continue the optimization problem by the optimization processing unit 201.
Next, the setting unit 206 may determine whether to perform new solving based on the statistical information. Specifically, for example, when the variance is equal to or greater than the threshold, the setting unit 206 determines not to perform a new solving, and when the evaluation value of the solution is lower than the threshold, the setting unit determines to perform new solving. The setting unit 206 determines not to perform new solving when the evaluation value of the solution is equal to or greater than the threshold, and determines to perform new solving when the evaluation value of the solution is lower than the threshold. That is, the setting unit 206 determines whether a good solution has been obtained. If a good solution has been obtained, the setting unit determines not to perform new solving. If a good solution has not been obtained, the setting unit determines to perform new solving.
Then, for example, the setting unit 206 adjusts the value of the parameter based on the statistical information when performing new solving. The specific adjustment by the setting unit 206 may be the same as the example of adjusting the value of the parameter in the current solving.
Here, an example has been described in which new solving is automatically obtained when it is determined that new solving is to be obtained. For example, when the setting unit 206 determines to perform new solving, the output control unit 203 may recommend performing a new solution, and when the reception unit 205 receives a new solving request, the optimization processing unit 201 may perform a new solution.
Then, the optimization processing unit 201 accumulates the solving results (step S404). The calculation unit 202 calculates statistical information based on the intermediate result of the solving obtained in units of steps (step S405). The output control unit 203 outputs the statistical information (step S406).
The optimization processing unit 201 determines whether the set time has elapsed or the setting unit 206 may terminate the solving (step S407). When the set time has not elapsed and when it is determined that the solving is not to be ended (step S407: No), the setting unit 206 determines whether to update the parameter (step S408). In a case where it is not determined to update the parameter (step S408: No), the optimization processing unit 201 returns to step S403.
On the other hand, in a case where it is determined to update the parameter (step S408: Yes), the setting unit 206 updates the value of the parameter (step S409), and the optimization processing unit 201 returns to step S403.
When the set time has elapsed or when it is determined that the solving may be terminated (step S407: Yes), the output control unit 203 outputs an optimization result (step S410). The setting unit 206 determines whether the solving is necessary again (step S411).
Next, when it is determined that the lastly-redone solving is necessary (step S411: Yes), the setting unit 206 determines whether to update the parameter (step S412). In a case where it is determined not to update the value of the parameter (step S412: No), the optimization processing unit 201 returns to step S402. In a case where it is determined to update the parameter (step S412: Yes), the setting unit 206 updates the value of the parameter (step S413), and the optimization processing unit 201 returns to step S402. In a case where it is determined that the re-solving is not necessary (step S411: No), the optimization system 20 ends the processing.
As described above, in the second example embodiment, the optimization system 20 calculates the statistical information every time a new solution is calculated. As a result, it is possible to give an indication on the solution variation. Further, an indication can be provided for the setting of the parameters. For example, if the parameter is the annealing time, the user may consider that the annealing time is long and shorten the annealing time. As a result, the annealing time can be shortened. If the user considers that the annealing time is insufficient, the annealing time can be lengthened. As a result, the optimality of the solution can be improved.
The optimization system 20 solves the optimization problem in parallel for a plurality of different initial states, and calculates statistical information based on solutions obtained by solving the optimization problem a plurality of times calculated in parallel.
The optimization system 20 changes the value of the parameter in the heuristic solution based on the statistical information of the solution, and solves the optimization problem by the heuristic solution based on the changed value of the parameter. When the heuristic solution is the annealing method, the parameter is at least one of an annealing time, a transition degree of a stochastic transition in the optimization problem, and a degree of compliance of a constraint condition in the optimization problem. For example, if the parameter is the annealing time and the statistical information of the solution is the variance of the evaluation value of the solution, then the optimization system 20 changes the annealing time to be shorter if the variance is less than or equal to a threshold. On the other hand, the optimization system 20 may change the annealing time to be longer if the variance is not equal to or less than the threshold.
The description of each example embodiment is ended. Each example embodiment may be modified and used.
For example, the value of the parameter may be recommended to the user using a learned model. For example, the optimization system 20 may further include a learning unit and a specification unit. Specifically, for example, the reception unit 205 receives the value of the parameter by the user's operation with respect to the output result output by the output control unit 203. Then, the reception unit 205 accumulates the values of the received parameter. Then, the learning unit may generate a model that learns the value of the parameter in the optimization problem based on the accumulated value of the parameter. Then, the specification unit specifies a value of the parameter candidate in the new solving by the generated model. The output control unit 203 may recommend the value of the specified parameter candidate to the user. Then, the reception unit 205 receives the value of a new parameter from the user.
The description of the modification is ended. Each example embodiment and modification may be used in appropriate combination.
In each example embodiment, the optimization system 20 may have a configuration including each functional unit and a part of information. For example, in the second example embodiment, the optimization system 20 may include an optimization processing unit 201, a calculation unit 202, an output control unit 203, a problem information acquisition unit 204, and a reception unit 205. The optimization system 20 may include an optimization processing unit 201, a calculation unit 202, an output control unit 203, a problem information acquisition unit 204, and a setting unit 206.
Each example embodiment is not limited to the example described above, and various modifications can be made. The configurations of the optimization systems 10 and 20 in the example embodiments are not particularly limited. For example, the optimization systems 10 and 20 may be achieved by one device such as one server. In a case where each functional unit of the optimization systems 10 and 20 is achieved by one device, for example, one device may be referred to as an optimization device, an information processing device, or the like, and is not particularly limited. Alternatively, the optimization system 20 in each example embodiment may be achieved by different devices for each function or data. For example, each functional unit may be configured by a plurality of servers and implemented as the optimization systems 10 and 20. For example, the optimization systems 10 and 20 may be achieved by a database server including each DB and a server including each functional unit. For example, each of the processing units 211 of the optimization system 20 may be achieved by different servers.
In each example embodiment, each piece of information or each DB may include a part of the above-described information. Each piece of information or each DB may include information other than the above-described information. Each piece of information or each DB may be divided into a plurality of DBs or a plurality of pieces of information in more detail. As described above, a method of implementing each piece of information or each DB is not particularly limited.
Each screen is an example, and is not particularly limited. In each screen, a button, a list, a check box, an information display field, an input field, and the like (not illustrated) may be added. The background color of the screen and the like may be changed.
The process of generating information or the like to be displayed on the terminal device 21 may be performed by the output control units 103 and 203. For example, this process may be performed by the terminal device 21.
Here, as an application example, arrangement optimization of a medical worker such as a nurse or a doctor will be described. Specifically, an application example of determining a work shift using an optimization system will be described. This application example may be applied to the configuration of the first example embodiment.
Hereinafter, a flow of determining the work shift including the input by the medical worker will be described.
First, each medical worker to be subjected to a work shift logs in an artificial intelligence (AI) system (work shift management system) implemented by an optimization system using a terminal device, and inputs a desired work schedule. Then, the AI system considers a desired work schedule or the like input by each medical worker (nurse or doctor) as a constraint condition, and generates an optimal work shift (see
In this case, the AI system sets an optimization problem in which a work form (necessity of work or the like) for each date of each medical worker is set as a determination variable, and congeniality, a human relationship, or the like between the medical workers is set as a constraint condition in addition to the desired work schedule or the like, and an information processing device such as the optimization systems 10 and 20 described in the present example embodiment generates a work shift based on a final output solution of the optimization problem. Then, the work shift generated by the AI system is notified to each medical worker by being displayed on a terminal device or the like. Then, each medical worker checks the generated work shift, logs in the AI system if there is no problem with the generated work shift, and performs an input for approving the work shift with the terminal device. On the other hand, in a case where it is determined that there is a problem in the generated work shift, each medical worker logs in to the AI system and inputs a correction request using the terminal device. When detecting that there is a correction request from the medical worker, the AI system adds a new constraint condition based on the correction request and corrects the optimization problem. The above-described addition of the constraint condition or the like may be executed based on a user input or the like of the administrator of the AI system who has confirmed the correction request. Then, the AI system obtains a final output solution of the corrected optimization problem, and generates a work shift indicated by the final output solution. Then, when a work shift approved by all the target medical workers is generated, the AI system determines the work shift as a final work shift.
In this way, by using the information processing device for work shift generation, it is possible to support the decision making of the administrator in the medical facility.
Next, an exemplary hardware configuration in a case where each device such as the optimization system described in each example embodiment is achieved by a computer will be described.
The computer 80 includes, for example, a processor 801, a read only memory (ROM) 802, a random access memory (RAM) 803, and a storage device 804. The computer 80 includes a communication interface 805 and an input/output interface 806. The components are connected via, for example, a bus 807. The number of components is not particularly limited, and each component is one or more.
The processor 801 controls the entire computer 80. As the processor 801, for example, a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), a micro processing unit (MPU), a floating point number processing unit (FPU), a physics processing unit (PPU), a tensor processing unit (TPU), a quantum processor, a microcontroller, or a combination thereof can be used. The computer 80 includes a ROM 802, a RAM 803, a storage device 804, and the like as storage units. Examples of the storage device 804 include a semiconductor memory such as a flash memory, a hard disk drive (HDD), a solid state drive (SSD), and the like. For example, the storage device 804 stores an operating system (OS) program, an application program, a program according to each example embodiment, and the like. Alternatively, the ROM 802 stores an application program, a program according to each example embodiment, and the like. Then, the RAM 803 is used as a work area of the processor 801.
The processor 801 loads a program stored in the storage device 804, the ROM 802, or the like. Then, the processor 801 executes each process coded in the program. The processor 801 may download various programs via the communication network NT. The processor 801 functions as a part or all of the computer 80. Then, the processor 801 may execute processing or instructions in the illustrated flowchart based on the program.
The communication interface 805 is connected to a communication network NT such as a local area network (LAN) or a wide area network (WAN) through a wireless or wired communication line. The communication network NT may include a plurality of communication networks NT. As a result, the computer 80 is connected to an external device or an external computer 80 via the communication network NT. The communication interface 805 manages an interface between the communication network NT and the inside of the computer 80. Then, the communication interface 805 controls input and output of data from an external device or the external computer 80.
The input/output interface 806 is connected to at least one of an input device, an output device, and an input/output device. The connection method may be wireless or wired. Examples of the input device include a keyboard, a mouse, and a microphone. Examples of the output device include a display device, a lighting device, and a voice output device that outputs voice. Examples of the input/output device include a touch panel display. The input device, the output device, the input/output device, and the like may be built in the computer 80 or may be externally attached.
The hardware configuration of the computer 80 is an example. The computer 80 may have some components illustrated in
The computer 80 may include various sensors (not illustrated). The type of the sensor is not particularly limited. The computer 80 may include an imaging device capable of capturing images and videos.
This is the end of the description of the hardware configuration of each device. There are various modifications of the method of achieving each device. For example, each device may be achieved by an arbitrary combination of a computer and a program different for each component. A plurality of components included in each device may be achieved by any combination of one computer and a program.
A part or all of each component of each device may be achieved by an application specific circuit. A part or all of each component of each device may be achieved by a general-purpose circuit including a processor such as a field programmable gate array (FPGA). A part or all of each component of each device may be achieved by a combination of an application specific circuit, a general-purpose circuit, or the like. These circuits may be a single integrated circuit. Alternatively, these circuits may be divided into a plurality of integrated circuits. The plurality of integrated circuits may be configured by being connected via a bus or the like.
In a case where a part or all of each component of each device is achieved by a plurality of computers, circuits, and the like, the plurality of computers, circuits, and the like may be arranged in a centralized manner or in a distributed manner.
The optimization method described in each example embodiment is achieved by the optimization system. For example, the optimization method is achieved by a computer such as a server or a terminal device 21 executing a program prepared in advance.
The program described in each example embodiment is recorded in a computer-readable recording medium such as an HDD, an SSD, a flexible disk, an optical disk, a magnetic optical disk, and a USB memory. Then, the program is executed by being read from the recording medium by the computer. The program may be distributed via the communication network NT.
Each component of the optimization system in each example embodiment described above may be achieved by dedicated hardware such as a computer. Alternatively, each component may be achieved by software. Alternatively, each component may be achieved by a combination of hardware and software.
For example, in a heuristic solution such as an annealing method, a stochastic operation is included, so that the obtained solution is different every time the optimization problem is solved. Therefore, there is a problem that it is difficult to understand the optimality of the solution obtained by the optimization problem.
According to the present disclosure, it is possible to facilitate confirmation of optimality of a solution obtained by an optimization problem in a heuristic solution.
The previous description of embodiments is provided to enable a person skilled in the art to make and use the present disclosure. Moreover, various modifications to these example embodiments will be readily apparent to those skilled in the art, and the generic principles and specific examples defined herein may be applied to other embodiments without the use of inventive faculty. Therefore, the present disclosure is not intended to be limited to the example embodiments described herein but is to be accorded the widest scope as defined by the limitations of the claims and equivalents. For example, the present disclosure may include example embodiments in which the matters described in the present specification are appropriately combined or replaced as necessary. For example, the matters described using a specific example embodiment can be applied to other example embodiments as long as no contradiction occurs. For example, although the plurality of operations are described in order in the form of a flowchart, the order of description does not limit the order of executing the plurality of operations. Therefore, when each example embodiment is implemented, the order of the plurality of operations can be changed within a range that does not interfere with the content.
Further, it is noted that the inventor's intent is to retain all equivalents of the claimed invention even if the claims are amended during prosecution.
A part or all of the above example embodiments can also be described as the following Supplementary Notes. However, a part or all of the above example embodiments are not limited to the following.
An optimization system including:
The optimization system according to Supplementary Note 1, in which
The optimization system according to Supplementary Note 1 or 2, in which
The optimization system according to any one of Supplementary Notes 1 to 3, in which
The optimization system according to any one of Supplementary Notes 1 to 4, in which
The optimization system according to any one of Supplementary Notes 1 to 5, in which
The optimization system according to Supplementary Note 6, in which
The optimization system according to Supplementary Note 6 or 7, in which
The optimization system according to Supplementary Note 6 or 7, in which
The optimization system according to any one of Supplementary Notes 1 to 6, in which
An optimization method including:
A program for executing:
A non-transitory computer-readable recording medium that records a program for causing a computer to execute:
| Number | Date | Country | Kind |
|---|---|---|---|
| 2022-197578 | Dec 2022 | JP | national |