Information processing device, output method, and program

JPWO2025013166A5Pending Publication Date: 2026-04-07
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2026-01-06
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing optimization systems struggle to provide solutions that account for relaxation of constraints, limiting their ability to offer viable solutions for optimization problems that initially seem infeasible or to improve solutions for those already feasible.

Method used

An information processing device, method, and storage medium that acquire and determine solutions to optimization problems by relaxing constraints, allowing the objective function value to be satisfied by adjusting constraints, and outputting information on the constraints to be relaxed, thereby expanding the range of feasible solutions.

Benefits of technology

Enables the output of information that considers constraint relaxation, making previously infeasible optimization problems viable and improving optimal solutions for feasible ones, providing useful insights for users.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

An information processing device 1X executes artificial intelligence (AI) for solving an optimization problem and mainly includes an acquisition means 16Xa, a determination means 15X, and an output means 16Xb. The acquisition means 16Xa acquires a target value of an objective function in an optimization problem to which one or more constraints are imposed. The determination means 15X determines a solution to the optimization problem which causes a value of the objective function to satisfy the target value when at least a part of the one or more constraints are relaxed. The output means 16Xb outputs information relating to the constraint to be relaxed.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, output method, and storage medium

[0001] The present disclosure relates to the technical field of an information processing device, an output method, and a storage medium that perform processing related to an optimization problem.

[0002] Systems that present solutions to optimization problems are known. For example, Patent Literature 1 discloses an optimization system that determines (matches) a combination of sellers and buyers of goods to be traded so that trading conditions, such as the trading volume and trading price, each of which are desired by the seller and buyer, and presents the matching results.

[0003] International Publication WO2021 / 001977

[0004] When a solution to an optimization problem is obtained by optimization, a solution that satisfies the formulated constraints is obtained. On the other hand, there are cases where a user can accept a solution that does not strictly satisfy the constraints.

[0005] In view of the above-mentioned problems, one of the objects of the present disclosure is to provide an information processing device, an output method, and a storage medium that are capable of suitably outputting information that takes into consideration relaxation of constraints.

[0006] One aspect of the information processing device is characterized by having: an acquisition means for acquiring a target value of an objective function in an optimization problem having one or more constraints; a determination means for determining a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed; and an output means for outputting information related to the constraints to be relaxed.

[0007] One aspect of the output method is an output method in which a computer obtains a target value of an objective function in an optimization problem having one or more constraints, determines a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed, and outputs information about the constraints that are relaxed.

[0008] One aspect of the storage medium is a storage medium that stores a program that causes a computer to execute the following processes: obtain a target value of an objective function in an optimization problem that has one or more constraints; determine a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed; and output information about the constraints that are relaxed.

[0009] As an example of an effect of the present disclosure, it becomes possible to suitably output information that takes into account relaxation of constraints.

[0010] 1 shows the configuration of an optimization system. 2 shows the hardware configuration of an information processing device. 3 shows an example of the functional blocks of a processor in an information processing device. 4 (A) A diagram schematically illustrating a transportation problem involving multiple senders and multiple receivers. 5 (B) A diagram showing the ranking of relaxation targets for the transportation problem in table format. 6 shows a graph illustrating the values ​​of each decision variable when discrete decision variables are changed to continuous variables. 7 (A) A solution and objective function value for a transportation problem involving Warehouses A to C as senders and Stores A to C as receivers when all constraints are satisfied. 8 (B) A solution when the objective function target value is set to "70". 9 (C) A table illustrating sets of constraints and relaxation amounts relaxed when the objective function target value is satisfied. 10 shows an example of a display screen that is displayed on a display device by a UI control unit. 11 (A) An example of a graph structure before a merge operation. 12 (B) An example of a graph structure after a merge operation. 13 (A) An example of a flowchart executed by an information processing device. 14 shows the configuration of an optimization system. 15 shows the relationship between a user, an information processing device, and a terminal device. 16 (A) A diagram illustrating an overview of a patient-hospital matching problem. 1B is an example of a data structure of patient information. FIG. 1C is an example of a data structure of hospital information. FIG. 1D is a functional block diagram of an information processing device. FIG. 1E is an example of a flowchart showing a processing procedure of the information processing device.

[0011] Hereinafter, an information processing device, an output method, and a storage medium according to embodiments will be described with reference to the drawings. Hereinafter, a constraint condition will also be simply referred to as a "constraint."

[0012] 1 shows the configuration of an optimization system 100 according to the first embodiment. The optimization system 100 mainly includes an information processing device 1, an input device 2, a display device 3, and a storage device 4.

[0013] The information processing device 1 calculates a solution to a specified constrained optimization problem and outputs the calculated solution. At this time, the information processing device 1 relaxes constraints (also simply referred to as "constraint relaxation") based on user input, etc., to calculate a better solution or a solution (feasible solution) that satisfies the target value of the objective function specified by the user. Note that when constraints are relaxed, the range of feasible solutions expands, so that an optimization problem that was initially infeasible becomes a feasible optimization problem, and even for an optimization problem that was initially feasible, the optimal solution changes. Therefore, information based on constraint relaxation can be useful information for the user.

[0014] The optimization problem may be, for example, a problem of determining a combination of sellers and buyers of traded goods (and a transportation schedule for the goods), a problem of determining employee work shifts, or any other optimization problem. The traded goods may be fuels such as LNG, steel, machinery, electronics, textiles, chemical products, medical products, food, or any other goods.

[0015] The information processing device 1 also performs data communication with the input device 2, the display device 3, and the storage device 4 via a communication network or by direct wireless or wired communication.

[0016] The input device 2 is an interface that accepts user input, which is external input, and includes, for example, a touch panel, buttons, a keyboard, a voice input device, etc. The input device 2 supplies input information generated based on the user input to the information processing device 1.

[0017] The display device 3 is, for example, a display, a projector, or the like, and performs a predetermined display based on display information supplied from the information processing device 1 .

[0018] The storage device 4 is a memory that stores various information necessary for the optimization process. For example, the storage device 4 stores information that specifies an optimization problem to be solved by the information processing device 1 (also referred to as "problem specification information") and a program that calculates a solution to the specified optimization problem. The problem specification information includes information that indicates the conditions of the optimization problem to be solved by the information processing device 1 (including parameters related to the objective function and parameters related to the constraint conditions, etc.). At least a part of the problem specification information may be generated based on input information generated by the input device 2 operated by the user.

[0019] The storage device 4 may be a storage device such as a hard disk connected to or built into the information processing device 1, or may be a storage medium such as a flash memory. The storage device 4 may also be a server device that performs data communication with the information processing device 1. In this case, the storage device 4 may be composed of multiple server devices.

[0020] The configuration of the optimization system 100 shown in FIG. 1 is an example, and various modifications may be made to the configuration. For example, the input device 2 and the display device 3 may be configured as an integrated device. In this case, the input device 2 and the display device 3 may be configured as a tablet terminal integrated with the information processing device 1. The information processing device 1 may be connected to or have a built-in sound output device such as a speaker that outputs sound, and output information by sound. The information processing device 1 may also be configured from multiple devices. In this case, the multiple devices that make up the information processing device 1 exchange information necessary to execute pre-assigned processing between these multiple devices.

[0021] (2) Hardware Configuration of Information Processing Device Fig. 2 shows the hardware configuration of the information processing device 1. The information processing device 1 includes, as hardware, a processor 11, a memory 12, and an interface 13. The processor 11, the memory 12, and the interface 13 are connected via a data bus 19.

[0022] The processor 11 executes predetermined processes by executing programs stored in the memory 12. The processor 11 is a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a TPU (Tensor Processing Unit). The processor 11 may be composed of multiple processors. The processor 11 is an example of a computer.

[0023] The memory 12 is composed of various types of volatile and non-volatile memories, such as RAM (Random Access Memory) and ROM (Read Only Memory). The memory 12 also stores programs for the information processing device 1 to execute various processes. The memory 12 is also used as a working memory, and temporarily stores information obtained from the storage device 4. The memory 12 may also function as the storage device 4. Similarly, the storage device 4 may also function as the memory 12 of the information processing device 1. The programs executed by the information processing device 1 may be stored in a storage medium other than the memory 12.

[0024] The interface 13 is an interface for electrically connecting the information processing device 1 to other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, or may be hardware interfaces for connecting to other devices via cables or the like.

[0025] The hardware configuration of the information processing device 1 is not limited to the configuration shown in Fig. 2. For example, the information processing device 1 may include at least one of an input device 2 or a display device 3. The information processing device 1 may also be connected to or have a built-in sound output device such as a speaker.

[0026] (3) Functional Blocks Fig. 3 shows an example of functional blocks of the processor 11. Functionally, the processor 11 includes an optimization processing unit 15 and a UI (User Interface) control unit 16. Note that in Fig. 3, blocks between which data is exchanged are connected by solid lines, but the combination of blocks between which data is exchanged is not limited to Fig. 3. The same applies to other functional block diagrams described later.

[0027] The optimization processing unit 15 generates a solution to a specified constrained optimization problem. In this case, the optimization processing unit 15 may determine the solution to the optimization problem based on any optimization method (optimization solver). For example, when solving a problem of determining a combination of sellers and buyers of goods to be traded, the optimization processing unit 15 treats this problem as a single combinatorial optimization problem and formulates it as an integer programming problem. Then, the optimization processing unit 15 obtains a solution to the formulated integer programming problem by performing processing equivalent to that of a general application program (e.g., IBM ILOG CPLEX, Gurobii Optimizer, SCIP).

[0028] The optimization processing unit 15 also determines the ranking (order) of constraint relaxations for improving the objective function, the values ​​of each variable when discrete variables to be determined in the optimization problem are regarded as continuous variables, and the constraint relaxation that will yield a solution that satisfies the target value of the objective function specified by the user. The optimization processing unit 15 then supplies the information generated by the optimization processing unit 15 to the UI control unit 16. Details of the processing by the optimization processing unit 15 will be described later.

[0029] The UI control unit 16 controls the reception of user input and the display of information to be viewed by the user. In this case, the UI control unit 16 acquires information necessary for generating problem specification information and acquires information related to constraint relaxation when solving an optimization problem, based on input information supplied from the input device 2. The UI control unit 16 also generates display information based on information generated by the optimization processing unit 15, and controls the display of the display device 3 by supplying the generated display information to the display device 3. Specific processing by the UI control unit 16 will be described later with reference to display examples.

[0030] Note that each component of the optimization processing unit 15 and the UI control unit 16 described in FIG. 3 can be realized, for example, by the processor 11 executing a program. Alternatively, each component may be realized by recording the necessary program on an arbitrary non-volatile storage medium and installing it as needed. Note that at least a portion of each component may not be realized by software programs, but may be realized by any combination of hardware, firmware, and software. Furthermore, at least a portion of each component may be realized using a user-programmable integrated circuit, such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, a program consisting of each of the above components may be realized using this integrated circuit. Furthermore, at least a portion of each component may be configured by an ASSP (Application Specific Standard Product), an ASIC (Application Specific Integrated Circuit), or a quantum processor (quantum computer control chip). In this way, each component may be realized by various hardware. The same applies to other embodiments described below. Furthermore, each of these components may be realized by the cooperation of multiple computers, for example, using cloud computing technology.

[0031] Hereinafter, "the objective function value improves" or "the objective function value becomes better" refers to a smaller objective function value when the optimization problem to be solved is the minimization of the objective function, and refers to a larger objective function value when the optimization problem to be solved is the maximization of the objective function. Similarly, "the objective function value worsens" or "the objective function value becomes worse" refers to a larger objective function value when the optimization problem to be solved is the minimization of the objective function, and refers to a smaller objective function value when the optimization problem to be solved is the maximization of the objective function.

[0032] (4) Processing of the Optimization Processing Unit Next, we will explain specific examples of processing by the optimization processing unit 15. Below, we will explain in order the processing of determining the ranking of constraint relaxations for improving the value of the objective function (also called "relaxation target ranking determination processing"), the processing of determining continuous values ​​for discrete variables in the optimization problem by treating them as continuous variables (also called "continuous value determination processing"), and the processing of determining constraint relaxations that satisfy the target value of the objective function specified by the user (also called "objective function target value correspondence processing").

[0033] (4-1) Relaxation Target Ranking Determination Process First, a relaxation target ranking determination process for determining a relaxation target ranking, which is a ranking of the effects of relaxing each constraint set in an optimization problem, will be described.

[0034] The optimization processing unit 15 calculates the degree of improvement in the objective function value with respect to the amount of relaxation for each constraint that is a target for relaxation (i.e., a candidate for relaxation) among the constraints set in the optimization problem. For example, the optimization processing unit 15 calculates, as the objective function value improvement degree, the degree of improvement in the objective function value with respect to a change in the constant in the constraint expression that relaxes the constraint for a constraint expression that represents each constraint that is a target for relaxation.

[0035] Specifically, the information processing device 1 calculates "λ" as the improvement in the objective function value when the objective function value improves by "λε" when the constant in the constraint equation is relaxed by the infinitesimal amount "ε". Note that, when the constraint equation representing the constraint to be relaxed is an equation based on discrete values, the optimization processing unit 15 may calculate the improvement in the objective function value λ by setting the infinitesimal amount ε to "ε = 1". In this case, the improvement in the objective function value corresponds to, for example, the degree of improvement in the objective function value when the constant in the constraint equation is changed by 1.

[0036] The optimization processing unit 15 then compares the degree of improvement in the objective function value calculated for each constraint to be relaxed, and determines a ranking of constraints to be relaxed in which the constraints are arranged in descending order of the degree of improvement in the objective function value. Note that the degree of improvement in the objective function value here is treated as an index value indicating that a higher value indicates a higher degree of improvement, but it may also be an index value indicating that a lower value indicates a higher degree of improvement.

[0037] The constraints to be relaxed are, for example, constraints that can be relaxed and whose relaxation will change the optimal solution. Information about the constraints to be relaxed may be stored in advance in the storage device 4 or the memory 12. In this case, the optimization processing unit 15 identifies the constraints to be relaxed by referring to the information about the constraints to be relaxed.

[0038] FIG. 4(A) is a diagram showing a schematic diagram of a transportation problem in which there are multiple senders and multiple receivers, and FIG. 4(B) is a diagram showing, in table format, the ranking of relaxation targets in the transportation problem.

[0039] The transportation problem shown in Figure 4(A) is a problem of determining the transportation volume from each sender to each receiver so as to minimize the total cost required for transportation, and the constraints to be considered are exemplified as follows: Upper limit of the volume sent from each sender per unit time Upper limit of the volume received by each receiver per unit time Upper limit of the volume sent between each pair of sender and receiver per unit time Lower limit of the volume received by each receiver per unit time

[0040] 4B, the optimization processing unit 15 determines a relaxation target ranking in which the constraints to be relaxed are ranked in descending order of the degree of improvement in the objective function value based on the relaxation target ranking determination process. In this example, the degree of improvement in the objective function value for the upper limit of the sending amount of sender 10 is the highest. Also, the degree of improvement in the objective function value for the upper limit of the transportation amount from sender 7 to receiver 14 is the second highest, and the degree of improvement in the objective function value for the transportation amount of sender 3 is the third highest.

[0041] The ranking of constraints to be relaxed determined in this manner serves as material that favorably promotes the user's comparison of candidate constraints to be relaxed, and serves as information that can be useful in the user's consideration.

[0042] For each constraint, whether it can be relaxed and the upper limit of the amount of relaxation if relaxation is possible may be determined in advance. In this case, whether it can be relaxed for each constraint and the upper limit of the amount of relaxation are determined in advance taking into consideration feasibility, legality (compliance with laws and regulations), etc., and information regarding the relaxation for each constraint (also referred to as "relaxation-related information"), such as whether it can be relaxed for each constraint and the upper limit of the amount of relaxation, is stored in advance in the storage device 4, the memory 12, etc. In this case, the optimization processing unit 15 calculates the improvement degree of the objective function value only for constraints that can be relaxed based on the relaxation-related information, and generates a relaxation target ranking.

[0043] Here, a specific example of the process for determining the ranking of constraints to be relaxed will be explained using a matrix. Here, it is assumed that in a linear programming problem in which the number of constraints is equal to or greater than the number of variables, the user can relax each constraint individually, and that a "certain assumption" described later is satisfied.

[0044] Here, the constrained optimization problem to be solved is assumed to be a linear programming problem formulated as follows: Minimize c T x subject to Ax≦b

