WO2025013166A1 - 情報処理装置、出力方法及び記憶媒体 - Google Patents

情報処理装置、出力方法及び記憶媒体 Download PDF

Info

Publication number
WO2025013166A1
WO2025013166A1 PCT/JP2023/025439 JP2023025439W WO2025013166A1 WO 2025013166 A1 WO2025013166 A1 WO 2025013166A1 JP 2023025439 W JP2023025439 W JP 2023025439W WO 2025013166 A1 WO2025013166 A1 WO 2025013166A1
Authority
WO
WIPO (PCT)
Prior art keywords
relaxation
information
objective function
processing device
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/025439
Other languages
English (en)
French (fr)
Inventor
達也 松岡
伸志 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to PCT/JP2023/025439 priority Critical patent/WO2025013166A1/ja
Priority to JP2025532258A priority patent/JPWO2025013166A5/ja
Publication of WO2025013166A1 publication Critical patent/WO2025013166A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • This disclosure relates to the technical field of information processing devices, output methods, and storage media that perform processing related to optimization problems.
  • Patent Document 1 discloses an optimization system that determines (matches) combinations so that the transaction conditions, such as the transaction volume and transaction price, desired by the seller and buyer of the goods to be traded match, and presents the matching results.
  • one of the objectives 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 while taking into account the relaxation of constraints.
  • One aspect of the information processing device is 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 a value of the objective function satisfies the target value when at least a portion of the one or more constraints is relaxed; an output means for outputting information regarding the constraint to be relaxed;
  • the present invention is characterized by having the following.
  • One aspect of the output method is: The computer 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 a value of the objective function satisfies the target value when at least a portion of the one or more constraints are relaxed; outputting information regarding the constraints under which said relaxation is performed; The output method.
  • One aspect of the storage medium is 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 a value of the objective function satisfies the target value when at least a portion of the one or more constraints are relaxed;
  • the storage medium stores a program for causing a computer to execute a process for outputting information regarding the constraint to be relaxed.
  • One example of the effect of this disclosure is that it becomes possible to appropriately output information that takes into account the relaxation of constraints.
  • FIG. 2 shows a hardware configuration of an information processing device.
  • 2 is an example of a functional block of a processor of an information processing device.
  • 1A is a diagram showing a schematic diagram of a transportation problem in which multiple senders and multiple receivers exist
  • FIG. 1B is a diagram showing a relaxation target ranking in the transportation problem in a table format.
  • 1 is a graph showing the values of each decision variable when the decision variable, which is a discrete variable, is determined as a continuous variable.
  • (A) Shows the solution and objective function values when all constraints are satisfied in a transportation problem with warehouses A to C as senders and stores A to C as receivers.
  • (B) Shows the solution when the objective function target value is set to "70".
  • FIG. 2 is a diagram showing the relationship between a user, an information processing device, and a terminal device.
  • 1A is a diagram showing an outline of a patient-hospital matching problem
  • B an example of a data structure of patient information
  • C an example of a data structure of hospital information.
  • FIG. 2 is a functional block diagram of an information processing device.
  • 10 is a flowchart illustrating an example of a processing procedure of an information processing device.
  • System Configuration Fig. 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.
  • the information processing device 1 calculates a solution to the specified constrained optimization problem and outputs the calculated solution.
  • the information processing device 1 relaxes the constraints (also simply called “constraint relaxation") based on user input, etc., and calculates a better solution or a solution (feasible solution) that satisfies the target value of the objective function specified by the user.
  • constraints also simply called "constraint relaxation”
  • the range of feasible solutions expands, so that an optimization problem that was initially infeasible becomes a feasible optimization problem, and even for optimization problems that were initially feasible, the optimal solution changes. Therefore, information based on the relaxation of constraints can be useful information for the user.
  • the optimization problem may be, for example, a problem of determining the combination of sellers and buyers of the goods to be traded (and the transportation schedule for the goods), a problem of determining employee work shifts, or any other optimization problem.
  • the goods to be traded as described above may be fuels such as LNG, steel, machinery, electronics, textiles, chemical products, medical products, food, or any other item.
  • the information processing device 1 communicates data 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.
  • the input device 2 is an interface that accepts user input, which is external input, and includes, for example, a touch panel, a button, a keyboard, and a voice input device.
  • the input device 2 supplies input information generated based on the user input to the information processing device 1.
  • the display device 3 is, for example, a display or a projector, and performs a predetermined display based on the display information supplied from the information processing device 1.
  • the storage device 4 is a memory that stores various information necessary for optimization processing.
  • the storage device 4 stores information that specifies the optimization problem to be solved by the information processing device 1 (also called "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.
  • 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.
  • the configuration of the optimization system 100 shown in FIG. 1 is one example, and various changes may be made to this configuration.
  • the input device 2 and the display device 3 may be configured as one unit.
  • the input device 2 and the display device 3 may be configured as a tablet terminal that is integrated with the information processing device 1.
  • the information processing device 1 may also be connected to a sound output device such as a speaker that outputs sound or may have a built-in sound output device, 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.
  • 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.
  • the processor 11 executes a predetermined process by executing a program 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.
  • 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 function as the storage device 4.
  • the storage device 4 may 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.
  • 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.
  • the hardware configuration of the information processing device 1 is not limited to the configuration shown in FIG. 2.
  • the information processing device 1 may include at least one of the input device 2 and the 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.
  • Fig. 3 is an example of functional blocks of the processor 11.
  • the processor 11 has 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.
  • the optimization processing unit 15 generates a solution to the specified constrained optimization problem.
  • 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 regards this problem as a combinatorial optimization problem and formulates it as an integer programming problem. The optimization processing unit 15 then finds a solution to the formulated integer programming problem by performing processing equivalent to that of a general application program (for example, IBM ILOG CPLEX, Gurobii Optimizer, SCIP).
  • a general application program for example, IBM ILOG CPLEX, Gurobii Optimizer, SCIP.
  • the optimization processing unit 15 also determines the ranking (order) of constraint relaxations for improving the objective function, the values of each variable when the discrete variables to be determined in the optimization problem are regarded as continuous variables, and the constraint relaxations that provide 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.
  • the UI control unit 16 accepts user input and controls the display of information for the user to view. 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 the input information supplied from the input device 2. The UI control unit 16 also generates display information based on the 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 a display example.
  • each of the components 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. Also, each component may be realized by recording the necessary programs in any non-volatile storage medium and installing them as needed. Note that at least a portion of each of these components may not be realized by software programs, but may be realized by any combination of hardware, firmware, and software. Also, at least a portion of each of these components 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 composed of each of the above components may be realized using this integrated circuit.
  • FPGA Field-Programmable Gate Array
  • each component may be configured by an ASSP (Application Specific Standard Production), an ASIC (Application Specific Integrated Circuit), or a quantum processor (quantum computer control chip).
  • ASSP Application Specific Standard Production
  • ASIC Application Specific Integrated Circuit
  • quantum processor quantum computer control chip
  • the objective function value improves or “the objective function value gets 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.
  • the objective function value gets worse or “the objective function value gets 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.
  • the optimization processing unit 15 calculates the degree of improvement in the objective function value with respect to the amount of relaxation (also called the "objective function value improvement degree") for each constraint that is to be relaxed (i.e., a candidate for relaxation) among the constraints set in the optimization problem. For example, for the constraint equations representing each constraint to be relaxed, 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 constants in the constraint equations that relaxes the constraint.
  • the objective function value improvement degree the degree of improvement in the objective function value with respect to a change in the constants in the constraint equations that relaxes the constraint.
  • the information processing device 1 calculates " ⁇ " as the degree of 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 " ⁇ ".
  • the degree of 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.
  • the optimization processing unit 15 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.
  • the degree of improvement in the objective function value here is treated as an index value indicating that the higher the value, the higher the degree of improvement, but it may also be an index value indicating that the lower the value, the higher the degree of improvement.
  • the constraint to be relaxed is, for example, a constraint that can be relaxed and whose relaxation will cause the optimal solution to change.
  • Information on the constraint to be relaxed may be stored in advance in the storage device 4 or memory 12.
  • the optimization processing unit 15 identifies the constraint to be relaxed by referring to information on the constraint to be relaxed.
  • Figure 4(A) is a schematic diagram of a transportation problem involving multiple senders and multiple receivers
  • Figure 4(B) is a table showing the ranking of targets for relaxation in the transportation problem.
  • the transportation problem shown in FIG. 4A is a problem of determining the transportation amount from each sender to each receiver so as to minimize the total cost required for transportation.
  • Examples of constraints to be considered are as follows: An upper bound on the amount of data sent per unit time by each sender. An upper bound on the amount of data received per unit time by each receiver. An upper bound on the amount of data transported per unit time between each pair of senders and receivers. A lower bound on the amount of data received per unit time by each receiver.
  • 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.
  • the degree of improvement in the objective function value for the upper limit of the sending volume of sender 10 is the highest.
  • the degree of improvement in the objective function value for the upper limit of the transportation volume from sender 7 to receiver 14 is the second highest, and the degree of improvement in the objective function value for the transportation volume of sender 3 is the third highest.
  • the ranking of constraints to be relaxed determined in this way serves as a useful guide for the user to compare constraints that are candidates for relaxation, and can be useful information for the user's consideration.
  • the optimization processing unit 15 calculates the degree of improvement in the objective function value only for constraints that can be relaxed based on the relaxation-related information, and generates a ranking of constraints to be relaxed.
  • x is a vector of N decision variables
  • c is a vector with N elements indicating parameters related to the objective function.
  • M constraints constraints with indexes of 1 to M
  • A is an M ⁇ N matrix related to the constraints
  • b is a vector of constants (with M elements) that determine the upper limit of Ax.
  • a vector representing a change in the objective function value with respect to a small change in each component of the constant vector b is expressed as follows: c T A J ⁇ 1
  • the optimization processing unit 15 calculates "c T A J -1 " to calculate the improvement degree of the objective function value corresponding to each constraint belonging to J, and can determine the relaxation target ranking.
  • the above-mentioned "certain assumption” is that an inverse matrix exists in the submatrix "A J ".
  • Figure 5 is a graph showing the values of each decision variable when the discrete variables are treated as continuous variables.
  • decision variables that should normally be treated as discrete variables have been treated as continuous variables.
  • the decision variable corresponding to "Should we place XX?" is a discrete variable (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 a continuous value (0.65) has been determined as a continuous variable.
  • the decision variable corresponding to "The number of ⁇ people” is a discrete variable (integer variable) that indicates the number of ⁇ people, but here a continuous value (4.1) has been determined as a continuous variable.
  • decision variables expressed as continuous values provide information that can be useful for the user's consideration. For example, if a user viewing the information shown in FIG. 5 can set days of Plan A where "XX will be placed” and days of Plan B where "XX will not be placed” during a week, the variable corresponding to "Should XX be placed?" is 0.65, and the user can take action such as considering a plan that mixes the days of Plan A and the days of Plan B during a week in a ratio that corresponds to the presented continuous value (0.65).
  • optimization processing unit 15 may determine continuous values for only some of the discrete variables that are specified based on user input, etc., as continuous variables.
  • the objective function target value corresponding processing will be described.
  • the UI control unit 16 acquires a target value of the objective function (also called “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.
  • the optimization processing unit 15 determines, for example, that the objective function value satisfies the objective function target value as an absolute constraint (hard constraint), and other constraints as consideration constraints (soft constraints).
  • the optimization processing unit 15 assigns a positive weight to the soft constraint and an infinity weight to the absolute constraint, and solves the weighted constraint satisfaction problem that minimizes the weighted sum (penalty) of the deviation amount from the constraint (i.e., the relaxation amount) by an arbitrary solution method.
  • Figure 6(A) shows the solution and 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.
  • Figure 6(B) shows the solution when the total cost is set to "70”
  • Figure 6(C) is a table showing a set of information identifying constraints that are relaxed (relaxed constraints) when the total cost of "70" is satisfied, and the corresponding relaxation amounts. Note that in Figures 6(A) and 6(B), each transportation amount from sender to receiver that is the solution is represented by the thickness of the corresponding arrow.
  • 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.
  • the solution and constraint relaxation determined by the objective function target value correspondence process in this way are the solution and constraint relaxation that result in the objective function value that the user wants to achieve, and can be useful information for the user's consideration.
  • the optimization processing unit 15 relaxes only the constraints that can be relaxed based on the relaxation-related information, within a range that does not exceed the upper limit of the amount of relaxation, and calculates if there is a solution in which the objective function value satisfies the objective function target value.
  • Display Example Fig. 7 is a display example of a display screen that is a screen that the UI control unit 16 causes to be displayed on the display device 3.
  • the UI control unit 16 generates display information for displaying the display screen based on the processing result 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.
  • 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.
  • 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.
  • the UI control unit 16 provides an objective function value specification field 56 in the current solution display area 51, where the user can input an objective function target value (here, the target value of the total cost). Then, when the UI control unit 16 detects that the recalculate button 55 has been selected with a numerical value input by the user in the objective function value specification field 56, it obtains the numerical value input in the objective function value specification field 56 as the objective function target value.
  • an objective function target value here, the target value of the total cost
  • the UI control unit 16 instructs the optimization processing unit 15 to execute the objective function target value corresponding processing specifying the acquired objective function target value, and the optimization processing unit 15 determines the constraint relaxation and the solution that satisfies the objective function target value by the objective function target value corresponding processing. Then, the UI control unit 16 displays information on the determined constraint relaxation (for example, a table showing a set of information identifying the relaxed constraint and the corresponding relaxation amount shown in FIG. 6(C)) and information showing the determined solution on a display screen or the like.
  • the determined constraint relaxation for example, a table showing a set of information identifying the relaxed constraint and the corresponding relaxation amount shown in FIG. 6(C)
  • the UI control unit 16 accepts a selection of whether or not to apply the determined constraint relaxation to the optimization problem, and when an input selecting to apply the determined constraint relaxation is detected, the UI control unit 16 updates the display screen so that the determined solution is the current solution. In this case, the UI control unit 16 updates the displays of the relaxation history display area 52, the relaxation target ranking display area 53, and the continuous relaxation display area 54 according to the change in the current solution.
  • the UI control unit 16 displays a graph structure (here, a tree structure) that represents the history of constraint relaxation applied to the optimization problem.
  • a graph structure here, a tree structure
  • historical information such as constraint relaxation reflected in a time series is stored in the storage device 4 or memory 12, and the UI control unit 16 displays a graph structure with each record of the historical information as a node.
  • the above-mentioned records of historical information are generated each time any of the following is applied: constraint relaxation based on a selection in the constraint relaxation ranking shown in the relaxation target ranking display area 53, a specification regarding changing a discrete variable to a continuous variable or fixing a discrete variable in the continuous relaxation display area 54, and a constraint relaxation based on a specification of an objective function value in the current solution display area 51.
  • Each record contains information indicating the records that will be in a parent-child relationship when the historical information is displayed in a graph structure (tree structure).
  • the UI control unit 16 displays a graph structure (tree structure) having a node corresponding to "Relaxation A", a node corresponding to a combination of "Relaxation A” and “Relaxation B", and a node corresponding to "Relaxation C” based on the history information. Note that “Relaxation C” is currently applied to the optimization problem, and the node corresponding to "Relaxation C” is highlighted.
  • the UI control unit 16 when “Relaxation D" corresponding to a new constraint relaxation is specified by the user as a constraint relaxation to be additionally applied to the optimization problem, the UI control unit 16 generates a node of "Relaxation C + Relaxation D" with the node of "Relaxation C” as the parent node.
  • the UI control unit 16 may display details of the record of the history information corresponding to the selected character string. In this way, by displaying a graph structure based on the history information, the UI control unit 16 can provide a suitable history management function.
  • 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.
  • the "improvement coefficient (slope)" in FIG. 7 corresponds to the degree of improvement of the objective function value.
  • the UI control unit 16 also provides a numerical input field 57 for each constraint ranked in the relaxation target ranking, and accepts the specification of the constraint relaxation to be applied to the optimization problem by the numerical value input 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 input into the numerical input field 57, it regards the constraint corresponding to the numerical input field 57 with a numerical value input as a target for relaxation, and instructs the optimization processing unit 15 to recalculate a solution that allows the relaxation of the constraint by the relaxation amount equivalent to the specified numerical value. Then, the UI control unit 16 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 of the current solution display area 51, relaxation history display area 52, relaxation target ranking display area 53, and continuous relaxation display area 54 in accordance with the change in the current solution.
  • 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 of the discrete variables a to e when they are regarded as continuous variables based on the results of the execution of the continuous value determination process by the optimization processing unit 15.
  • the UI control unit 16 accepts a user input specifying whether or not each variable should be fixed as a discrete variable.
  • the UI control unit 16 provides a user interface that allows the user to specify whether each of the discrete variables a to e should be fixed as a discrete variable or changed to a continuous variable.
  • the UI control unit 16 determines which discrete variables are to be regarded as continuous variables based on the operation of the above-mentioned user interface, and instructs the optimization processing unit 15 to solve the optimization problem to which this determination is applied.
  • the UI control unit 16 then updates the continuous mitigation display area 54, etc., based on the solution calculated by the optimization processing unit 15.
  • the UI control unit 16 can conveniently present to the user information regarding solutions when constraints are relaxed from various perspectives.
  • the UI control unit 16 may accept an operation (also called a "merge operation") to merge any number of 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 multiple nodes to be merged by clicking them, etc.
  • FIG. 8(A) shows an example of a graph structure before the merge operation
  • FIG. 8(B) shows an example of a graph structure after the merge operation.
  • a node corresponding to "Relaxation A + Relaxation B” and a node corresponding to "Relaxation 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.
  • the generated node corresponds to the relaxation (here, Relaxation A + Relaxation B + Relaxation C) resulting from the merge of the constraint relaxations corresponding to the two selected nodes.
  • the UI control unit 16 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, relaxation history display area 52, relaxation target ranking display area 53, and successive relaxation display area 54 in conjunction with the change in the current solution.
  • FIG. 9 is an example of a flowchart executed by the information processing device 1.
  • the information processing device 1 acquires problem specification information that specifies the optimization problem for which a solution is to be sought (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.
  • 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).
  • the information processing device 1 executes a relaxation target ranking determination process and a continuous value determination process, and based on the results of these processes, displays the continuous values of each variable when discrete variables are regarded as continuous variables, the relaxation target ranking, and the like, together with the solution to the optimization problem, on the display device 3.
  • the information processing device 1 displays a display screen such as that shown in FIG. 7 on the display device 3.
  • the information processing device 1 determines whether the conditions of the optimization problem have been changed based on the user's input, etc. (step S13).
  • changes in conditions here include changes in the conditions of the optimization problem based on the specification of constraints to be relaxed in the relaxation target ranking, changes in the conditions of the optimization problem based on a merge operation in the graph structure displaying the history, and changes in the conditions of 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 of the optimization problem that reflects the changes in the conditions of the optimization problem on the display device 3 (step S14).
  • the information processing device 1 displays the solution of the optimization problem that reflects the changes in the conditions of the optimization problem, the continuous values of each variable when the discrete variables are considered as continuous variables, and the relaxation target ranking.
  • the information processing device 1 also displays a graph structure (see the relaxation history display area 52 in FIG. 7) to which a node indicating the changes in the conditions of the optimization problem has been added.
  • step S13; No the information processing device 1 determines whether or not an objective function value has been specified based on user input, etc. (step S15). Then, if an objective function value has been specified (step S15; Yes), the information processing device 1 displays on the display device 3 information on the constraint relaxation and solution that satisfies the specified objective function value (step S16).
  • step S17 the information processing device 1 determines whether or not to end the processing of the flowchart. For example, when the information processing device 1 detects a user input instructing the end of the processing of the flowchart, or when other predetermined end conditions are satisfied, it determines that the processing of the flowchart should be ended. Then, when the information processing device 1 determines that the processing of the flowchart should be ended (step S17; Yes), it ends the processing of the flowchart. On the other hand, when the information processing device 1 determines that the processing of the flowchart should not be ended (step S17; No), it returns the processing to step S13.
  • Second Embodiment 10 shows the configuration of an optimization system 100 A.
  • the optimization system 100 A mainly includes an information processing device 1 A and a terminal device 5.
  • the information processing device 1 A and the terminal device 5 perform data communication via a network 6.
  • 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.
  • 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 the information stored in the storage device 4 in the first embodiment.
  • 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.
  • the information processing device 1A can preferably execute the input processing and output processing executed by the information processing device 1 in the first embodiment for the user of the terminal device 5.
  • FIG. 11 is a diagram showing the relationship between a user, information processing device 1A, and terminal device 5.
  • information processing device 1A functions as a server that executes an algorithm
  • terminal device 5 functions as a user terminal that accepts input of parameters and the like required for the algorithm.
  • terminal device 5 transmits and receives information to and from information processing device 1A, and presents a display screen such as that shown in FIG. 7 to the user. This can favorably prompt the user to make a decision.
  • FIG. 12(A) is a diagram showing an overview of the problem of matching patients and hospitals.
  • 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 patients, and matches patients with hospitals based on this information.
  • the optimization system 100A then presents optimal hospital candidates for each patient, and carries out reservation procedures with hospitals for each patient. Note that this application example can also be applied to the optimization system 100 of the first embodiment.
  • FIG. 12(B) is an example of the data structure of patient information
  • FIG. 12(C) is 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, and allergy information. Such patient information is generated, for example, when each patient registers information about his or her health (medical condition, medical history, and 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, when a person in charge at each hospital registers information about each of the above-mentioned items in the optimization system 100A.
  • the objective function may be, for example, a function related to the total distance to the hospital for each patient, a function related to the total waiting time for each patient, a function related to the number of matches, or a combination of these.
  • constraints set in this application example are illustrated as follows.
  • the medical department the patient wishes to see must be offered at the hospital.
  • the hospital's capacity must not be exceeded.
  • the patient must be able to see the hospital during the hospital's consultation hours.
  • the patient's desired consultation date must be a business day of the hospital.
  • the patient may or may not be infected with a specific infectious disease.
  • the patient must have a referral letter from their family doctor.
  • the constraint "patients can visit the hospital during opening hours” can be treated as a consideration constraint that can be extended up to a specified time.
  • the constraint "patients must be infected with a specific infectious disease” can be treated as a consideration constraint that can accept up to a specified number of patients.
  • the constraint "patients must have a referral letter from a family doctor” can be treated as a consideration constraint that can accept up to a specified 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 account, for example, feasibility and legality (compliance with laws and regulations), and are stored in advance by the optimization system 100A as relaxation-related information.
  • the optimization system 100A may dynamically change the priority and upper relaxation limit of the constraints to be considered.
  • the medical system may change due to changes in laws and regulations or social conditions.
  • the optimization system 100A is capable of changing the constraints to be considered so that it can respond to such cases.
  • the optimization system 100A may use existing natural language processing technology to retrieve 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 constraints to be considered.
  • the optimization system 100A matches patients with hospitals so that hospitals can optimally accept patients, and can smoothly schedule appointments for each patient at the hospital.
  • Third Embodiment 13 is a functional block diagram of an information processing device 1X according to the 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 a plurality of devices.
  • the acquisition means 16Xa acquires a target value of an objective function in an optimization problem having one or more constraints.
  • the acquisition means 16Xa can be, for example, the UI control unit 16 in the first or second embodiment.
  • the determination means 15X determines a solution to the optimization problem in which the value of the objective function satisfies a target value when at least a portion of one or more constraints is relaxed.
  • the determination means 15X can be, for example, the optimization processing unit 15 in the first or second embodiment.
  • the output means 16Xb outputs information related to the constraints to be relaxed.
  • "outputting information related to the constraints to be relaxed” may mean outputting the information related to the constraints to be relaxed by display or sound, or may mean transmitting the information related to the constraints to be relaxed to another device, or may mean storing the information in a storage device.
  • the output means 16Xb may be, for example, the UI control unit 16 in the first or second embodiment.
  • FIG. 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 in which the value of the objective function satisfies the target value when at least a portion of one or more constraints are relaxed (step S22).
  • the output means 16Xb outputs information related to the constraints to be relaxed (step S23).
  • 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 a constrained optimization problem.
  • the information processing device receives an external input that specifies the target value, and determines the target value based on the received external input.
  • the method further includes an improvement calculation means for calculating an improvement degree of the value of the objective function with respect to an amount of relaxation for each of the one or more constraints that are candidates for relaxation, The information processing device according to claim 1, wherein the output means outputs information regarding the degree of improvement of each of the mitigation targets.
  • the output means outputs information regarding a ranking of the targets of relaxation based on the degree of improvement.
  • [Appendix 10] The computer 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 a value of the objective function satisfies the target value when at least a portion of the one or more constraints are relaxed; outputting information regarding the constraints under which said relaxation is performed; Output method.
  • [Appendix 11] 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 a value of the objective function satisfies the target value when at least a portion of the one or more constraints are relaxed;
  • a storage medium storing a program for causing a computer to execute a process for outputting information regarding the constraint to be relaxed.
  • 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., floppy disks, magnetic tapes, hard disk drives), optical storage media (e.g., optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R/Ws, semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory).
  • Programs may also be supplied to computers by various types of transient computer-readable media.
  • Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves.
  • Transient computer-readable media can supply programs to computers via wired communication paths such as electric wires and optical fibers, or wireless communication paths.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置1Xは、最適化問題を解くAI(Artificial intelligence)を実行する装置であって、主に、取得手段16Xaと、決定手段15Xと、出力手段16Xbと、を有する。取得手段16Xaは、1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する。決定手段15Xは、1又は複数の制約の少なくとも一部の緩和を行った場合に目的関数の値が目標値を満たす最適化問題の解を決定する。出力手段16Xbは、緩和が行われる制約に関する情報を出力する。

Description

情報処理装置、出力方法及び記憶媒体
 本開示は、最適化問題に関する処理を行う情報処理装置、出力方法及び記憶媒体の技術分野に関する。
 最適化問題における解を提示するシステムが知られている。例えば、特許文献1には、取引対象となる物資の売手と買手とがそれぞれ希望する取引量及び取引価格などの取引条件が合致するように組み合わせを決定(マッチング)し、そのマッチング結果を提示する最適化システムが開示されている。
国際公開WO2021/001977
 最適化問題の解を最適化により得る場合、定式化された制約を満たす解が得られる。一方、制約が厳密に守られない解であってもユーザが許容できる場合が存在する。
 本開示の目的の一つは、上述した課題を鑑み、制約の緩和を考慮した情報を好適に出力することが可能な情報処理装置、出力方法及び記憶媒体を提供することである。
 情報処理装置の一の態様は、
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する取得手段と、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定する決定手段と、
 前記緩和が行われる制約に関する情報を出力する出力手段と、
を有することを特徴とする。
 出力方法の一の態様は、
 コンピュータが、
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
 前記緩和が行われる制約に関する情報を出力する、
出力方法である。
 記憶媒体の一の態様は、
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
 前記緩和が行われる制約に関する情報を出力する処理をコンピュータに実行させるプログラムが格納された記憶媒体である。
 本開示による効果の一例では、制約の緩和を考慮した情報を好適に出力することが可能となる。
最適化システムの構成を示す。 情報処理装置のハードウェア構成を示す。 情報処理装置のプロセッサの機能ブロックの一例である。 (A)複数の送り手と複数の受け手が存在する輸送問題を概略的に示した図である。(B)当該輸送問題における緩和対象ランキングをテーブル形式により表した図である。 離散変数である決定変数を連続変数として決定した場合の各決定変数の値を示したグラフである。 (A)倉庫A~倉庫Cを送り手とし店A~店Cを受け手とする輸送問題において制約を全て満たす場合の解及び目的関数値を示す。(B)目的関数目標値が「70」に設定された場合の解を示す。(C)目的関数目標値を満たす場合に緩和された制約及び緩和量の組を示すテーブルである。 UI制御部が表示装置に表示させる画面である表示画面の表示例である。 (A)マージ操作前のグラフ構造の一例を示す。(B)マージ操作後のグラフ構造の一例を示す。 情報処理装置が実行するフローチャートの一例である。 最適化システムの構成を示す。 ユーザと情報処理装置と端末装置との関係を示した図である。 (A)患者と病院のマッチング問題の概略を示した図である。(B)患者情報のデータ構造の一例である。(C)病院情報のデータ構造の一例である。 情報処理装置の機能ブロック図である。 情報処理装置の処理手順を示すフローチャートの一例である。
 以下、図面を参照しながら、情報処理装置、出力方法及び記憶媒体の実施形態について説明する。以後では、制約条件を単に「制約」とも呼ぶ。
 <第1実施形態>
 (1)システム構成
 図1は、第1実施形態に係る最適化システム100の構成を示す。最適化システム100は、主に、情報処理装置1と、入力装置2と、表示装置3と、記憶装置4とを備える。
 情報処理装置1は、指定された制約付き最適化問題に対する解を算出し、算出した解を出力する。このとき、情報処理装置1は、ユーザの入力等に基づき、制約の緩和(単に「制約緩和」とも呼ぶ。)を行い、より良い解を算出したり、ユーザが指定する目的関数の目標値を満たす解(実行可能解)を算出したりする。なお、制約を緩和すると、実行可能解の領域が広がるため、当初は実行不可能だった最適化問題も実行可能な最適化問題になり、当初から実行可能な最適化問題においても最適解が変わることになる。従って、制約の緩和に基づく情報は、ユーザにとって有益な情報となり得る。
 最適化問題は、例えば、取引対象となる物資の売手と買手の組み合わせ(及び当該物資の輸送スケジュール)を決定する問題であってもよく、従業員の勤務シフトを決定する問題であってもよく、その他の任意の最適化問題であってもよい。上述の取引対象となる物資は、LNGなどの燃料、鉄鋼、機械、エレクトロニクス、繊維、化学製品、医療関連商品、食品、その他の任意の物であってもよい。
 また、情報処理装置1は、通信網を介し、又は、無線若しくは有線による直接通信により、入力装置2と、表示装置3と、記憶装置4とデータ通信を行う。
 入力装置2は、外部入力であるユーザ入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、キーボード、音声入力装置などが該当する。入力装置2は、ユーザの入力に基づき生成した入力情報を、情報処理装置1へ供給する。
 表示装置3は、例えば、ディスプレイ、プロジェクタ等であり、情報処理装置1から供給される表示情報に基づき、所定の表示を行う。
 記憶装置4は、最適化処理に必要な各種情報を記憶するメモリである。例えば、記憶装置4は、情報処理装置1が解くべき最適化問題を指定する情報(「問題指定情報」とも呼ぶ。)と、指定された最適化問題の解を算出するプログラムとを記憶している。問題指定情報は、情報処理装置1が解くべき最適化問題の条件を示す情報(目的関数に関するパラメータ及び制約条件に関するパラメータ等も含む)を含んでいる。問題指定情報の少なくとも一部は、ユーザが操作を行う入力装置2が生成する入力情報に基づき生成されてもよい。
 なお、記憶装置4は、情報処理装置1に接続又は内蔵されたハードディスクなどの記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置4は、情報処理装置1とデータ通信を行うサーバ装置であってもよい。この場合、記憶装置4は、複数のサーバ装置から構成されてもよい。
 図1に示す最適化システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、入力装置2及び表示装置3は、一体となって構成されてもよい。この場合、入力装置2及び表示装置3は、情報処理装置1と一体となるタブレット型端末として構成されてもよい。また、情報処理装置1は、音を出力するスピーカなどの音出力装置と接続又は音出力装置を内蔵し、情報を音により出力してもよい。また、情報処理装置1は、複数の装置から構成されてもよい。この場合、情報処理装置1を構成する複数の装置は、予め割り当てられた処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。
 (2)情報処理装置のハードウェア構成
 図2は、情報処理装置1のハードウェア構成を示す。情報処理装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス19を介して接続されている。
 プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
 メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、情報処理装置1が各種の処理を実行するためのプログラムが記憶される。また、メモリ12は、作業メモリとして使用され、記憶装置4から取得した情報等を一時的に記憶する。なお、メモリ12は、記憶装置4として機能してもよい。同様に、記憶装置4は、情報処理装置1のメモリ12として機能してもよい。なお、情報処理装置1が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
 インターフェース13は、情報処理装置1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインターフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
 なお、情報処理装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、情報処理装置1は、入力装置2又は表示装置3の少なくとも一方を含んでもよい。また、情報処理装置1は、スピーカなどの音出力装置と接続又は内蔵してもよい。
 (3)機能ブロック
 図3は、プロセッサ11の機能ブロックの一例である。プロセッサ11は、機能的には、最適化処理部15と、UI(User Interface)制御部16とを有する。なお、図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組み合わせは図3に限定されない。後述する他の機能ブロックの図においても同様である。
 最適化処理部15は、指定された制約付き最適化問題の解の生成を行う。この場合、最適化処理部15は、任意の最適化方法(最適化ソルバー)に基づき、最適化問題の解を決定してもよい。例えば、最適化処理部15は、取引対象となる物資の売手と買手の組み合わせを決定する問題を解く場合、この問題を1つの組み合わせ最適化問題とみなして整数計画問題に定式化する。そして、最適化処理部15は、定式化した整数計画問題を、一般的なアプリケーションプログラム(例えば、IBM ILOG CPLEX、Gurobi Optimizer、SCIP)と同等の処理を行うことで解を求める。
 また、最適化処理部15は、目的関数を改善させるための制約緩和のランキング(序列)、最適化問題において決定すべき離散変数を連続変数とみなした場合の各変数の値、及びユーザが指定した目的関数の目標値を満たす解が得られる制約緩和などを決定する。そして、最適化処理部15は、最適化処理部15が生成した情報をUI制御部16に供給する。最適化処理部15の処理の詳細については後述する。
 UI制御部16は、ユーザ入力の受け付け及びユーザに閲覧させる情報の表示に関する制御を行う。この場合、UI制御部16は、入力装置2から供給される入力情報に基づき、問題指定情報の生成に必要な情報を取得したり、最適化問題を解く際の制約緩和に関する情報を取得したりする。また、UI制御部16は、最適化処理部15が生成する情報に基づき表示情報を生成し、生成した表示情報を表示装置3に供給することで表示装置3の表示制御を行う。UI制御部16の具体的な処理については、表示例を参照して後述する。
 なお、図3において説明した、最適化処理部15及びUI制御部16の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は,例えば,クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
 以後において、「目的関数値が改善する」又は「目的関数値が良くなる」とは、解くべき最適化問題が目的関数の最小化である場合には目的関数の値がより小さくなることを指し、解くべき最適化問題が目的関数の最大化である場合には目的関数の値がより大きくなることを指す。同様に、「目的関数値が悪化する」又は「目的関数値が悪くなる」とは、解くべき最適化問題が目的関数の最小化である場合には目的関数値がより大きくなることを指し、解くべき最適化問題が目的関数の最大化である場合には目的関数値がより小さくなることを指す。
 (4)最適化処理部の処理
 次に、最適化処理部15による処理の具体例について説明する。以後では、目的関数の値を改善させるための制約緩和のランキングを決定する処理(「緩和対象ランキング決定処理」とも呼ぶ。)、最適化問題における離散変数を連続変数とみなしてそれらの連続値を決定する処理(「連続値決定処理」とも呼ぶ。)、及びユーザが指定した目的関数の目標値を満たすような制約緩和を決定する処理(「目的関数目標値対応処理」とも呼ぶ。)について順に説明する。
 (4-1)緩和対象ランキング決定処理
 まず、最適化問題において設定された各制約の緩和による効果のランキングである緩和対象ランキングを決定する緩和対象ランキング決定処理について説明する。
 最適化処理部15は、最適化問題において設定された制約のうち緩和対象(即ち緩和する候補)となる各制約について、緩和量に対する目的関数値の改善の度合い(「目的関数値改善度」とも呼ぶ。)を算出する。例えば、最適化処理部15は、緩和対象となる各制約を表す制約式について、制約を緩和するような制約式中の定数の変化に対する目的関数値の改善の度合いを、目的関数値改善度として算出する。
 具体的には、情報処理装置1は、制約式の定数を微小量「ε」だけ緩和した際に目的関数値が「λε」だけ改善する場合の「λ」を目的関数値改善度として算出する。なお、最適化処理部15は、緩和対象となる制約を表す制約式が離散値に基づく式である場合には、微小量εを「ε=1」として上記の目的関数値改善度λを算出してもよい。この場合、目的関数値改善度は、例えば制約式の定数を1だけ変化させたときの目的関数値の改善度合い等に相当する。
 そして、最適化処理部15は、緩和対象となる各制約について算出した目的関数値改善度を比較し、目的関数値改善度が高い順となるように制約を並べた緩和対象ランキングを決定する。なお、ここでの目的関数値改善度は、値が高いほど改善の度合いが高いことを示す指標値として扱われているが、値が低いほど改善の度合いが高くなることを示す指標値であってもよい。
 なお、緩和対象となる制約は、例えば、緩和可能な制約であって緩和することで最適解が変動する制約である。緩和対象となる制約に関する情報は、予め記憶装置4又はメモリ12に記憶されていてもよい。この場合には、最適化処理部15は、緩和対象となる制約に関する情報を参照することで緩和対象となる制約を特定する。
 図4(A)は、複数の送り手と複数の受け手が存在する輸送問題を概略的に示した図であり、図4(B)は、当該輸送問題における緩和対象ランキングをテーブル形式により表した図である。
 図4(A)に示す輸送問題は、輸送に要する総コストを最小化するように各送り手から各受け手への輸送量を設定する問題であり、考慮すべき制約条件は以下のように例示される。
       各送り手からの単位時間での送出量の上限
       各受け手の単位時間での受取量の上限
       送り手と受け手の各ペアの間の単位時間あたりの輸送量の上限
       各受け手の単位時間あたりでの受取量の下限
 そして、図4(B)に示すように、最適化処理部15は、緩和対象ランキング決定処理に基づき、目的関数値改善度が高い順に緩和対象の制約が順位付けされた緩和対象ランキングを決定する。この例では、送り手10の送出量の上限に関する目的関数値改善度が最も高くなっている。また、送り手7から受け手14への輸送量の上限に関する目的関数値改善度が2番目に高くなっており、送り手3の輸送量に関する目的関数値改善度が3番目に高くなっている。
 このように決定した緩和対象ランキングは、ユーザによる緩和すべき候補となる制約の比較を好適に促進する材料となり、ユーザによる検討において役立ち得る情報となる。
 なお、各制約には、緩和の可否及び緩和が可能な場合の緩和量の上限が予め定められてもよい。この場合、制約ごとの緩和の可否及び緩和量の上限は、実現可能性や適法性(法令順守)などを勘案し予め定められ、制約ごとの緩和の可否及び緩和量の上限などの、制約ごとの緩和に関する情報(「緩和関連情報」とも呼ぶ。)が記憶装置4又はメモリ12等に予め記憶されている。そして、この場合、最適化処理部15は、緩和関連情報に基づき、緩和が可能な制約のみについて目的関数値改善度を算出し、緩和対象ランキングを生成する。
 ここで、緩和対象ランキング決定処理の具体例について行列を用いて説明する。ここでは、制約の個数が変数の個数以上の線形計画問題において、ユーザが各制約を個別に緩和できる場合で、かつ、後述する「ある仮定」が満たされるものとする。
 ここで、解くべき制約付き最適化問題が以下のように定式化された線形計画問題であるものとする。
       Minimize c
       subject to Ax≦b
 ここで、「x」は、N個の決定変数のベクトルとし、「c」は目的関数に関するパラメータを示す要素数Nのベクトルである。また、M個の制約(1~Mの各インデックスが付された制約)が存在するものとし、「A」は制約に関するM×Nの行列であり、「b」はAxの上限を定める定数のベクトル(要素数M)である。そして、現状の最適解「x」について、Axとbで値が等しくなる制約(即ち、緩和することで最適解が変動し得る各制約)のインデックスの集合を「J」とし、Aの集合Jに対応する行だけからなる部分行列を「A」とする。
 このとき、定数のベクトルbの各成分の微小変化に対する目的関数値の変化を表すベクトル(即ち目的関数値改善度を表すベクトル)は、以下により表される。
       c -1
 従って、この具体例では、最適化処理部15は、「c -1」を算出することで、Jに属する各制約に対応する目的関数値改善度を算出し、緩和対象ランキングを決定することができる。そして、この場合において、前述の「ある仮定」は、部分行列「A」に逆行列が存在することになる。
 (4-2)連続値決定処理
 次に、最適化問題において解として決定すべき離散変数を連続変数とみなして解を求める連続変数値決定処理について説明する。この場合、最適化処理部15は、離散変数を連続変数とみなし、任意の解法に基づき、最適化問題の解を算出する。
 図5は、離散変数である決定変数を連続変数として決定した場合の各決定変数の値を示したグラフである。図5の例では、本来は離散変数として扱われるべき決定変数が連続変数として決定されている。例えば、「〇〇を配置するか」に相当する決定変数は、〇〇を配置することに対応する値(1とする)と、〇〇を配置しないことに対応する値(0とする)とのいずれかを示す離散変数(2値変数)であるものの、ここでは連続変数として連続値(0.65)が決定されている。また、「△△の人数」に相当する決定変数は、△△の人数を示す離散変数(整数の変数)であるものの、ここでは連続変数として連続値(4.1)が決定されている。
 このように連続値にて表された決定変数は、ユーザによる検討において役立ち得る情報となる。例えば、図5に示される情報を閲覧したユーザは、1週間のうち「〇〇を配置する」プランAの日と「〇〇を配置しない」プランBの日を設定可能な場合には、「〇〇を配置するか」に相当する変数が0.65であるから、1週間のうちプランAの日とプランBの日とを、提示された連続値(0.65)に応じた割合にて混ぜた案を検討するなどの対応を行うことができる。
 なお、最適化処理部15は、離散変数のうちユーザ入力等に基づき指定された一部の離散変数のみを連続変数として連続値を決定してもよい。
 (4-3)目的関数目標値対応処理
 次に、目的関数目標値対応処理について説明する。目的関数目標値対応処理では、UI制御部16は、ユーザ入力等に基づき目的関数の目標値(「目的関数目標値」とも呼ぶ。)を取得し、最適化処理部15は、UI制御部16が取得した目的関数目標値を満たすような制約緩和及び最適化問題の解を決定する。この場合、最適化処理部15は、例えば、目的関数目標値を目的関数値が満たすことを絶対制約(ハード制約)とし、他の制約を考慮制約(ソフト制約)として定める。この場合、例えば、最適化処理部15は、ソフト制約には正数の重みを付し、絶対制約には無限大の重みを付し、制約からの逸脱量(即ち緩和量)の重み付き和(ペナルティ)を最小化する重み付き制約充足問題を任意の解法により解く。
 図6(A)は、倉庫A~倉庫Cを送り手とし店A~店Cを受け手とする輸送問題において制約を全て満たす場合の解及び目的関数値(ここでは輸送に関する総コストとする)「100」を示す。図6(B)は、総コストが「70」に設定された場合の解を示し、図6(C)は、総コスト「70」を満たす場合に緩和された制約(緩和制約)を識別する情報及び対応する緩和量の組を示すテーブルである。なお、図6(A)及び図6(B)では、解となる送り手から受け手への各輸送量は、対応する矢印の太さにより表されている。
 この場合、最適化処理部15は、図6(C)に示されるように、倉庫Aから店Aへの輸送量上限に関する制約を緩和量5だけ緩和し、かつ、倉庫Cからの送出量上限に関する制約を緩和量2だけ緩和した場合に、総コストが目標値である70となる解を導出する。
 このように目的関数目標値対応処理により決定された解及び制約緩和は、ユーザが達成したい目的関数値になる解及び制約緩和であり、ユーザによる検討において役立ち得る情報となる。
 なお、各制約には、緩和の可否及び緩和が可能な場合の緩和量の上限が予め定められてもよい。この場合、最適化処理部15は、緩和関連情報に基づき、緩和が可能な制約のみを緩和量の上限を超えない範囲において緩和し、目的関数値が目的関数目標値を満たす解が存在すれば算出する。
 (5)表示例
 図7は、UI制御部16が表示装置3に表示させる画面である表示画面の表示例である。UI制御部16は、最適化処理部15が生成した処理結果に基づき表示画面を表示するための表示情報を生成し、生成した表示情報を表示装置3にインターフェース13を介して送信することで、表示装置3に表示画面を表示させる。ここでは、UI制御部16は、現状解表示領域51と、緩和履歴表示領域52と、緩和対象ランキング表示領域53と、連続緩和表示領域54と、再計算ボタン55と、を表示画面上において設定している。
 まず、現状解表示領域51に表示する情報について説明する。
 UI制御部16は現状の解を現状解表示領域51に表示する。例えば、最適化問題に適用した制約緩和の履歴がない場合には、UI制御部16は、問題指定情報が示す制約付き最適化問題を最適化処理部15が解くことで得られた解を最適化処理部15から取得し、当該解を現状解表示領域51に表示する。一方、最適化問題に適用した制約緩和の履歴がある場合には、最適化処理部15は、現在適用されている制約緩和を反映した最適化問題の解を算出し、UI制御部16は当該解を現状解表示領域51上において表示する。また、UI制御部16は、最適化処理部15が算出した解に対応する目的関数値を表す「総コスト:100」を現状解表示領域51において表示している。
 さらに、UI制御部16は、現状解表示領域51において、ユーザが目的関数目標値(ここでは総コストの目標値)の入力欄である目的関数値指定欄56を設けている。そして、UI制御部16は、目的関数値指定欄56に数値がユーザにより入力された状態において再計算ボタン55が選択されたことを検知した場合、目的関数値指定欄56にて入力された数値を目的関数目標値として取得する。
 ここで、目的関数値指定欄56にて目的関数目標値が指定された後の処理について補足説明する。UI制御部16は、取得した目的関数目標値を指定した目的関数目標値対応処理の実行を最適化処理部15に指示し、最適化処理部15は、目的関数目標値対応処理により目的関数目標値を満たすような制約緩和及び解を決定する。そして、UI制御部16は、決定された制約緩和に関する情報(例えば図6(C)に示される緩和制約を識別する情報と対応する緩和量の組を示すテーブル)及び決定された解を示す情報を表示画面等において表示する。そして、例えば、UI制御部16は、決定された制約緩和を最適化問題に適用するか否かの選択を受け付け、決定された制約緩和を適用することを選択する入力を検知した場合には、決定された解を現状の解とするように表示画面を更新する。この場合、UI制御部16は、緩和履歴表示領域52、緩和対象ランキング表示領域53、及び連続緩和表示領域54の各表示を現状の解の変更に応じて更新する。
 次に、緩和履歴表示領域52に表示する情報について説明する。
 UI制御部16は、最適化問題に適用された制約緩和の履歴を表すグラフ構造(ここでは木構造)を表示している。この場合、例えば、時系列において反映された制約緩和等の履歴情報が記憶装置4又はメモリ12等に記憶されており、UI制御部16は、履歴情報の各レコードをノードとするグラフ構造を表示している。上述の履歴情報のレコードは、緩和対象ランキング表示領域53に示される制約緩和ランキングでの選択に基づく制約緩和、連続緩和表示領域54での離散変数の連続変数への変更又は離散変数の固定に関する指定、及び現状解表示領域51での目的関数値の指定に基づく制約緩和のいずれかが適用される度に生成される。即ち、最適化問題の設定に変更がある度に、設定の変更に関する情報を示す履歴情報のレコードが生成される。各レコードには、グラフ構造(木構造)により履歴情報を表示する場合の親子関係となるレコードを示す情報が含まれている。
 図7の例では、UI制御部16は、履歴情報に基づき、「緩和A」に相当するノード、「緩和A」と「緩和B」の組み合わせに相当するノード、「緩和C」に相当するノードを有するグラフ構造(木構造)を表示している。なお、現状では「緩和C」が最適化問題に適用されており、「緩和C」に対応するノードが強調表示されている。そして、例えば新たな制約緩和に相当する「緩和D」が最適化問題に追加で適用する制約緩和としてユーザにより指定された場合には、UI制御部16は、「緩和C」のノードを親ノードとする「緩和C+緩和D」のノードを生成する。なお、例えば、図7において図示される「緩和A」、「緩和A+緩和B」、「緩和C」のいずれかの文字列が選択された場合に、UI制御部16は、選択された文字列に対応する履歴情報のレコードの詳細を表示してもよい。このように、履歴情報に基づくグラフ構造を表示することで、UI制御部16は、好適な履歴の管理機能を提供することができる。
 次に、緩和対象ランキング表示領域53に表示する情報について説明する。
 最適化処理部15は、現状解表示領域51に示される現状の解を対象として緩和対象ランキング決定処理を実行し、UI制御部16は、緩和対象ランキング決定処理の実行結果に基づく緩和対象ランキングを、緩和対象ランキング表示領域53に表示している。なお、図7における「改善の係数(傾き)」は、目的関数値改善度に相当する。
 また、UI制御部16は、緩和対象ランキングにおいて順位付けされた制約ごとに、数値入力欄57を設け、数値入力欄57へ入力された数値により最適化問題に適用する制約緩和の指定を受け付けている。例えば、UI制御部16は、数値入力欄57に数値が入力された状態で再計算ボタン55が選択されたことを検知した場合、数値が入力された状態の数値入力欄57に対応する制約を緩和の対象とみなし、当該制約の緩和を指定された数値に相当する緩和量だけ緩和することを許容した解の再計算を最適化処理部15に指示する。そして、UI制御部16は、上述の指示に基づき最適化処理部15が算出した解が現状の解となるように表示画面の更新を行う。この場合、UI制御部16は、現状の解の変更に伴い、現状解表示領域51、緩和履歴表示領域52、緩和対象ランキング表示領域53、及び連続緩和表示領域54の各表示を更新する。
 次に、連続緩和表示領域54に表示する情報について説明する。
 最適化処理部15は、現状解表示領域51に示される現状の解を対象として連続値決定処理を実行し、UI制御部16は、最適化処理部15による連続値決定処理の実行結果に基づき、離散変数a~eを夫々連続変数とみなしたときの各変数の連続値を表示している。
 また、好適には、UI制御部16は、変数ごとに離散変数のまま固定するか否かを指定するユーザ入力を受け付ける。例えば、UI制御部16は、離散変数a~eの各々について、離散変数のまま固定するか連続変数に変更するかをユーザが指定するためのユーザインターフェースを設ける。この場合、UI制御部16は、上述のユーザインターフェースの操作に基づき、連続変数とみなす離散変数を決定し、当該決定を適用した最適化問題を解くことを最適化処理部15に指示する。そして、UI制御部16は、最適化処理部15が算出した解に基づき連続緩和表示領域54等を更新する。
 以上のような表示画面によれば、UI制御部16は、様々な観点により制約を緩和した場合の解に関する情報をユーザに好適に提示することができる。
 ここで、緩和履歴表示領域52に表示するグラフ構造について補足説明する。UI制御部16は、任意の複数のノードをマージさせる(即ち統合した新たなノードを生成する)操作(「マージ操作」とも呼ぶ。)を緩和履歴表示領域52において受け付けてもよい。なお、マージ操作により生成されるノードは、選択されたノードの共通する子ノードとなる。マージ操作は、例えば、マージさせる複数のノードをクリックなどにより選択する操作である。
 図8(A)は、マージ操作前のグラフ構造の一例を示し、図8(B)は、マージ操作後のグラフ構造の一例を示す。この例では、「緩和A+緩和B」に相当するノードと「緩和C」に相当するノードとがマージ操作の対象として選択され、UI制御部16は、選択されたこれらのノードの共通の子ノードとなる新たなノードを生成する。この場合、生成されたノードは、選択された2つのノードに対応する制約緩和をマージした緩和(ここでは緩和A+緩和B+緩和C)に対応する。
 なお、UI制御部16は、緩和履歴表示領域52においてマージ操作を検知した場合、マージ操作により生成されるノードに対応する制約緩和を認識し、認識した制約緩和を適用した最適化問題を解くことを最適化処理部15に指示する。そして、UI制御部16は、上述の指示に基づき最適化処理部15が算出した解を現状の解とするように表示画面の更新を行う。この場合、UI制御部16は、現状の解の変更に伴い、現状解表示領域51、緩和履歴表示領域52、緩和対象ランキング表示領域53、及び連続緩和表示領域54の各表示を更新する。
 (6)処理フロー
 図9は、情報処理装置1が実行するフローチャートの一例である。
 まず、情報処理装置1は、解を求める最適化問題を指定した問題指定情報を取得する(ステップS11)。この場合、情報処理装置1は、記憶装置4に予め記憶された、又は、入力装置2が供給する入力情報に基づき生成された問題指定情報を取得する。
 次に、情報処理装置1は、取得した問題指定情報が示す最適化問題の解を算出し、算出した解に関する情報を表示装置3に表示する(ステップS12)。この場合、例えば、情報処理装置1は、緩和対象ランキング決定処理及び連続値決定処理を実行し、これらの実行結果に基づき、離散変数を連続変数とみなした場合の各変数の連続値や緩和対象ランキングなどを、最適化問題の解と共に表示装置3に表示する。例えば、情報処理装置1は、図7に示されるような表示画面を表示装置3に表示する。
 次に、情報処理装置1は、ユーザの入力等に基づき、最適化問題の条件の変更があったか否か判定する(ステップS13)。ここでの条件の変更の例には、緩和対象ランキングでの緩和する制約の指定に基づく最適化問題の条件変更、履歴を表示するグラフ構造でのマージ操作に基づく最適化問題の条件変更、及び、連続変数とする離散変数の指定などに基づく最適化問題の条件変更が含まれる。そして、情報処理装置1は、最適化問題の条件の変更があったと判定した場合(ステップS13;Yes)、最適化問題の条件の変更を反映した最適化問題の解に関する情報を表示装置3に表示する(ステップS14)。この場合、情報処理装置1は、最適化問題の条件の変更を反映した最適化問題の解、離散変数を連続変数とみなした場合の各変数の連続値、及び緩和対象ランキングなどを表示する。また、情報処理装置1は、上記の最適化問題の条件変更を示すノードを加えたグラフ構造(図7の緩和履歴表示領域52参照)を表示する。
 また、制約の変更がない場合(ステップS13;No)、又はステップS14の実行後、情報処理装置1は、ユーザの入力等に基づき目的関数値が指定されたか否か判定する(ステップS15)。そして、目的関数値が指定された場合(ステップS15;Yes)、情報処理装置1は、指定された目的関数値を満たす制約緩和及び解の情報を表示装置3に表示する(ステップS16)。
 そして、情報処理装置1は、目的関数値が指定されていない場合(ステップS15;No)、又はステップS16の実行後、フローチャートの処理を終了すべきか否か判定する(ステップS17)。例えば、情報処理装置1は、フローチャートの処理の終了を指示するユーザの入力を検知した場合、その他所定の終了条件が満たされた場合、フローチャートの処理を終了すべきと判定する。そして、情報処理装置1は、フローチャートの処理を終了すべきと判定した場合(ステップS17;Yes)、フローチャートの処理を終了する。一方、情報処理装置1は、フローチャートの処理を終了すべきでないと判定した場合(ステップS17;No)、ステップS13へ処理を戻す。
 <第2実施形態>
 図10は、最適化システム100Aの構成を示す。最適化システム100Aは、主に、情報処理装置1Aと、端末装置5とを有する。情報処理装置1Aと端末装置5とは、ネットワーク6を介してデータ通信を行う。
 情報処理装置1Aは、サーバ(クラウドサーバを含む)として機能する1又は複数の装置であり、第1実施形態において情報処理装置1が実行する最適化に関する処理を行う。この場合、情報処理装置1Aは、第1実施形態において情報処理装置1が入力装置2から受信する入力情報を、ネットワーク6を介して端末装置5から受信する。また、情報処理装置1Aは、第1実施形態において情報処理装置1が表示装置3に送信した表示情報を、ネットワーク6を介して端末装置5へ送信する。また、情報処理装置1Aは、第1実施形態において記憶装置4が記憶する情報を記憶している。
 端末装置5は、入力機能、表示機能、及び通信機能を有する端末であり、第1実施形態における入力装置2及び表示装置3として機能する。端末装置5は、例えば、パーソナルコンピュータ、タブレット型端末、PDA(Personal Digital Assistant)などであってもよい。端末装置5は、受け付けたユーザ入力に基づき生成した入力情報を、ネットワーク6を介して情報処理装置1Aへ送信する。また、端末装置5は、情報処理装置1Aから表示情報を受信した場合に、当該表示情報に基づく情報を表示する。
 第2実施形態に係る情報処理装置1Aは、第1実施形態において情報処理装置1が実行した入力処理及び出力処理を端末装置5のユーザを対象として好適に実行することができる。
 図11は、ユーザと情報処理装置1Aと端末装置5との関係を示した図である。図11に示すように、情報処理装置1Aは、アルゴリズムを実行するサーバとして機能し、端末装置5は、アルゴリズムに必要なパラメータ等の入力を受け付けるユーザ端末として機能する。そして、端末装置5は、情報処理装置1Aと情報の授受を行うことで、図7に示されるような表示画面などをユーザに提示する。これにより、ユーザの意思決定を好適に促すことができる。
 ここで、医療・ヘルスケア分野への応用例として、患者と病院のマッチング問題について説明する。図12(A)は、患者と病院のマッチング問題の概略を示した図である。ここでは、最適化システム100Aは、病院での入院を希望する複数の患者に関する患者情報と、患者を受け入れ可能な複数の病院に関する病院情報とを有し、これらの情報に基づき、患者と病院とのマッチングを行う。そして、最適化システム100Aは、各患者に対して最適な病院の候補を提示し、各患者の病院への予約手続を行う。なお、この応用例は、第1実施形態の最適化システム100に対しても同様に適用可能である。
 図12(B)は、患者情報のデータ構造の一例であり、図12(C)は、病院情報のデータ構造の一例である。図12(B)に示す患者情報は、患者ID、患者名、病状、既往歴、及びアレルギー情報などを含む患者ごとのレコードを有している。このような患者情報は、例えば、各患者が最適化システム100Aに自身の健康に関する情報(病状、既往歴、アレルギー情報)を登録することで生成される。図12(C)に示す病院情報は、病院ID、病院名、診療科目、診療時間、空き病室数などの情報を含む病院ごとのレコードを有している。このような病院情報は、例えば、各病院の担当者が最適化システム100Aに上述の各項目に関する情報を登録することで生成される。
 この応用例では、目的関数は、例えば、各患者の病院までの合計距離に関する関数であってもよく、各患者の総待ち時間に関する関数であってもよく、マッチングの数に関する関数であってもよく、これらを複合した関数であってもよい。また、この応用例において設定される制約の例は、以下のように例示される。
  患者が受診したい診療科目が病院で提供されていること
  病院の収容人数を超えないようにすること
  病院の診療時間内に患者が受診できること
  患者の希望する診療日が病院の営業日であること
  患者が特定の感染症を罹患していること、又は罹患していないこと
  かかりつけ医の紹介状があること
 ここで、「病院の診療時間内に患者が受診できること」の制約については所定時間までは延長可能とする考慮制約として扱うことができる。同様に、「患者が特定の感染症を罹患していること、又は罹患していないこと」の制約については、所定人数までは受け入れ可能とする考慮制約として扱うことができる。同様に「かかりつけ医の紹介状があること」の制約については、所定人数までは受け入れ可能とする考慮制約として扱うことができる。なお、個々の制約を考慮制約として扱うか否か及び緩和量の上限等は、例えば、実現可能性や適法性(法令順守)などを勘案し予め定められ、緩和関連情報として最適化システム100Aが予め保持している。
 なお、最適化システム100Aは、考慮制約の優先順位および緩和上限等を動的に変更してもよい。医療分野の場合は、法令や社会情勢の変化により、医療体制が変更になる場合がある。そのような場合にも対応できるように最適化システム100Aは、考慮制約を変更することが可能である。
 例えば、最適化システム100Aは、既存の自然言語処理技術を用いて、労働基準法または医事法等の記載およびガイドラインを外部データベースから取得し解析することで、考慮制約の優先順位および緩和上限を変更してもよい。
 この応用例によれば、最適化システム100Aは、病院による患者の最適な受け入れが実現されるように患者と病院とのマッチングを行い、各患者の病院への予約を円滑に実行させることができる。
 <第3実施形態>
 図13は、第3実施形態における情報処理装置1Xの機能ブロック図である。情報処理装置1Xは、主に、取得手段16Xaと、決定手段15Xと、出力手段16Xbと、を有する。情報処理装置1Xは、複数の装置から構成されてもよい。
 取得手段16Xaは、1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する。取得手段16Xaは、例えば、第1実施形態又は第2実施形態におけるUI制御部16とすることができる。
 決定手段15Xは、1又は複数の制約の少なくとも一部の緩和を行った場合に目的関数の値が目標値を満たす最適化問題の解を決定する。決定手段15Xは、例えば、第1実施形態又は第2実施形態における最適化処理部15とすることができる。
 出力手段16Xbは、緩和が行われる制約に関する情報を出力する。ここで、「緩和が行われる制約に関する情報を出力する」とは、緩和が行われる制約に関する情報を表示又は音により出力してもよく、緩和が行われる制約に関する情報を他の装置に送信してもよく、記憶装置に記憶させてもよい。出力手段16Xbは、例えば、第1実施形態又は第2実施形態におけるUI制御部16とすることができる。
 図14は、第3実施形態において情報処理装置1Xが実行するフローチャートの一例である。取得手段16Xaは、1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する(ステップS21)。決定手段15Xは、1又は複数の制約の少なくとも一部の緩和を行った場合に目的関数の値が目標値を満たす最適化問題の解を決定する(ステップS22)。出力手段16Xbは、緩和が行われる制約に関する情報を出力する(ステップS23)。
 第3実施形態に係る情報処理装置1Xは、制約付き最適化問題において設定した目的関数の目標値を満たすような制約緩和に関する情報を好適に出力することができる。
 その他、上記の各実施形態(変形例を含む、以下同じ)の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
 [付記1]
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する取得手段と、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定する決定手段と、
 前記緩和が行われる制約に関する情報を出力する出力手段と、
を有する情報処理装置。
 [付記2]
 前記出力手段は、前記緩和が行われる制約に関する情報として、前記緩和の対象となる制約を識別する情報と、当該制約における前記緩和の度合いである緩和量を示す情報と、を出力する、付記1に記載の情報処理装置。
 [付記3]
 前記取得手段は、前記目標値を指定する外部入力を受け付け、受け付けた前記外部入力に基づき前記目標値を定める、付記1に記載の情報処理装置。
 [付記4]
 前記1又は複数の制約のうち緩和可能な候補である緩和対象の各々について、緩和量に対する前記目的関数の値の改善度合いを算出する改善度算出手段をさらに有し、
 前記出力手段は、前記緩和対象の各々の前記改善度合いに関する情報を出力する、付記1に記載の情報処理装置。
 [付記5]
 前記出力手段は、前記改善度合いに基づく前記緩和対象の序列に関する情報を出力する、付記4に記載の情報処理装置。
 [付記6]
 前記出力手段は、前記緩和対象の各々の識別情報と前記改善度合いとの組を前記序列に従い並べて表示する、付記5に記載の情報処理装置。
 [付記7]
 前記出力手段は、前記最適化問題における離散変数の少なくとも一部を連続変数とみなして前記最適化問題を解いた場合の前記離散変数の連続値を示す情報を出力する、付記1に記載の情報処理装置。
 [付記8]
 前記出力手段は、前記緩和の履歴を示すグラフ構造を表示する、付記1に記載の情報処理装置。
 [付記9]
 前記出力手段は、ユーザが使用する端末装置からの要求に基づき、前記緩和が行われる制約に関する表示情報を前記端末装置に送信する、付記1に記載の情報処理装置。
 [付記10]
 コンピュータが、
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
 前記緩和が行われる制約に関する情報を出力する、
出力方法。
 [付記11]
 1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
 前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
 前記緩和が行われる制約に関する情報を出力する処理をコンピュータに実行させるプログラムが格納された記憶媒体。
 なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献及び非特許文献の各開示は、本書に引用をもって繰り込むものとする。
 1、1A、1X 情報処理装置
 2 入力装置
 3 表示装置
 4 記憶装置
 5 端末装置
 100、100A 最適化システム

Claims (11)

  1.  1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得する取得手段と、
     前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定する決定手段と、
     前記緩和が行われる制約に関する情報を出力する出力手段と、
    を有する情報処理装置。
  2.  前記出力手段は、前記緩和が行われる制約に関する情報として、前記緩和の対象となる制約を識別する情報と、当該制約における前記緩和の度合いである緩和量を示す情報と、を出力する、請求項1に記載の情報処理装置。
  3.  前記取得手段は、前記目標値を指定する外部入力を受け付け、受け付けた前記外部入力に基づき前記目標値を定める、請求項1に記載の情報処理装置。
  4.  前記1又は複数の制約のうち緩和可能な候補である緩和対象の各々について、緩和量に対する前記目的関数の値の改善度合いを算出する改善度算出手段をさらに有し、
     前記出力手段は、前記緩和対象の各々の前記改善度合いに関する情報を出力する、請求項1に記載の情報処理装置。
  5.  前記出力手段は、前記改善度合いに基づく前記緩和対象の序列に関する情報を出力する、請求項4に記載の情報処理装置。
  6.  前記出力手段は、前記緩和対象の各々を識別する情報と前記改善度合いとの組を前記序列に従い並べて表示する、請求項5に記載の情報処理装置。
  7.  前記出力手段は、前記最適化問題における離散変数の少なくとも一部を連続変数とみなして前記最適化問題を解いた場合の前記離散変数の連続値を示す情報を出力する、請求項1に記載の情報処理装置。
  8.  前記出力手段は、前記緩和の履歴を示すグラフ構造を表示する、請求項1に記載の情報処理装置。
  9.  前記出力手段は、ユーザが使用する端末装置からの要求に基づき、前記緩和が行われる制約に関する表示情報を前記端末装置に送信する、請求項1に記載の情報処理装置。
  10.  コンピュータが、
     1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
     前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
     前記緩和が行われる制約に関する情報を出力する、
    出力方法。
  11.  1又は複数の制約が設けられた最適化問題における目的関数の目標値を取得し、
     前記1又は複数の制約の少なくとも一部の緩和を行った場合に前記目的関数の値が前記目標値を満たす前記最適化問題の解を決定し、
     前記緩和が行われる制約に関する情報を出力する処理をコンピュータに実行させるプログラムが格納された記憶媒体。
PCT/JP2023/025439 2023-07-10 2023-07-10 情報処理装置、出力方法及び記憶媒体 Ceased WO2025013166A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2023/025439 WO2025013166A1 (ja) 2023-07-10 2023-07-10 情報処理装置、出力方法及び記憶媒体
JP2025532258A JPWO2025013166A5 (ja) 2023-07-10 情報処理装置、出力方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/025439 WO2025013166A1 (ja) 2023-07-10 2023-07-10 情報処理装置、出力方法及び記憶媒体

Publications (1)

Publication Number Publication Date
WO2025013166A1 true WO2025013166A1 (ja) 2025-01-16

Family

ID=94214830

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/025439 Ceased WO2025013166A1 (ja) 2023-07-10 2023-07-10 情報処理装置、出力方法及び記憶媒体

Country Status (1)

Country Link
WO (1) WO2025013166A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016130928A (ja) * 2015-01-14 2016-07-21 株式会社日立製作所 コミュニティ管理システムおよび方法
JP7212811B1 (ja) * 2022-05-11 2023-01-25 株式会社ビズリーチ 情報処理装置およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016130928A (ja) * 2015-01-14 2016-07-21 株式会社日立製作所 コミュニティ管理システムおよび方法
JP7212811B1 (ja) * 2022-05-11 2023-01-25 株式会社ビズリーチ 情報処理装置およびプログラム

Also Published As

Publication number Publication date
JPWO2025013166A1 (ja) 2025-01-16

Similar Documents

Publication Publication Date Title
US11600390B2 (en) Machine learning clinical decision support system for risk categorization
AU2012245343B2 (en) Predictive modeling
US20160253463A1 (en) Simulation-based systems and methods to help healthcare consultants and hospital administrators determine an optimal human resource plan for a hospital
US20140039924A2 (en) Graphical tool for managing a longitudinal patient episode
Qu et al. A two-phase approach to scheduling multi-category outpatient appointments–a case study of a women’s clinic
US9058352B2 (en) System for dynamically and quickly generating a report and request for quotation
US20230351204A1 (en) Selecting a training dataset with which to train a model
US20160292369A1 (en) Methods and Apparatus for Scheduling Optimization and Preferences Resolution Automation with No Show Overbooking
US11923075B2 (en) System and method associated with determining physician attribution related to in-patient care using prediction-based analysis
JP2021089523A (ja) 保健医療データ分析システム及び保健医療データ分析方法
Biswas et al. A multi-objective optimization approach for resource allocation and transportation planning in institutional quarantine centres
CN111145909A (zh) 诊疗数据处理方法与装置、存储介质、电子设备
JP2021064350A (ja) システム、方法、及びプログラム
US20230053204A1 (en) Predictive classification model for auto-population of text block templates into an application
KR102818720B1 (ko) 머신러닝 기반의 의료진료 통합 서비스 시스템
KR20230082558A (ko) 간병인 공고의 예상 매칭률을 표시하는 방법 및 그 장치
Bibault Real-life clinical data mining: Generating hypotheses for evidence-based medicine
JP6635629B1 (ja) 登録装置、生成方法及び医療データ生成プログラム
WO2023175948A1 (ja) 学習装置、提示装置、学習方法及び記憶媒体
Lyall et al. Variation in general practice referral rate to acute medicine services and association with hospital admission. A retrospective observational study
US20250103670A1 (en) Information processing device, output method, and storage medium
Leung et al. Constrained optimization for decision making in health care using Python: a tutorial
JP7841586B2 (ja) 情報処理装置、制御方法及びプログラム
WO2023188073A1 (ja) 学習装置、提示装置、学習方法及び記憶媒体
Wang et al. Peel pack planning: a comparison of decomposition approaches

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23945046

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025532258

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025532258

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE