Information processing device, output method, and program
Patent Information
- Application Number
- JP2024572823
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Priority Date
- 2023-06-21
- Filing Date
- 2023-06-21
- Publication Date
- 2025-09-26
AI Technical Summary
Existing optimization systems often output solutions that are close in distance, lacking diversity, which hinders the understanding of optimization problems and alternative solutions.
An information processing device, method, and storage medium that output a predetermined number of solutions by maximizing the minimum distance between them, using the Multiplicative Weight Update (MWU) algorithm to ensure diversity, specifically in combinatorial optimization problems like complete bipartite matching.
This approach allows for the presentation of diverse solutions, preventing similarity among output solutions and ensuring that any two solutions are not similar, thus providing a comprehensive view of optimization problems.
Abstract
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 desired trading volume and trading price match, and presents the matching results. Non-Patent Literature 1 also discloses an algorithm that takes a set of diverse sets in the sense of maximizing the sum of distances.
[0003] International Publication WO2021 / 001977
[0004] T. Hanaka, M. Kiyomi, Y. Kobayashi, Y. Kobayashi, K. Kurita, and Y. Otachi. A framework to design approximation algorithms for finding diverse solutions in combinatorial problems. arXiv preprints, arXiv:2201.08940, 2022.
[0005] When finding a solution to an optimization problem, it may be necessary to output a variety of solutions so that the overall picture of the problem and alternatives can be grasped. In this case, when diverse solutions are found in the sense of maximizing the sum of distances based on the method of Non-Patent Document 1, there is a possibility that the multiple solutions to be output will include solutions that are close in distance.
[0006] In view of the above-mentioned problems, one object of the present disclosure is to provide an information processing device, an output method, and a storage medium that output a plurality of diverse solutions.
[0007] One aspect of the information processing device is an information processing device having an output means for, when outputting a predetermined number of solutions from a plurality of solutions in an optimization problem, outputting, as the predetermined number of solutions, candidates selected as the predetermined number of solutions, whose minimum value of the distance between the solutions satisfies a predetermined condition.
[0008] One aspect of the output method is an output method in which, when a computer outputs a predetermined number of solutions from a plurality of solutions to an optimization problem, the computer acquires, from among the candidates selected as the predetermined number of solutions, a candidate whose minimum value of the distance between the solutions satisfies a predetermined condition, and outputs the acquired candidates as the predetermined number of solutions.
[0009] One aspect of the storage medium is a storage medium that stores a program that causes a computer to execute a process of, when outputting a predetermined number of solutions from a plurality of solutions in an optimization problem, acquiring, from among candidates selected as the predetermined number of solutions, candidates whose minimum value of the distance between the solutions satisfies a predetermined condition, and outputting the acquired candidates as the predetermined number of solutions.
[0010] It is possible to output multiple diverse solutions.
[0011] 4A ; 4B ; 4C ; 4D ; 4E ; 4F ; 4G ; 4H ...
[0012] Hereinafter, embodiments of an information processing device, an output method, and a storage medium will be described with reference to the drawings.
[0013] 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.
[0014] The information processing device 1 outputs a solution to a specified combinatorial optimization problem. In this embodiment, the information processing device 1 calculates multiple solutions to the specified combinatorial optimization problem and presents the calculated multiple solutions. In this case, the information processing device 1 generates a variety of multiple solutions with variations.
[0015] 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 combinatorial optimization problem. The traded goods may be fuels such as LNG, steel, machinery, electronics, textiles, chemical products, medical products, food, or any other goods.
[0016] 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.
[0017] The input device 2 is an interface that accepts user input, which is external input, and corresponds to, for example, a touch panel, buttons, a keyboard, a voice input device, etc. The input device 2 supplies input information “S1” generated based on the user input to the information processing device 1.
[0018] The display device 3 is, for example, a display, a projector, or the like, and performs a predetermined display based on the display information “S2” supplied from the information processing device 1.
[0019] 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 a combinatorial optimization problem to be solved by the information processing device 1 (also referred to as "problem specification information") and a program that calculates a predetermined number of solutions to the specified combinatorial optimization problem. The problem specification information includes information that indicates the conditions (including parameters related to problem setting) of the combinatorial optimization problem to be solved by the information processing device 1. At least a part of the problem specification information may be generated based on input information S1 generated by the input device 2 operated by the user.
[0020] 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.
[0021] 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 also be configured as a plurality of devices. In this case, the plurality of devices that make up the information processing device 1 exchange information required to execute pre-assigned processing between these plurality of devices.
[0022] (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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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 the input device 2 and the display device 3. Furthermore, the information processing device 1 may be connected to or have a built-in sound output device such as a speaker.
[0027] (3) Functional Blocks Fig. 3 shows an example of functional blocks of the processor 11 in the first embodiment. Functionally, the processor 11 includes a presented solution generator 15 and a UI (User Interface) controller 16. Note that in Fig. 3, blocks that exchange data are connected by solid lines, but the combination of blocks that exchange data is not limited to Fig. 3. The same applies to other functional block diagrams described later.
[0028] The presented solution generator 15 generates "k" (k is an integer equal to or greater than 2) solutions (also referred to as "presented solutions") to be presented to the user from among the solutions of the specified combinatorial optimization problem. In this case, as will be described later, the presented solution generator 15 determines the k presented solutions to be diverse solutions with variation. The presented solution generator 15 supplies information about the generated presented solutions to the UI control unit 16.
[0029] Each proposed solution indicates a matching in a specified combinatorial optimization problem. For example, if there are n sellers and n buyers to be matched (n is an integer equal to or greater than 2), the proposed solution indicates n pairs of sellers and buyers. In this case, the combinatorial optimization problem corresponds to a perfect matching of size n in a complete bipartite graph with n points on the left and n points on the right. Thus, in this embodiment, as an example, the specified combinatorial optimization problem is a combinatorial optimization problem whose solution is a perfect matching in a complete bipartite graph. Note that the combinatorial optimization problems targeted in this disclosure are not limited to those that require matching, and the targets for which various solutions are sought in this disclosure are not limited to matching.
[0030] The UI control unit 16 controls the acceptance of user input and the display of information to be viewed by the user. In this case, the UI control unit 16 accepts user input necessary for generating problem specification information based on input information S1 supplied from the input device 2, and controls the display of presented solutions on the display device 3 by supplying display information S2 to the display device 3. In the latter example, the UI control unit 16 generates display information S2 related to the k presented solutions supplied from the presented solution generation unit 15 and supplies the generated display information S2 to the display device 3. Specific processing by the UI control unit 16 will be described later with reference to display examples.
[0031] The components of the proposed solution generator 15 and the UI controller 16 described in FIG. 3 can be realized, for example, by the processor 11 executing a program. Alternatively, the necessary programs may be recorded in any nonvolatile storage medium and installed as needed to realize the components. At least some of the components may not necessarily be realized by software programs, but may be realized by any combination of hardware, firmware, and software. At least some of the components may be realized using a user-programmable integrated circuit, such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, the integrated circuit may be used to realize a program consisting of the above components. 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.
[0032] (4) Generation of proposed solutions Next, a method for generating a proposed solution by the proposed solution generator 15 will be described. In this embodiment, as an example, when generating a perfect matching (perfect bipartite matching) of a complete bipartite graph as a proposed solution, the proposed solution generator 15 generates k perfect bipartite matchings that are diverse in the sense of maximizing the minimum distance. Note that in the present disclosure, the object for which diverse solutions are sought is not limited to matchings.
[0033] Here, a specific example of complete bipartite matching will be described. Fig. 4(A) shows a complete bipartite graph with three points on each side, and Fig. 4(B) shows an example of complete matching in the complete bipartite graph shown in Fig. 4(A). Note that in Fig. 4(B), matching edges are indicated by thick lines. This also applies to the figures described below.
[0034] Next, we will explain the above-mentioned maximization of the minimum distance in detail using mathematical formulas. Let "V" be the set of edges of a complete bipartite graph, and "S" (⊆2 V ), and the weight of the branch is represented as "w", the proposed solution generator 15 generates k proposed solutions S i ∈S (i=1,...,k),
[0035] The solution for which the weighted Hamming distance between solutions (i.e., a set of node pairs) is maximized is found. This corresponds to finding k solutions for which the minimum value of the weighted Hamming distance between solutions (i.e., a set of node pairs) is maximized. Note that when maximizing the sum of the distances between solutions as in Non-Patent Document 1, k proposed solutions including solutions that are similar to each other (e.g., proposed solutions that form two separate groups (clusters)) may be obtained. On the other hand, in this embodiment, by approximately maximizing the minimum value of the distance between solutions (i.e., maximizing Equation (1)), it is possible to preferably prevent the k proposed solutions from including the above-mentioned similar solutions, and to preferably find k proposed solutions in which any two solutions are dissimilar. The weighted Hamming distance is an example of the "distance between solutions," and the k proposed solutions for which the minimum value of the weighted Hamming distance is approximately maximized are an example of "candidates that satisfy a predetermined condition."
[0036] Here, parameters such as the weight w for each edge, the number n of vertices on one side of the complete bipartite graph (a set of vertices with no edges between them), the number k of presented solutions, and a parameter δ (described later) are stored as problem specification information in the storage device 4. The UI control unit 16 may display an input screen on the display device 3 that accepts user input specifying each of the above parameters, and store problem specification information indicating each parameter specified by user input on the input screen in the storage device 4. The weight w for each edge may be a value specified by the user, or if not specified by the user, may be a default value set to be a common value (e.g., "1") for each edge.
[0037] In this embodiment, the proposed solution generator 15 calculates a solution S that maximizes Equation (1) by using an algorithm that uses the framework of Multiplicative Weight Update (MWU), which is a type of dual gradient method. i ∈S (i=1, . . . , k). In this case, the proposed solution generator 15 calculates S i ∈S (i=1, . . . , k) is calculated probabilistically and approximately.
[0038] Generally, for a perfect bipartite matching of size n with n points on each side, there are n! matching candidates. Therefore, as n gets larger, the number of all matching candidates increases dramatically.
[0039] In consideration of the above, in this embodiment, the proposed solution generator 15 emphasizes the efficiency of the algorithm and uses an algorithm using the MWU framework (also called an “MWU-based algorithm”) to find S that maximizes Equation (1). i ∈S (i=1, . . . , k) is calculated approximately.
[0040] Next, the details of the MWU-based algorithm will be explained. In the MWU-based algorithm, the edge set V, the weight w, the number of solutions k, and the parameter δ (>0) are input, and S 1 , . . . , S kThe output is as follows. We also assume the existence of an oracle that can efficiently determine whether a subset V' of edges set V is included in set family S when it is given. Note that whether a given edges set V' is a perfect matching in the target complete bipartite graph can be determined by checking that each vertex has exactly one edge connected to it (for example, if there is a vertex that does not have exactly one edge connected to it, then it is not a perfect matching), so it is possible to determine whether it is a perfect matching by checking this for each vertex.
[0041] First, the proposed solution generator 15 1 The proposed solution generator 15 arbitrarily determines S ∈ S. 1 ∈S may be determined based on any combinatorial optimization algorithm, or may be selected from the set S by a random method. l The following algorithm ("S") is a sub-algorithm within the MWU-based algorithm that determines ∈S (l=2,...,k). l , k, and execute the algorithm S 1 , . . . , S k Determine.
[0042] Next, S l The decision sub-algorithm is explained below. l In the decision sub-algorithm, the edge set V, the weight w, the index l, the parameter δ (>0), and the proposed solution S already determined are used. 1 , . . . , S l-1 By taking input and executing the following process (1st step to 4th step), S l In addition, we assume the existence of an oracle that can efficiently determine whether a subset V' of a branches set V is included in the set family S, given the subset V'.
[0043] First, in the first step, the presented solution generator 15 calculates "T", "η", and "β" as follows: (1) ", "γ (1) " will be decided.
[0044] Here, "W" in the above formula is calculated based on the following formula.
[0045] Next, as a second step, the following processes A, B, and C are executed for each of t=1, . . . T−1.
[0046] In process A, the proposed solution generator 15 (t) ∈S, the following equation (2) is taken to be equal to or greater than "μ" times the maximum value. Here, this process A is assumed to be performed using an existing solver or the like.
[0047] Here, "d w " is the weighted Hamming distance between solutions and is expressed by the following formula:
[0048]
[0049] Next, in process B, the presented solution generator 15 calculates β for each of i=1, . . . , l−1 based on the following equation (3).
[0050] Furthermore, as a process C, the presented solution generator 15 calculates γ for each of i=1, . . . , l−1 based on the following equation (4).
[0051] Then, in the third step, the presented solution generator 15 (T) ∈S, the following equation (5) is taken as μ times or more of the maximum value.
[0052] In addition, the value of S (T) The algorithm for approximately finding εS is the algorithm used in the process A of the second step, and is an algorithm that guarantees that the formula (5) will be μ times or more the maximum value.
[0053] Then, in the fourth step, the presented solution generator 15 l As, S (t) , T with a probability proportional to the frequency of appearance at t=1,...,T. Then, the proposed solution generator 15 performs the above-mentioned first to fourth steps, lThe decision sub-algorithm is executed for each of l=2, . . . , k. As a result, the proposed solution generator 15 finds S that maximizes Equation (1). i ∈S (i=1, . . . , k) can be calculated probabilistically and approximately.
[0054] Here, a supplementary explanation will be given regarding the properties of the proposed solution output by the above-mentioned MWU-based algorithm.
[0055] For the maximization of the above-mentioned formulas (2) and (5), we assume that a feasible solution with an objective function value μ times the maximum value can be found in the most efficient time required by the user. Furthermore, for weighted maximization on the set S based on formula (1), we assume that the optimal value of the optimal solution is "Ψ". In this case, the property shown in the following formula (6) is guaranteed.
[0056] Note that "E" in equation (6) represents the expected value for the stochastic element of the MWU-based algorithm described above.
[0057] In this way, the proposed solution generator 15 can determine a variety of proposed solutions with theoretical guarantees by using the MWU-based algorithm.
[0058] Next, a specific example of generating a proposed solution will be described.
[0059] Figure 5 shows the weight w for each edge in a complete bipartite graph with three points on each side. In this case, the edge set V is the set of nine edges in the graph, and the set S is the set of all complete bipartite matchings. Figure 6 shows the proposed solution S output when the MWU-based algorithm is executed with "k = 3" and "δ = 4" in the complete bipartite graph shown in Figure 5. 1 , S 2 , S 3 Here is an example:
[0060] In this case, first, the presented solution generator 15 calculates S 1 ∈S is determined by any method. Then, the proposed solution generator 15 l By executing the decision sub-algorithm for "l=2" and "l=3", S that maximizes Equation (1) is obtained. i∈S (i=1, 2, 3) is calculated probabilistically and approximately.
[0061] Here, S at "l=2" l In the determination sub-algorithm, "T=1" is set. Therefore, in this case, the proposed solution generator 15 selects S (T) ∈S is one (i.e. S (1) Therefore, S (1) S 2 Select as.
[0062] Also, S in "l=3" l In the determination sub-algorithm, T=351. Therefore, in this case, the proposed solution generator 15 selects S (T) ∈S is 351 (i.e., S (1) ~S (351) ) Therefore, in the third step, the presented solution generator 15 (1) ~S (351) With equal probability, S 3 Select .
[0063] (5) Display Example Fig. 7 is a display example of a proposed solution display screen that is a screen that the UI control unit 16 displays on the display device 3. The UI control unit 16 generates display information S2 for displaying the proposed solution display screen based on the processing result generated by the proposed solution generation unit 15, and transmits the generated display information S2 to the display device 3 via the interface 13, thereby displaying the proposed solution display screen on the display device 3. Here, matching between buyers (Ba, Bb, Bc, ...) and sellers (Sa, Sb, Sc, ...) is specified as the combinatorial optimization problem to be solved. Also, in this example, k = 3.
[0064] The UI control unit 16 displays, on the proposed solution display screen, a proposed solution table 53 that shows combinations of sellers and buyers based on the proposed solutions (solution X, solution Y, solution Z, ...) determined by the proposed solution generation unit 15. The proposed solution table 53 has a record for each proposed solution, and each record has a details button 54 for checking detailed information about the corresponding solution.
[0065] Furthermore, in the space below the presented solution table 53, the UI control unit 16 clearly indicates that the most similar solution pair (i.e., the solution pair with the smallest weighted Hamming distance) is solution X and solution Z. In this way, the UI control unit 16 can allow the user to understand the most similar solution pair. Similarly, in the space below the presented solution table 53, the UI control unit 16 clearly indicates that the most dissimilar solution pair (i.e., the solution pair with the largest weighted Hamming distance) is solution Y and solution Z. In this way, the UI control unit 16 can allow the user to understand the most dissimilar solution pair.
[0066] (6) Processing Flow FIG. 8 is an example of a flowchart executed by the information processing device 1 in the first embodiment.
[0067] First, the information processing device 1 acquires problem specification information that specifies a combinatorial optimization problem for which a solution is 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 S1 supplied by the input device 2. As a result, the information processing device 1 acquires the edges set V, the weight w, the number of presented solutions k, the parameter δ, etc. Also, here, it is assumed that there exists an oracle that can efficiently determine whether a subset V' of the edges set V is included in the set family S, when that subset V' is given.
[0068] Next, the information processing device 1 generates k solutions by maximizing the minimum value of the distance between the solutions (step S12). In this case, the information processing device 1 generates k presented solutions (S i ∈S(i=1,...,k)) This allows us to determine a variety of proposed solutions with theoretical guarantees (see equation (6)).
[0069] Then, the information processing device 1 displays information about the presented solution determined in step S12 on the display device 3 (step S13). This allows the information processing device 1 to present a variety of solutions to the user and encourage the user to make a decision.
[0070] Second Embodiment Fig. 9 shows the configuration of an optimization system 100A in the second embodiment. As shown in Fig. 9, the optimization system 100A mainly includes an information processing device 1A, a storage device 4, and a terminal device 5. The information processing device 1A and the terminal device 5 perform data communication via a network 6.
[0071] The information processing device 1A performs processing related to optimization that is executed by the information processing device 1 in the first embodiment. In this case, the information processing device 1A receives input information S1, which the information processing device 1 receives from the input device 2 in the first embodiment, from the terminal device 5 via the network 6. The information processing device 1A also transmits display information S2, which the information processing device 1 transmitted to the display device 3 in the first embodiment, to the terminal device 5 via the network 6. In this way, the information processing device 1A according to the second embodiment functions as a server device.
[0072] 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 S1 generated based on a received user input to the information processing device 1A via the network 6. Furthermore, when the terminal device 5 receives display information S2 from the information processing device 1A, it displays a proposed solution display screen or the like based on the display information S2.
[0073] The information processing device 1A according to the second embodiment can preferably execute the input process and display process executed by the information processing device 1 in the first embodiment for the user of the terminal device 5 .
[0074] FIG. 10 is a diagram showing the relationship between a user, an information processing device 1A, and a terminal device 5 in the second embodiment. As shown in FIG. 10 , 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 necessary for the algorithm. The terminal device 5 exchanges information with the information processing device 1A to present a proposed solution display screen showing various proposed solutions to the user. The terminal device 5 may also accept an input evaluating the diversity of the set of presented proposed solutions and transmit information indicating the evaluation result as feedback information to the information processing device 1A. In this case, the information processing device 1A may accumulate the feedback information received from the terminal device 5 and use the accumulated feedback information for learning a model for calculating various proposed solutions.
[0075] Furthermore, in the use case shown in FIG. 10, similarly to the first embodiment, various theoretically guaranteed solutions are presented to the user, thereby facilitating the user's decision-making.
[0076] Here, as an application example, the problem of matching patients and hospitals will be described. FIG. 11(A) is a diagram showing an outline of the patient-hospital matching problem. 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 patients, and matches patients with hospitals based on this information. The optimization system 100A then presents various matching proposals for the optimal hospital where each patient should be admitted. Note that this application example can also be applied to the optimization system 100 of the first embodiment.
[0077] FIG. 11(B) shows an example of the data structure of patient information, and FIG. 11(C) shows an example of the data structure of hospital information. The patient information shown in FIG. 11(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. 11(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.
[0078] 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.
[0079] According to this application example, the optimization system 100A matches patients with hospitals so as to realize optimal patient acceptance by the hospitals, and presents a proposed solution display screen showing various matching results to the patients or to an administrator who allocates patients to hospitals, etc. In this way, the optimization system 100A can smoothly execute appointments with hospitals for each patient.
[0080] 12 is a functional block diagram of an information processing device 1X according to a third embodiment. The information processing device 1X mainly includes an output unit 15X. The information processing device 1X may be composed of a plurality of devices.
[0081] When outputting a predetermined number of solutions from multiple solutions for an optimization problem, the output means 15X outputs, as the predetermined number of solutions, candidates selected as the predetermined number of solutions whose minimum distance between the solutions satisfies a predetermined condition. The output means 15X may be the presented solution generator 15 and / or the UI control unit 16 in the first or second embodiment. Note that "outputting" is not limited to displaying the predetermined number of solutions on a display device or the like, but may also be transmitting the predetermined number of solutions to another device (including storing them in an external or built-in storage device). Furthermore, the "predetermined number of solutions" may be, for example, "k presented solutions" in the first or second embodiment, and the "distance between solutions" may be, for example, the "weighted Hamming distance" in the first or second embodiment.
[0082] 13 is an example of a flowchart executed by the information processing device 1X in the third embodiment. When outputting a predetermined number of solutions from multiple solutions for an optimization problem, the output means 15X acquires, from among the candidates selected as the predetermined number of solutions, a candidate whose minimum value of the distance between solutions satisfies a predetermined condition (step S21). Then, the output means 15X outputs the acquired candidates as the predetermined number of solutions (step S22).
[0083] When outputting a plurality of solutions to an optimization problem, the information processing device 1X according to the third embodiment can suitably output a predetermined number of diverse solutions.
[0084] 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.
[0085] [Supplementary Note 1] An information processing device having output means for, when outputting a predetermined number of solutions from a plurality of solutions for an optimization problem, outputting, as the predetermined number of solutions, candidates selected as the predetermined number of solutions, whose minimum value of the distance between the solutions satisfies a predetermined condition. [Supplementary Note 2] The information processing device according to Supplementary Note 1, wherein the output means outputs, as the candidate that satisfies the predetermined condition, a candidate for which the minimum value of the distance between the solutions is approximately maximized. [Supplementary Note 3] The information processing device according to Supplementary Note 2, wherein the output means determines, based on multiplicative weight update, a candidate for which the minimum value of the distance between the solutions is approximately maximized. [Supplementary Note 4] The information processing device according to Supplementary Note 1, wherein the optimization problem is a combinatorial optimization problem whose solution is a perfect matching of a complete bipartite graph, and wherein the distance between the solutions is a Hamming distance. [Supplementary Note 5] The information processing device according to Supplementary Note 4, wherein a weight is set for each edge of the complete bipartite graph, and wherein the distance between the solutions is a weighted Hamming distance. [Supplementary Note 6] The information processing device according to Supplementary Note 1, wherein the output means controls display of the predetermined number of solutions. [Supplementary Note 7] The information processing device according to Supplementary Note 6, wherein the output means transmits display information displaying the predetermined number of solutions to the terminal device based on a request from the terminal device used by a user. [Supplementary Note 8] An output method, wherein a computer, when outputting a predetermined number of solutions from a plurality of solutions to an optimization problem, acquires, from candidates selected as the predetermined number of solutions, candidates whose minimum value of distance between the solutions satisfies a predetermined condition, and outputs the acquired candidates as the predetermined number of solutions. [Supplementary Note 9] A storage medium storing a program that causes a computer to execute a process of, when outputting a predetermined number of solutions from a plurality of solutions to an optimization problem, acquiring, from candidates selected as the predetermined number of solutions, candidates whose minimum value of distance between the solutions satisfies a predetermined condition, and outputting the acquired candidates as the predetermined number of solutions.
[0086] 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.
[0087] 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.
[0088] 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 output means for outputting, when a predetermined number of solutions are output from a plurality of solutions in an optimization problem, candidates selected as the predetermined number of solutions, the candidates having a minimum value of the distance between the solutions satisfying a predetermined condition, as the predetermined number of solutions; An information processing device having the above.
2. The information processing apparatus according to claim 1 , wherein the output means outputs, as the candidate that satisfies the predetermined condition, a candidate that approximately maximizes a minimum value of the distance between the solutions.
3. The information processing apparatus according to claim 2 , wherein the output means determines the candidate that approximately maximizes the minimum value of the distance between the solutions based on a multiplicative weight update.
4. the optimization problem is a combinatorial optimization problem with a solution of a perfect matching of a complete bipartite graph, The information processing device according to claim 1 , wherein the distance between the solutions is a Hamming distance.
5. a weight is assigned to each edge of the complete bipartite graph; The information processing device according to claim 4 , wherein the distance between the solutions is a weighted Hamming distance.
6. The information processing apparatus according to claim 1 , wherein said output means controls to display said predetermined number of solutions.
7. 7. The information processing apparatus according to claim 6, wherein said output means transmits display information displaying said predetermined number of solutions to a terminal device used by a user, based on a request from said terminal device.
8. The computer When a predetermined number of solutions are output from a plurality of solutions for an optimization problem, a candidate whose minimum value of the distance between the solutions satisfies a predetermined condition is acquired from among the candidates selected as the predetermined number of solutions; outputting the acquired candidates as the predetermined number of solutions; Output method.
9. A program that causes a computer to execute a process of, when outputting a predetermined number of solutions from multiple solutions in an optimization problem, acquiring candidates from among the candidates selected as the predetermined number of solutions whose minimum value of the distance between the solutions satisfies a predetermined condition, and outputting the acquired candidates as the predetermined number of solutions.