[0045] Here, "x" is a vector of N decision variables, and "c" is a vector of N elements indicating parameters related to the objective function. Also, there are M constraints (constraints with indexes 1 to M), "A" is an MxN matrix related to the constraints, and "b" is a vector of constants (with M elements) that determine the upper limit of Ax. Then, the current optimal solution "x * "About Ax * Let "J" be the set of indices of constraints whose values ​​are equal in a and b (i.e., each constraint whose relaxation can change the optimal solution), and let "A" be the submatrix consisting of only the rows corresponding to set J of A. J "

[0046] In this case, the vector representing the change in the objective function value with respect to a small change in each component of the constant vector b (i.e., the vector representing the improvement in the objective function value) is expressed as follows: T A J -1

[0047] Therefore, in this specific example, the optimization processing unit 15 T A J -1 ", the degree of improvement in the objective function value corresponding to each constraint belonging to J can be calculated, and the ranking of the constraints to be relaxed can be determined. In this case, the "certain assumption" is J " has an inverse matrix.

[0048] (4-2) Continuous Value Determination Process Next, we will explain the continuous variable value determination process for finding a solution to an optimization problem by regarding discrete variables to be determined as continuous variables. In this case, the optimization processing unit 15 regards the discrete variables as continuous variables and calculates a solution to the optimization problem based on an arbitrary solution method.

[0049] FIG. 5 is a graph showing the values ​​of each decision variable when a discrete decision variable is determined as a continuous variable. In the example of FIG. 5, decision variables that should normally be treated as discrete variables are determined as continuous variables. For example, the decision variable corresponding to "Should we place XX?" is a discrete variable (a binary variable) that indicates either a value corresponding to placing XX (say 1) or a value corresponding to not placing XX (say 0), but here it is determined as a continuous variable with a continuous value (0.65). Also, the decision variable corresponding to "the number of XX" is a discrete variable (an integer variable) that indicates the number of XX, but here it is determined as a continuous variable with a continuous value (4.1).

[0050] Decision variables expressed as continuous values ​​in this way can be useful information for user consideration. For example, if a user viewing the information shown in Figure 5 can set days of Plan A in which "XX will be placed" and days of Plan B in which "XX will not be placed" within a week, the user can consider a plan that mixes days of Plan A and days of Plan B within a week in a ratio that corresponds to the presented continuous value (0.65), since the variable corresponding to "Should XX be placed?" is 0.65.

[0051] The optimization processing unit 15 may determine continuous values ​​for only some of the discrete variables designated based on user input or the like as continuous variables.

[0052] (4-3) Objective Function Target Value Correspondence Processing Next, the objective function target value correspondence processing will be described. In the objective function target value correspondence processing, the UI control unit 16 acquires a target value of the objective function (also referred to as an "objective function target value") based on user input or the like, and the optimization processing unit 15 determines a constraint relaxation and a solution to the optimization problem that satisfies the objective function target value acquired by the UI control unit 16. In this case, the optimization processing unit 15, for example, determines that the objective function value satisfies the objective function target value as an absolute constraint (hard constraint), and determines the other constraints as consideration constraints (soft constraints). In this case, for example, the optimization processing unit 15 assigns a positive weight to the soft constraint and an infinite weight to the absolute constraint, and solves the weighted constraint satisfaction problem that minimizes the weighted sum (penalty) of deviations from the constraints (i.e., relaxation amounts) using an arbitrary solution method.

[0053] FIG. 6(A) shows a solution and an objective function value (here, the total cost related to transportation) of "100" when all constraints are satisfied in a transportation problem with Warehouses A to C as senders and Stores A to C as receivers. FIG. 6(B) shows a solution when the total cost is set to "70," and FIG. 6(C) is a table showing information identifying constraints (relaxed constraints) that are relaxed when the total cost of "70" is satisfied, and the corresponding relaxation amounts. In FIGS. 6(A) and 6(B), the transportation amounts from the sender to the receiver that constitute the solution are represented by the thickness of the corresponding arrow.

[0054] In this case, as shown in Figure 6 (C), the optimization processing unit 15 derives a solution in which the total cost becomes the target value of 70 when the constraint on the upper limit of the transportation volume from warehouse A to store A is relaxed by a relaxation amount of 5 and the constraint on the upper limit of the sending volume from warehouse C is relaxed by a relaxation amount of 2.

[0055] The solution and constraint relaxation determined by the objective function target value correspondence process in this way are solutions and constraint relaxations that result in the objective function values ​​that the user wants to achieve, and serve as information that can be useful in the user's consideration.

[0056] For each constraint, whether it can be relaxed and, if relaxation is possible, an upper limit of the amount of relaxation may be determined in advance. In this case, the optimization processing unit 15 relaxes only the constraints that can be relaxed within the range that does not exceed the upper limit of the amount of relaxation based on the relaxation-related information, and calculates, if there is a solution whose objective function value satisfies the objective function target value.

[0057] (5) Display Example Fig. 7 is a display example of a display screen that the UI control unit 16 causes the display device 3 to display. The UI control unit 16 generates display information for displaying the display screen based on the processing results generated by the optimization processing unit 15, and transmits the generated display information to the display device 3 via the interface 13, thereby causing the display device 3 to display the display screen. Here, the UI control unit 16 sets a current solution display area 51, a mitigation history display area 52, a mitigation target ranking display area 53, a successive mitigation display area 54, and a recalculation button 55 on the display screen.

[0058] First, the information displayed in the current solution display area 51 will be described.

[0059] The UI control unit 16 displays the current solution in the current solution display area 51. For example, if there is no history of constraint relaxation applied to the optimization problem, the UI control unit 16 acquires from the optimization processing unit 15 a solution obtained by the optimization processing unit 15 solving the constrained optimization problem indicated by the problem specification information, and displays the solution in the current solution display area 51. On the other hand, if there is a history of constraint relaxation applied to the optimization problem, the optimization processing unit 15 calculates a solution to the optimization problem that reflects the currently applied constraint relaxation, and the UI control unit 16 displays the solution in the current solution display area 51. The UI control unit 16 also displays "Total cost: 100," which represents the objective function value corresponding to the solution calculated by the optimization processing unit 15, in the current solution display area 51.

[0060] Furthermore, the UI control unit 16 provides an objective function value specification field 56, which is a field for the user to input an objective function target value (here, a target value of the total cost), in the current solution display area 51. When the UI control unit 16 detects that the recalculation button 55 has been selected while a numerical value has been input by the user in the objective function value specification field 56, the UI control unit 16 obtains the numerical value input in the objective function value specification field 56 as the objective function target value.

[0061] Here, a supplementary explanation will be given of the processing performed after the objective function target value is specified in the objective function value specification field 56. The UI control unit 16 instructs the optimization processing unit 15 to execute an objective function target value correspondence process specifying the acquired objective function target value. The optimization processing unit 15 determines a constraint relaxation and a solution that satisfies the objective function target value through the objective function target value correspondence process. The UI control unit 16 then displays information about the determined constraint relaxation (e.g., a table showing pairs of information identifying relaxed constraints and corresponding relaxation amounts shown in FIG. 6C ) and information indicating the determined solution on a display screen or the like. For example, the UI control unit 16 then accepts a selection of whether or not to apply the determined constraint relaxation to the optimization problem. When an input selecting application of the determined constraint relaxation is detected, the UI control unit 16 updates the display screen so that the determined solution becomes the current solution. In this case, the UI control unit 16 updates the displays in the relaxation history display area 52, the relaxation target ranking display area 53, and the continuous relaxation display area 54 in accordance with changes to the current solution.

[0062] Next, the information displayed in the relaxation history display area 52 will be described.

[0063] The UI control unit 16 displays a graph structure (here, a tree structure) representing the history of constraint relaxations applied to the optimization problem. In this case, for example, history information such as constraint relaxations reflected in chronological order is stored in the storage device 4 or the memory 12, and the UI control unit 16 displays a graph structure with each record of the history information as a node. A record of the history information is generated each time any of the following is applied: constraint relaxation based on a selection in the constraint relaxation ranking displayed in the relaxation target ranking display area 53; constraint relaxation based on a specification regarding the change of a discrete variable to a continuous variable or the fixation of a discrete variable in the continuous relaxation display area 54; and constraint relaxation based on a specification of an objective function value in the current solution display area 51. That is, each time the settings of the optimization problem are changed, a record of history information indicating information regarding the change in settings is generated. Each record includes information indicating the parent-child records that will be involved in the history information display using the graph structure (tree structure).

[0064] In the example of FIG. 7 , the UI control unit 16 displays a graph structure (tree structure) based on history information, including a node corresponding to “Relaxation A,” a node corresponding to the combination of “Relaxation A” and “Relaxation B,” and a node corresponding to “Relaxation C.” Currently, “Relaxation C” is applied to the optimization problem, and the node corresponding to “Relaxation C” is highlighted. If, for example, a user specifies “Relaxation D,” which corresponds to a new constraint relaxation, as an additional constraint relaxation to be applied to the optimization problem, the UI control unit 16 generates a node for “Relaxation C+Relaxation D,” with the node for “Relaxation C” as its parent node. For example, when one of the character strings “Relaxation A,” “Relaxation A+Relaxation B,” or “Relaxation C” shown in FIG. 7 is selected, the UI control unit 16 may display details of the record of history information corresponding to the selected character string. By displaying a graph structure based on history information in this manner, the UI control unit 16 can provide a suitable history management function.

[0065] Next, the information displayed in the relaxation target ranking display area 53 will be described.

[0066] The optimization processing unit 15 executes a relaxation target ranking determination process for the current solution shown in the current solution display area 51, and the UI control unit 16 displays a relaxation target ranking based on the execution result of the relaxation target ranking determination process in the relaxation target ranking display area 53. Note that the "improvement coefficient (slope)" in Fig. 7 corresponds to the improvement degree of the objective function value.

[0067] The UI control unit 16 also provides a numerical input field 57 for each constraint ranked in the relaxation target ranking, and accepts a specification of the constraint relaxation to be applied to the optimization problem based on a numerical value entered into the numerical input field 57. For example, when the UI control unit 16 detects that the recalculate button 55 has been selected with a numerical value entered into the numerical input field 57, the UI control unit 16 considers the constraint corresponding to the numerical input field 57 with a numerical value entered as a target for relaxation and instructs the optimization processing unit 15 to recalculate a solution that allows the relaxation of the constraint by an amount corresponding to the specified numerical value. The UI control unit 16 then updates the display screen so that the solution calculated by the optimization processing unit 15 based on the above instruction becomes the current solution. In this case, the UI control unit 16 updates the displays in the current solution display area 51, the relaxation history display area 52, the relaxation target ranking display area 53, and the continuous relaxation display area 54 in accordance with the change in the current solution.

[0068] Next, the information displayed in the continuous blunting display area 54 will be described.

[0069] The optimization processing unit 15 executes a continuous value determination process for the current solution shown in the current solution display area 51, and the UI control unit 16 displays the continuous values ​​of each variable when the discrete variables a to e are each considered to be continuous variables based on the results of the execution of the continuous value determination process by the optimization processing unit 15.

[0070] Preferably, the UI control unit 16 also accepts a user input specifying whether to fix each variable as a discrete variable. For example, the UI control unit 16 provides a user interface that allows the user to specify whether to fix each of the discrete variables a to e as a discrete variable or change it to a continuous variable. In this case, the UI control unit 16 determines which discrete variables to treat as continuous variables based on the operation of the user interface, and instructs the optimization processing unit 15 to solve the optimization problem applying the determination. The UI control unit 16 then updates the continuous mitigation display region 54 and the like based on the solution calculated by the optimization processing unit 15.

[0071] According to the display screen as described above, the UI control unit 16 can preferably present to the user information relating to solutions when constraints are relaxed from various viewpoints.

[0072] Here, a supplementary explanation will be given of the graph structure displayed in the relaxation history display area 52. The UI control unit 16 may accept an operation (also called a "merge operation") to merge any two or more nodes (i.e., to generate a new integrated node) in the relaxation history display area 52. Note that the node generated by the merge operation becomes a common child node of the selected node. The merge operation is, for example, an operation of selecting the two or more nodes to be merged by clicking them, etc.

[0073] 8A shows an example of a graph structure before the merge operation, and FIG. 8B shows an example of a graph structure after the merge operation. In this example, a node corresponding to "Relaxed A + Relaxed B" and a node corresponding to "Relaxed C" are selected as targets for the merge operation, and the UI control unit 16 generates a new node that will be a common child node of these selected nodes. In this case, the generated node corresponds to the relaxation (here, Relaxed A + Relaxed B + Relaxed C) obtained by merging the constraint relaxations corresponding to the two selected nodes.

[0074] When the UI control unit 16 detects a merge operation in the relaxation history display area 52, it recognizes the constraint relaxation corresponding to the node generated by the merge operation and instructs the optimization processing unit 15 to solve the optimization problem applying the recognized constraint relaxation.The UI control unit 16 then updates the display screen so that the solution calculated by the optimization processing unit 15 based on the above instruction becomes the current solution.In this case, the UI control unit 16 updates the displays in the current solution display area 51, the relaxation history display area 52, the relaxation target ranking display area 53, and the consecutive relaxation display area 54 in accordance with the change in the current solution.

[0075] (6) Processing Flow FIG. 9 is an example of a flowchart executed by the information processing device 1.

[0076] First, the information processing device 1 acquires problem specification information that specifies an optimization problem for which a solution is to be found (step S11). In this case, the information processing device 1 acquires problem specification information that is pre-stored in the storage device 4 or that is generated based on input information provided by the input device 2.

[0077] Next, the information processing device 1 calculates a solution to the optimization problem indicated by the acquired problem specification information and displays information about the calculated solution on the display device 3 (step S12). In this case, for example, the information processing device 1 executes a relaxation target ranking determination process and a continuous value determination process, and based on the execution results of these processes, displays the continuous values ​​of each variable when the discrete variables are considered as continuous variables, the relaxation target ranking, and the like, along with the solution to the optimization problem, on the display device 3. For example, the information processing device 1 displays a display screen such as that shown in FIG. 7 on the display device 3.

[0078] Next, the information processing device 1 determines whether the conditions of the optimization problem have been changed based on user input or the like (step S13). Examples of condition changes include changes to the optimization problem based on the specification of constraints to be relaxed in the relaxation target ranking, changes to the optimization problem based on a merge operation in the graph structure displaying the history, and changes to the optimization problem based on the specification of discrete variables as continuous variables. If the information processing device 1 determines that the conditions of the optimization problem have been changed (step S13; Yes), it displays information on the solution to the optimization problem that reflects the changes to the optimization problem conditions on the display device 3 (step S14). In this case, the information processing device 1 displays the solution to the optimization problem that reflects the changes to the optimization problem conditions, the continuous values ​​of each variable when the discrete variables are considered as continuous variables, the relaxation target ranking, and the like. The information processing device 1 also displays a graph structure (see the relaxation history display area 52 in FIG. 7 ) that includes nodes indicating the changes to the optimization problem conditions.

[0079] Furthermore, if there is no change in the constraints (step S13; No), or after executing step S14, the information processing device 1 determines whether or not an objective function value has been specified based on a user input, etc. (step S15). If an objective function value has been specified (step S15; Yes), the information processing device 1 displays information on the constraint relaxation and the solution that satisfies the specified objective function value on the display device 3 (step S16).

[0080] Then, if an objective function value is not specified (step S15; No), or after executing step S16, the information processing device 1 determines whether or not to terminate the processing of the flowchart (step S17). For example, the information processing device 1 determines that the processing of the flowchart should be terminated when it detects a user input instructing the termination of the processing of the flowchart, or when other predetermined termination conditions are satisfied. Then, if the information processing device 1 determines that the processing of the flowchart should be terminated (step S17; Yes), it terminates the processing of the flowchart. On the other hand, if the information processing device 1 determines that the processing of the flowchart should not be terminated (step S17; No), it returns the processing to step S13.

[0081] 10 shows the configuration of an optimization system 100A. The optimization system 100A mainly includes an information processing device 1A and a terminal device 5. The information processing device 1A and the terminal device 5 perform data communication via a network 6.

[0082] The information processing device 1A is one or more devices that function as a server (including a cloud server), and performs optimization-related processing executed by the information processing device 1 in the first embodiment. In this case, the information processing device 1A receives input information from the terminal device 5 via the network 6, which the information processing device 1 receives from the input device 2 in the first embodiment. The information processing device 1A also transmits display information that the information processing device 1 transmitted to the display device 3 in the first embodiment to the terminal device 5 via the network 6. The information processing device 1A also stores information that the storage device 4 stores in the first embodiment.

[0083] The terminal device 5 is a terminal having an input function, a display function, and a communication function, and functions as the input device 2 and the display device 3 in the first embodiment. The terminal device 5 may be, for example, a personal computer, a tablet terminal, a PDA (Personal Digital Assistant), etc. The terminal device 5 transmits input information generated based on the received user input to the information processing device 1A via the network 6. Furthermore, when the terminal device 5 receives display information from the information processing device 1A, it displays information based on the display information.

[0084] The information processing device 1A according to the second embodiment can preferably execute the input process and output process executed by the information processing device 1 in the first embodiment for the user of the terminal device 5 .

[0085] 11 is a diagram showing the relationship between a user, an information processing device 1A, and a terminal device 5. As shown in FIG. 11, the information processing device 1A functions as a server that executes an algorithm, and the terminal device 5 functions as a user terminal that accepts input of parameters and the like required for the algorithm. The terminal device 5 exchanges information with the information processing device 1A to present a display screen such as that shown in FIG. 7 to the user. This can favorably prompt the user to make a decision.

[0086] Here, the problem of matching patients and hospitals will be described as an application example in the medical and healthcare fields. FIG. 12(A) is a diagram showing an outline of the problem of matching patients and hospitals. Here, the optimization system 100A has patient information on multiple patients who wish to be admitted to a hospital and hospital information on multiple hospitals that can accept the patients, and matches patients with hospitals based on this information. The optimization system 100A then presents optimal hospital candidates for each patient and performs reservation procedures with the hospital for each patient. Note that this application example can also be applied to the optimization system 100 of the first embodiment.

[0087] FIG. 12(B) shows an example of the data structure of patient information, and FIG. 12(C) shows an example of the data structure of hospital information. The patient information shown in FIG. 12(B) has a record for each patient, including patient ID, patient name, medical condition, medical history, allergy information, etc. Such patient information is generated, for example, by each patient registering their own health-related information (medical condition, medical history, allergy information) in the optimization system 100A. The hospital information shown in FIG. 12(C) has a record for each hospital, including information such as hospital ID, hospital name, medical department, consultation hours, and number of available hospital rooms. Such hospital information is generated, for example, by a person in charge of each hospital registering information regarding each of the above items in the optimization system 100A.

[0088] In this application example, the objective function may be, for example, a function relating to the total distance to the hospital for each patient, a function relating to the total waiting time for each patient, a function relating to the number of matches, or a function that combines these. Examples of constraints that are set in this application example are as follows: The medical department that the patient wishes to visit is provided at the hospital. The hospital's capacity must not be exceeded. The patient can be seen during the hospital's opening hours. The patient's desired consultation date is a business day of the hospital. The patient is or is not infected with a specific infectious disease. The patient has a referral letter from their family doctor.

[0089] Here, the constraint that "patients can be seen during the hospital's business hours" can be treated as a consideration constraint that can be extended up to a predetermined time. Similarly, the constraint that "patients must be infected with a specific infectious disease" can be treated as a consideration constraint that can accept up to a predetermined number of patients. Similarly, the constraint that "patients must have a referral letter from a family doctor" can be treated as a consideration constraint that can accept up to a predetermined number of patients. Whether or not to treat each constraint as a consideration constraint and the upper limit of the amount of relaxation, etc., are determined in advance taking into consideration, for example, feasibility and legality (compliance with laws and regulations), and are stored in advance by the optimization system 100A as relaxation-related information.

[0090] The optimization system 100A may dynamically change the priority and relaxation upper limit of the constraints to be considered. In the medical field, the medical system may change due to changes in laws and regulations or social conditions. The optimization system 100A can change the constraints to be considered to accommodate such cases.

[0091] For example, the optimization system 100A may use existing natural language processing technology to obtain and analyze descriptions and guidelines of the Labor Standards Act, Medical Affairs Act, etc. from an external database, thereby changing the priority and upper relaxation limit of the consideration constraints.

[0092] According to this application example, the optimization system 100A matches patients with hospitals so as to realize optimal patient acceptance by the hospitals, and enables each patient to smoothly make appointments with the hospitals.

[0093] 13 is a functional block diagram of an information processing device 1X according to a third embodiment. The information processing device 1X mainly includes an acquisition unit 16Xa, a determination unit 15X, and an output unit 16Xb. The information processing device 1X may be composed of multiple devices.

[0094] The acquisition unit 16Xa acquires a target value of an objective function in an optimization problem having one or more constraints. The acquisition unit 16Xa may be, for example, the UI control unit 16 in the first or second embodiment.

[0095] The determination unit 15X determines a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a part of one or more constraints is relaxed. The determination unit 15X can be, for example, the optimization processing unit 15 in the first or second embodiment.

[0096] The output unit 16Xb outputs information about the constraints to be relaxed. Here, "outputting information about the constraints to be relaxed" may mean outputting the information about the constraints to be relaxed by display or sound, transmitting the information about the constraints to be relaxed to another device, or storing it in a storage device. The output unit 16Xb may be, for example, the UI control unit 16 in the first or second embodiment.

[0097] 14 is an example of a flowchart executed by the information processing device 1X in the third embodiment. The acquisition means 16Xa acquires a target value of an objective function in an optimization problem having one or more constraints (step S21). The determination means 15X determines a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of one or more constraints is relaxed (step S22). The output means 16Xb outputs information about the constraints to be relaxed (step S23).

[0098] The information processing device 1X according to the third embodiment can suitably output information regarding constraint relaxation that satisfies the target value of the objective function set in the constrained optimization problem.

[0099] In addition, part or all of the above-described embodiments (including modified examples, the same applies below) can be described as, but are not limited to, the following supplementary notes.

[0100] [Supplementary Note 1] An information processing device comprising: acquisition means for acquiring a target value of an objective function for an optimization problem having one or more constraints; decision means for determining a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed; and output means for outputting information about the constraints to be relaxed. [Supplementary Note 2] The output means outputs, as information about the constraints to be relaxed, information identifying the constraint to be relaxed and information indicating a relaxation amount, which is the degree of relaxation for the constraint. [Supplementary Note 3] The information processing device according to Supplementary Note 1, wherein the acquisition means receives an external input specifying the target value and determines the target value based on the received external input. [Supplementary Note 4] The information processing device according to Supplementary Note 1 further comprises improvement degree calculation means for calculating a degree of improvement in the value of the objective function relative to a relaxation amount for each of the relaxation targets that are candidates for relaxation among the one or more constraints, and the output means outputs information about the improvement degree for each of the relaxation targets. [Supplementary Note 5] The information processing device according to Supplementary Note 4, wherein the output means outputs information regarding the ranking of the relaxation targets based on the degree of improvement. [Supplementary Note 6] The information processing device according to Supplementary Note 5, wherein the output means displays pairs of identification information for each of the relaxation targets and the degree of improvement in order of ranking. [Supplementary Note 7] The information processing device according to Supplementary Note 1, wherein the output means outputs information indicating continuous values ​​of the discrete variables in the optimization problem when the optimization problem is solved by regarding at least some of the discrete variables as continuous variables. [Supplementary Note 8] The information processing device according to Supplementary Note 1, wherein the output means displays a graph structure indicating the history of the relaxation. [Supplementary Note 9] The information processing device according to Supplementary Note 1, wherein the output means transmits display information regarding the constraints to be relaxed to the terminal device used by a user, based on a request from the terminal device.[Supplementary Note 10] An output method in which a computer obtains a target value of an objective function in an optimization problem having one or more constraints, determines a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed, and outputs information about the constraints that are relaxed. [Supplementary Note 11] A storage medium storing a program that causes a computer to execute processes of obtaining a target value of an objective function in an optimization problem having one or more constraints, determining a solution to the optimization problem such that the value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed, and outputting information about the constraints that are relaxed.

[0101] In each of the above-described embodiments, the program can be stored using various types of non-transitory computer-readable media and supplied to a computer processor, etc. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (e.g., mask ROMs, programmable ROMs (PROMs), erasable PROMs (EPROMs), flash ROMs, and random access memories (RAMs). The program may also be supplied to a computer by various types of transient computer-readable media. Examples of transient computer-readable media include electric signals, optical signals, and electromagnetic waves. The transient computer-readable medium can supply the program to a computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.

[0102] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications within the scope of the present invention that would be understood by those skilled in the art can be made to the configuration and details of the present invention. In other words, the present invention naturally includes various modifications and alterations that would be possible for those skilled in the art based on the entire disclosure, including the claims, and the technical ideas. Furthermore, the disclosures of the above-cited patent and non-patent documents are incorporated herein by reference.

[0103] 1, 1A, 1X Information processing device 2 Input device 3 Display device 4 Storage device 5 Terminal device 100, 100A Optimization system

Claims

1. An acquisition means for obtaining the target value of the objective function in an optimization problem with one or more constraints, A determination means for determining a solution to the optimization problem in which the value of the objective function satisfies the target value when at least some of the one or more constraints are relaxed, An output means for outputting information regarding the constraints on which the relaxation is performed, An information processing device having

2. The information processing apparatus according to claim 1, wherein the output means outputs, as information relating to the constraint on which the relaxation is performed, information identifying the constraint to be relaxed and information indicating the degree of relaxation of the constraint.

3. The information processing apparatus according to claim 1, wherein the acquisition means receives an external input specifying the target value and determines the target value based on the received external input.

4. The system further includes an improvement degree calculation means for calculating the degree of improvement in the value of the objective function with respect to the relaxation amount for each of the relaxation targets which are candidates for relaxation among the one or more constraints, The information processing apparatus according to claim 1, wherein the output means outputs information relating to the degree of improvement of each of the mitigation targets.

5. The information processing apparatus according to claim 4, wherein the output means outputs information relating to the order of the relaxation targets based on the degree of improvement.

6. The information processing apparatus according to claim 5, wherein the output means displays pairs of information identifying each of the relaxation targets and the degree of improvement in order.

7. The information processing apparatus according to claim 1, wherein the output means outputs information indicating the continuous values ​​of the discrete variables when the optimization problem is solved by considering at least a portion of the discrete variables in the optimization problem as continuous variables.

8. The information processing apparatus according to claim 1, wherein the output means displays a graph structure showing the history of the relaxation.

9. Computers Obtain the target value of the objective function in an optimization problem with one or more constraints. Determine the solution to the optimization problem such that the value of the objective function satisfies the target value when at least some of the one or more constraints are relaxed. Outputs information regarding the constraints on which the relaxation is performed. Output method.

10. Obtain the target value of the objective function in an optimization problem with one or more constraints. Determine the solution to the optimization problem such that the value of the objective function satisfies the target value when at least some of the one or more constraints are relaxed. A program that causes a computer to perform a process that outputs information about the constraints on which the aforementioned relaxations are performed.