Optimization support apparatus, optimization support method, and optimization support program
The optimization support device facilitates the selection of appropriate solution methods for optimization problems by converting problem information into an intermediate representation and choosing suitable solutions, enhancing accuracy and efficiency in solving these problems.
Patent Information
- Application Number
- JP2024112209
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-12
- Publication Date
- 2026-01-23
AI Technical Summary
Existing technologies face difficulties in selecting an appropriate solution method for optimization problems, making it challenging to derive solutions with sufficient accuracy within an allowable time on a real data scale.
An optimization support device that includes an acquisition unit to gather information about the optimization problem, a conversion unit to convert this information into an intermediate representation, a selection unit to choose a suitable solution based on the representation, and an output unit to provide the selected solution.
Enables easy selection of a solution method suitable for the optimization problem, ensuring accuracy and efficiency in solving optimization problems.
Smart Images

Figure 2026011519000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an optimization support device and the like. [Background technology]
[0002] In an optimization problem, for example, a solution to the problem is derived by applying a solution method appropriate for the problem to be optimized. The solution method used to derive a solution to the problem to be optimized may be, for example, an exact solution method that precisely finds the optimal solution, or an approximate solution method. The approximate solution method may be, for example, a metaheuristic or a heuristic. Software capable of executing each solution method may also be used. Software capable of executing each solution method is called, for example, a solver. The solution method to be applied to the problem to be optimized is selected based on the settings and constraints of the problem to be optimized. Furthermore, in an optimization problem, it is required to derive a solution with sufficient accuracy within an allowable time, for example, on a real data scale. Therefore, in an optimization problem, it may be necessary to select a solution method appropriate for the problem to be optimized.
[0003] The search device in Patent Document 1 acquires data indicating the characteristics of a problem to be optimized, and then searches a database for an optimization problem associated with data that matches the data indicating the characteristics of the problem to be optimized. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2023 / 286171 Summary of the Invention [Problem to be solved by the invention]
[0005] With the technology described in Patent Document 1, it may be difficult to select a solution method suitable for the problem to be optimized.
[0006] In order to solve the above-mentioned problems, the present disclosure aims to provide an optimization support device and the like that can easily select a solution method suitable for a problem to be optimized. [Means for solving the problem]
[0007] In order to solve the above problems, the optimization support device disclosed herein comprises an acquisition means for acquiring information related to the problem to be optimized, a conversion means for converting the information related to the problem to be optimized into an intermediate representation that represents the characteristics of the information related to the problem to be optimized, a selection means for selecting, based on the converted intermediate representation, a solution to be applied to the problem to be optimized from solutions associated with intermediate representations that represent the characteristics of the problem that are suitable for application, and an output means for outputting information related to the selected solution.
[0008] The optimization support method disclosed herein acquires information about the problem to be optimized, converts the information about the problem to be optimized into an intermediate representation that represents the characteristics of the information about the problem to be optimized, and, based on the converted intermediate representation, selects a solution to be applied to the problem to be optimized from solutions associated with intermediate representations that represent the characteristics of the problem that are suitable for application, and outputs information about the selected solution.
[0009] The optimization support program disclosed herein is an optimization processing program that causes a computer to execute the following processes: acquiring information about the problem to be optimized; converting the information about the problem to be optimized into an intermediate representation that represents the characteristics of the information about the problem to be optimized; selecting, based on the converted intermediate representation, a solution to be applied to the problem to be optimized from solutions associated with intermediate representations that represent the characteristics of the problem that are suitable for application; and outputting information about the selected solution. [Effects of the Invention]
[0010] According to the present disclosure, a solution method suitable for the problem to be optimized can be easily selected. [Brief explanation of the drawings]
[0011] [Figure 1]FIG. 1 is a diagram illustrating an example of the configuration of an optimization system according to an embodiment of the present disclosure. [Figure 2] FIG. 1 is a diagram illustrating an example of the configuration of an optimization support device according to an embodiment of the present disclosure. [Figure 3] FIG. 10 is a diagram illustrating an example of information indicating the content of a problem to be optimized in an embodiment of the present disclosure. [Figure 4] FIG. 10 is a diagram illustrating an example of information indicating the content of a problem to be optimized in an embodiment of the present disclosure. [Figure 5] FIG. 10 is a diagram illustrating an example of information indicating the content of a problem to be optimized in an embodiment of the present disclosure. [Figure 6] FIG. 10 is a diagram illustrating an example of a selection result of a solution to a problem to be optimized in an embodiment of the present disclosure. [Figure 7] FIG. 1 is a diagram illustrating an example of the configuration of an optimization system according to an embodiment of the present disclosure. [Figure 8] FIG. 10 is a diagram illustrating an example of an operation flow of an optimization support device according to an embodiment of the present disclosure. [Figure 9] FIG. 1 is a diagram illustrating an example of a hardware configuration according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0012] Embodiments of the present disclosure will be described in detail with reference to the drawings. FIG. 1 is a diagram illustrating an example of the configuration of an optimization system. The optimization system includes, for example, an optimization support device 10 and terminal devices 20. The optimization support device 10 is connected to the terminal devices 20 via, for example, a network. The number of terminal devices 20 is set as appropriate.
[0013] The optimization system, for example, selects a solution to be applied to a problem to be optimized. The problem to be optimized is, for example, a phenomenon for which a solution to the problem is to be estimated using an optimization solution. For example, the problem to be optimized is a phenomenon for which an optimal solution is to be estimated by mathematical optimization. The solution to be applied to the optimization problem is, for example, a heuristic used to solve the problem to be optimized. The heuristic is, for example, an approximate solution method for deriving a solution to the problem to be optimized. The solution to be applied to the optimization problem may be a metaheuristic. The solution to be applied to the optimization problem may be an exact solution. Furthermore, the selected solution may include a solver used in a process to derive a solution to the problem to be optimized. The solver is, for example, software that performs a process to derive a solution to the problem to be optimized. Furthermore, the optimal solution may include a range of solutions that are suitable as a solution to the problem to be optimized. In other words, the optimal solution to the problem to be optimized is not limited to a single solution.
[0014] The optimization system selects a solution to be applied to the problem to be optimized from solutions stored, for example, as a database. The solutions are stored, for example, in association with information indicating the characteristics of the problem suitable for each solution. The information indicating the characteristics of the problem suitable for each solution is stored, for example, as an intermediate representation. The intermediate representation is data obtained by converting information about the problem to be optimized and information indicating the characteristics of the problem suitable for each solution. For example, the intermediate representation is data converted so as to be suitable for determining the degree of match between the problem to be optimized and the problems associated with each solution. Specific examples of intermediate representations will be described later.
[0015] The optimization system selects a solution to be applied to the problem to be optimized from solution methods associated with an intermediate representation that represents characteristics of the problem that are suitable for application, based on, for example, an intermediate representation converted from information about the problem to be optimized. The information about the problem to be optimized is, for example, information that indicates the content of the problem to be optimized. For example, the information that indicates the content of the problem to be optimized is information that indicates the settings and constraints of the problem to be optimized. By selecting a solution based on the intermediate representation, the optimization system can select a solution to be applied to the problem to be optimized even if, for example, the information that indicates the content of the problem to be optimized is written differently. A person performing the task of estimating a solution to the problem to be optimized references, for example, the results of the selection of a solution to be applied to the problem to be optimized, and determines the solution to be actually applied to the problem to be optimized.
[0016] Here, an example of the configuration of the optimization support device 10 will be described. FIG. 2 is a diagram showing an example of the configuration of the optimization support device 10. The optimization support device 10 basically includes an acquisition unit 11, a conversion unit 12, a selection unit 13, and an output unit 14. The optimization support device 10 may further include a storage unit 15.
[0017] The acquisition unit 11 acquires information about the problem to be optimized. For example, the acquisition unit 11 acquires, as information indicating the content of the problem to be optimized, a sentence indicating the settings and constraints of the problem to be optimized. Furthermore, as information indicating the content of the problem to be optimized, the acquisition unit 11 may acquire an equation indicating the settings and constraints of the problem to be optimized. Furthermore, as information indicating the content of the problem to be optimized, the acquisition unit 11 may acquire a sentence and an equation indicating the settings and constraints of the problem to be optimized.
[0018] The acquisition unit 11 acquires information relating to the problem to be optimized, for example, from the terminal device 20. The information relating to the problem to be optimized is input to the terminal device 20 by a person in charge of estimating a solution to the problem to be optimized, for example.
[0019] 3 and 4 are examples of information indicating the content of the problem to be optimized. The example of information indicating the content of the problem to be optimized shown in FIG. 3 is a sentence indicating the settings and constraints of the problem to be optimized. In the example of FIG. 3, the settings and constraints of the problem to be optimized are shown in sentences. Also, in the example of information indicating the content of the problem to be optimized shown in FIG. 4, the settings and constraints of the problem to be optimized are shown using equations. The example of FIG. 4 is an equation indicating the settings and constraints of a problem with the same content as the problem to be optimized shown in the example of FIG. 3. In the example of FIG. 4, each equation is associated with a sentence indicating the content of the equation.
[0020] The information regarding the problem to be optimized may be information indicating the characteristics of the problem to be optimized. The information indicating the characteristics of the problem to be optimized is information indicating one or more of the field to which the problem to be optimized is applied, the purpose of optimization, the optimization index, the variables used for optimization, and the functions used for optimization. The information indicating the characteristics of the problem to be optimized is, for example, keywords that indicate the characteristics of the problem to be optimized. There may be multiple keywords. The information indicating the characteristics of the problem to be optimized may be a sentence in which a person in charge expresses the characteristics of the problem to be optimized. The person in charge is, for example, a person who performs the task of estimating a solution to the problem to be optimized. Furthermore, the information indicating the characteristics of the problem to be optimized is not limited to the above. Furthermore, the information regarding the problem to be optimized is not limited to the above.
[0021] The acquiring unit 11 may acquire, as information related to the problem to be optimized, information indicating part of the content of the problem to be optimized. For example, when a person in charge inputs a sentence indicating part of the content of the problem to be optimized, the acquiring unit 11 acquires the input sentence as information indicating part of the content of the problem to be optimized. In this case, the person in charge is, for example, a person who performs the task of estimating a solution to the problem to be optimized.
[0022] Fig. 5 is an example of a sentence showing part of the content of the problem to be optimized. The example sentence in Fig. 5 shows, for example, part of the content of the problem to be optimized shown by the sentence in Fig. 3. When performing the task of estimating a solution to the problem to be optimized, the person in charge can obtain a solution to be applied to the problem to be optimized by, for example, inputting a sentence such as that shown in the example in Fig. 5 into the optimization support device 10 via the terminal device 20.
[0023] The acquisition unit 11 may acquire, as the information regarding the problem to be optimized, an image showing the content of the problem to be optimized. The image showing the content of the problem to be optimized is, for example, a photograph or a drawing showing the content of the problem to be optimized. The image showing the content of the problem to be optimized is not limited to the above. Furthermore, the acquisition unit 11 may acquire, as the information regarding the problem to be optimized, a table showing the content of the problem to be optimized. Furthermore, the acquisition unit 11 may acquire, as the information regarding the problem to be optimized, audio data showing the content of the problem to be optimized. The form of the information regarding the problem to be optimized is not limited to the above.
[0024] The acquiring unit 11 may acquire a solution and information indicating the characteristics of the problem associated with the solution. For example, the acquiring unit 11 may acquire the information indicating the characteristics of the problem associated with the solution in a state that has not been converted into an intermediate representation. The information indicating the characteristics of the problem associated with the solution is, for example, information in the same format as information about the problem to be optimized.
[0025] The conversion unit 12 converts information about the problem to be optimized into an intermediate representation that is data representing the characteristics of the problem to be optimized. For example, the conversion unit 12 converts information about the problem to be optimized into an intermediate representation used to select a solution to be applied to the optimization target. For example, the intermediate representation converted from the information about the problem to be optimized is data that enables a solution suitable for the problem to be selected by comparing it with an intermediate representation that indicates the characteristics of the problem associated with the solution. For example, the conversion unit 12 converts information about the problem to be optimized into an intermediate representation used to select a solution associated with a problem similar to the problem to be optimized. "Similar" means, for example, that when the same solution is used, an appropriate solution can be obtained for both problems. For example, the information about the problem to be optimized is a first intermediate representation, and an intermediate representation that indicates the characteristics of the problem associated with the solution is a second intermediate representation. In this case, the conversion unit 12 converts information about the problem to be optimized into the first intermediate representation so that a solution suitable for the problem to be optimized can be selected, for example, based on the similarity between the first intermediate representation and the second intermediate representation.
[0026] The conversion unit 12 uses, for example, a conversion model to convert information about the problem to be optimized into an intermediate representation, which is data that represents the features of the problem to be optimized. The conversion model is, for example, a machine learning model that receives information about the problem to be optimized as input and converts the information about the problem to be optimized into an intermediate representation. The conversion model converts information about the problem to be optimized into an intermediate representation, for example, so that intermediate representations of information about the problem to be optimized that are similar before conversion are similar to each other. The conversion model uses, for example, a natural language processing method to convert sentences that indicate the content of the problem to be optimized into feature vectors that are intermediate representations. The conversion model converts information about the problem to be optimized into feature vectors, for example, so that feature vectors converted from information about similar problems to be optimized are similar to each other.
[0027] The conversion model is generated, for example, using sentences showing the characteristics of multiple questions and data indicating whether the sentences are identical as training data. In the conversion model generation stage, the conversion model is trained to convert sentences showing the characteristics of multiple questions into feature vectors so that, for example, when two sentences are similar, the distance between the feature vectors converted from each sentence is small. In this case, "similar" means, for example, that the sentences show the same content despite different expressions. For example, the conversion model is trained to convert sentences showing the characteristics of multiple questions into feature vectors so that the distance between the feature vectors converted from each sentence is small when two sentences show the same content. Furthermore, for example, when two sentences are not identical, the conversion model is trained to convert sentences showing the characteristics of multiple questions into feature vectors so that the distance between the feature vectors converted from each sentence is large. The conversion model is generated, for example, by deep learning using a neural network.
[0028] The conversion unit 12 may convert information about the problem to be optimized into the intermediate representation by normalizing expressions included in the information about the problem to be optimized. For example, the conversion unit 12 normalizes expressions included in the information about the problem to be optimized by transforming them into another equivalent expression. For example, the conversion unit 12 normalizes expressions by performing one or more processes among standardizing symbol notation, generalizing numerical information, and typical transformation.
[0029] The notation alignment refers to standardizing characters included in an expression according to a standard. For example, if "a," "b," and "c" are used as variables in an expression included in information about the problem to be optimized, and the standard specifies that "x," "y," and "z" are used as variables, the conversion unit 12 replaces "a," "b," and "c" with "x," "y," and "z." This type of conversion corresponds to, for example, the alignment of symbol notation. For example, if the information about the problem to be optimized includes numerical information such as "3 people," the conversion unit 12 generalizes "3 people" by replacing it with "M people." This type of conversion corresponds to, for example, the generalization of numerical information. For example, if the information about the problem to be optimized includes an inequality, the conversion unit 12 moves the variable to the left side and the constant to the right side. This type of conversion corresponds to, for example, a transformation. The conversion unit 12 normalizes the expression included in the information about the problem to be optimized based on a set rule. The conversion unit 12 may also normalize the expression included in the information about the problem to be optimized using a conversion model. In this case, the transformation model is generated by, for example, reinforcement learning.
[0030] Furthermore, the conversion unit 12 may convert the normalized formula into a feature vector to convert the formula included in the information related to the problem to be optimized into the intermediate representation. For example, the conversion unit 12 converts the normalized formula into a feature vector using a conversion model to convert the formula included in the information related to the problem to be optimized into the intermediate representation.
[0031] When converting an expression included in information about a problem to be optimized into an intermediate representation, the conversion model is generated, for example, as follows. The learning device that generates the conversion model performs training on the conversion model to generate a model that converts the expression included in the problem so that the distance between the feature vector converted from the expression and the feature vector converted from the expression obtained by randomly applying allowable operations to the expression and transforming it is small. The learning device that generates the conversion model also performs training on the conversion model to generate a model that converts the expression included in the problem so that the distance between the feature vector converted from the expression of another problem is large. The conversion model is generated, for example, by deep learning using a neural network. The algorithm for generating a conversion model that converts each of a sentence and an expression into a feature vector is not limited to the above.
[0032] The conversion model that converts text representing information about the problem to be optimized into an intermediate representation and the conversion model that converts formulas included in the information about the problem to be optimized into an intermediate representation may be the same machine learning model or may be different machine learning models. Furthermore, the conversion model may convert information representing the content of a problem that includes a mixture of formulas and text into an intermediate representation.
[0033] Furthermore, when information related to the problem to be optimized includes information other than text and formulas, the conversion unit 12 may convert the information other than text and formulas included in the information related to the problem to be optimized into an intermediate representation using a conversion model that converts information other than text and formulas into an intermediate representation. The information other than text and formulas included in the information related to the problem to be optimized is, for example, information in one or more forms of images, diagrams, and tables. The information other than text and formulas included in the information related to the problem to be optimized is not limited to the above.
[0034] When the object to be converted into the intermediate representation is an image, a diagram, or a table, the conversion model identifies the image, diagram, or table using, for example, image recognition technology, and then converts the identification result into the intermediate representation.
[0035] For example, if the target to be converted into an intermediate representation is an image, the conversion model uses image recognition technology to identify the object or state of the object shown in the image. Then, the conversion model converts the target image to be converted into an intermediate representation by, for example, converting the object or state of the object shown in the image into a feature vector.
[0036] Furthermore, for example, when the object to be converted into an intermediate representation is a diagram, the conversion model uses image recognition technology to identify the structure of an object depicted in the diagram. For example, the conversion model uses image recognition technology to identify points that indicate characteristics of the structure of the object depicted in the diagram. Then, the conversion model converts the identified points that indicate characteristics of the structure of the object into a feature vector, thereby converting the diagram to be converted into an intermediate representation.
[0037] Furthermore, for example, if the object to be converted into an intermediate representation is a table, the conversion model uses image recognition technology to identify the characters and numbers contained in the table, and then converts the identified characters and numbers into feature vectors, thereby converting the table to be converted into an intermediate representation.
[0038] The conversion model may be a machine learning model that converts text and formulas contained in information about the problem to be optimized and information other than text and formulas into an intermediate representation. A machine learning model that converts data in multiple forms in this way is also called a multimodal model.
[0039] The conversion unit 12 may convert information about the problem to be optimized into an intermediate representation by extracting keywords from the information about the problem. In this case, the intermediate representation is, for example, keywords extracted from the information about the problem to be optimized. The conversion unit 12, for example, extracts keywords that represent characteristics of the content of the problem from the information about the problem to be optimized. For example, if the information about the problem to be optimized is the sentence shown in the example of FIG. 3, the conversion unit 12 converts the information about the problem to be optimized into an intermediate representation by extracting the keywords "working hours," "equally," "assembly," and "allocation." The keywords to be extracted are set, for example, as a dictionary. The conversion unit 12 may convert the keywords extracted from the information about the problem to be optimized into synonymous keywords to convert the information about the problem to the intermediate representation. In this case, the keywords before conversion and the keywords after conversion are set as data associated with each other. Furthermore, synonyms may include similar terms. For example, if the conversion unit 12 extracts the keyword "equally" from the sentence shown in the example of FIG. 3, it converts "equally" to "equal."
[0040] The conversion unit 12 extracts keywords and converts them into synonymous keywords using a well-known natural language processing method. The conversion unit 12 may extract keywords and convert them into synonymous keywords using information about the problem to be optimized as input to a language model. For example, Word2Sec may be used as the language model. For example, GPT-2 (Generative Pre-trained Transformer-2), GPT-3, GPT-3.5, or GPT-4 may be used as the language model. Furthermore, Claude3, T5 (Text-to-Text Transfer Transformer), BERT (Bidirectional Encoder Representations from Transformers), RoBERTa (Robustly optimized BERT approach), or ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately) may be used as the language model. The language model is not limited to the above.
[0041] When information indicating the characteristics of the problem associated with the solution is acquired without being converted into an intermediate representation, the conversion unit 12 may convert the information indicating the characteristics of the problem associated with the solution into an intermediate representation. The conversion unit 12 converts the characteristics of the problem associated with the solution into an intermediate representation, for example, using a method similar to the method used to convert information about the problem to be optimized into an intermediate representation.
[0042] The selection unit 13 selects a solution to be applied to the problem to be optimized from among solutions associated with an intermediate representation that represents the characteristics of the problem suitable for application, based on an intermediate representation obtained by converting information related to the content of the problem to be optimized.
[0043] The selection unit 13 selects a solution to be applied to the problem to be optimized based on, for example, a score indicating its suitability as a solution to be applied to the problem to be optimized. The score indicating the suitability of a solution to be applied to the problem to be optimized is, for example, an index indicating the degree to which a solution is suitable for application to the problem to be optimized. The suitability of a solution to be applied to the problem to be optimized is set, for example, so that the higher the suitability of the solution to be applied to the problem to be optimized, the higher the score of the solution. The score indicating the suitability of a solution to be applied to the problem to be optimized is, for example, based on the similarity between an intermediate representation obtained by converting information about the content of the problem to be optimized and an intermediate representation associated with the solution. Furthermore, the scores may be weighted, for example, based on at least one of the empirical performance and ease of implementation of each solution. By weighting, for example, when scores based on similarity are the same, it is possible to select a solution that is appropriate in terms of performance and implementation. The weights related to empirical performance and ease of implementation are set, for example, by a person performing the task of estimating a solution to the problem to be optimized. The selection unit 13 calculates a weighted score by, for example, multiplying the score based on the similarity by a set weight. For example, an intermediate representation converted from information related to the problem to be optimized is defined as a first intermediate representation, and an intermediate representation associated with the solution is defined as a second intermediate representation. In this case, when the similarity of the intermediate representations is used as the score, the selection unit 13 selects a solution to be applied to the problem to be optimized based on, for example, the similarity between the first intermediate representation and the second intermediate representation.
[0044] When the similarity of the intermediate representation is used as the score, if the intermediate representation is a feature vector, the score is, for example, the similarity between the feature vector obtained by converting information about the content of the problem to be optimized and the feature vector associated with the solution. The similarity between the feature vector obtained by converting information about the content of the problem to be optimized and the feature vector associated with the solution is, for example, the Euclidean distance or cosine similarity between the feature vectors. The similarity when the intermediate representation is a feature vector is not limited to the above. In this case, for example, the score becomes higher the more similar the intermediate representations are to each other.
[0045] The selection unit 13 may calculate a score based on the intermediate representation converted for each classification of information indicating the content of the problem to be optimized. The classification of information is, for example, a category indicating what role the information plays in the problem. The classification of information is, for example, a category indicating whether the text indicates the problem setting, constraints, or optimization criteria. The classification of information is not limited to the above.
[0046] For example, if the intermediate representation is a feature vector converted from a sentence, the selection unit 13 calculates the similarity between the feature vector converted from the problem to be optimized and the feature vector associated with the solution, based on the feature vectors converted from each of the sentences indicating the problem setting, constraints, and optimization criteria.The selection unit 13 then calculates the average of the calculated similarities as the score.Also, if the intermediate representation is a feature vector converted from an equation, the selection unit 13 calculates the similarity between the feature vector converted from the problem to be optimized and the feature vector associated with the solution, based on the feature vectors converted from each of the equations indicating the problem setting, constraints, and optimization criteria.The selection unit 13 then calculates the average of the calculated similarities as the score.The selection unit 13 may also calculate the score using statistics other than the average of the similarities.
[0047] The selection unit 13 may also calculate a score by weighting the similarity calculated for each information category. For example, the selection unit 13 calculates a score by weighting each of the similarity of the feature vectors converted from the information indicating the problem settings, the similarity of the feature vectors converted from the information indicating the constraints, and the similarity of the feature vectors converted from the information indicating the optimization criteria. The weights for each information category are set, for example, by a person in charge of estimating a solution to the problem to be optimized or an administrator of the optimization support device 10.
[0048] When the intermediate representation is a normalized expression, the score may be an index indicating the degree of match of the normalized expression. For example, the selection unit 13 calculates, as a score, the degree of match between the normalized expression associated with the problem to be optimized as an intermediate representation and the normalized expression associated with the solution as an intermediate representation. Then, the selection unit 13 selects a solution to be applied to the problem to be optimized based on the calculated score. For example, the selection unit 13 calculates, as the score, the ratio of matching expressions to the total number of expressions included in the information about the problem to be optimized.
[0049] When the intermediate representation is a normalized expression, the selection unit 13 may calculate the degree of match for each expression classification. The expression classification is, for example, a category indicating what role the expression plays in the problem. The expression classification is, for example, a category indicating whether the expression indicates the problem setting, the constraint, or the optimization criterion. The expression classification is not limited to the above. For example, when there are expressions normalized to indicate the problem setting, expressions normalized to indicate the constraints, and expressions normalized to indicate the optimization criterion, the selection unit 13 calculates the degree of match for each expression classification. Then, the selection unit 13, for example, calculates the average value of the calculated degrees of match as the score. Furthermore, the selection unit 13 may calculate the score using a statistic other than the average value of the degrees of match.
[0050] Furthermore, the selection unit 13 may calculate a score by weighting the degree of agreement calculated for each formula category. For example, the selection unit 13 calculates a score by weighting each of the degrees of agreement of formulas normalized to indicate the problem settings, the formulas normalized to indicate the constraints, and the formulas normalized to indicate the optimization criteria. The weights for each formula category are set, for example, by a person in charge of estimating a solution to the problem to be optimized or an administrator of the optimization support device 10.
[0051] The selection unit 13 selects, for example, the solution with the highest score as the solution to be applied to the problem to be optimized. For example, if the score is the similarity of the intermediate representation, the selection unit 13 selects, as the solution to be applied to the problem to be optimized, the solution associated with the intermediate representation that has the highest similarity to the intermediate representation obtained by converting information about the content of the problem to be optimized.
[0052] The selection unit 13 may select multiple solution methods as the solution methods to be applied to the problem to be optimized. For example, the selection unit 13 selects a solution method whose score satisfies a criterion as the solution method to be applied to the problem to be optimized. The score criterion is set, for example, so that a solution method whose score satisfies the criterion is a solution method suitable for solving the problem to be optimized. Furthermore, the selection unit 13 may select a predetermined number of solution methods from the top of the scores as candidate solution methods to be applied to the problem to be optimized. Furthermore, the selection unit 13 may select a predetermined number of solution methods from the top of the scores that satisfy the criterion as candidate solution methods to be applied to the problem to be optimized. The predetermined number is set so as to enable confirmation of details of multiple solution methods as candidate solution methods to be applied to the problem to be optimized while preventing the confirmation workload from becoming excessive.
[0053] The selection unit 13 may transform an expression included in the information about the problem to be optimized, and select a solution to be applied to the problem based on the degree of match between the transformed expression and an expression associated with the solution. The selection unit 13, for example, calculates a score based on the ratio of matching expressions to the total number of expressions included in the information about the problem to be optimized. The selection unit 13, for example, transforms an expression included in the information about the problem to be optimized based on a criterion for transforming the expression. The selection unit 13 then selects, as the solution to be applied to the problem to be optimized, a solution associated with an expression that most closely matches the expression obtained by transforming the expression included in the information about the problem to be optimized. The selection unit 13 may also transform the expression after normalization. The criterion for transforming the expression is set, for example, as data associating the expression to be transformed with the transformed expression. The criterion for transforming the expression is set, for example, as data associating terms and symbols included in the expression to be transformed with a method for transforming the terms and symbols.
[0054] The selection unit 13 may use a formula transformation model to transform a formula included in information related to the problem to be optimized. The formula transformation model is a machine learning model that receives a formula as input and outputs a transformed formula. The formula transformation model is generated, for example, by reinforcement learning. A learner that generates the formula transformation model transforms a formula included in the problem to be optimized, for example, using the formula transformation model. The learner that generates the formula transformation model calculates, for example, the degree of agreement between the transformed formula and a formula with the same content as the transformed formula. Then, the learner learns the formula transformation model, for example, so as to improve the degree of agreement between the transformed formula and a formula equivalent to the transformed formula.
[0055] The selection unit 13 may select a solution to be applied to the problem to be optimized based on the degree of agreement between an equation obtained by transforming an equation included in the problem to be optimized and a solution whose score satisfies the criteria for transforming the equation. The score indicates, for example, the suitability of the solution to be applied to the problem to be optimized. For example, the selection unit 13 calculates the degree of agreement with the transformed equation for an equation associated with a solution whose score satisfies the criteria for transforming the equation. That is, the selection unit 13 extracts solution candidate candidates by calculating the scores, and selects a solution to be applied to the problem to be optimized from the extracted candidates based on the degree of agreement calculated by transforming the equation.
[0056] The selection unit 13 may select a solution to be applied to the problem to be optimized from among the hierarchical solution methods. When selecting a solution to be applied to the problem to be optimized from among the hierarchical solution methods, the selection unit 13 selects candidate solution methods to be applied to the problem to be optimized from among the solution methods in a higher hierarchy, for example, based on the score. Then, the selection unit 13 selects a solution to be applied to the problem to be optimized from among the solutions associated with the extracted solution, based on the score.
[0057] A hierarchical structure means, for example, that a solution derived from the solution is associated with the solution in a lower layer. A derived solution refers to, for example, a solution obtained by partially modifying a solution. For example, if solutions B and C are generated by modifying some of the constraints of solution A, solutions B and C are, for example, derived solutions of solution A. Also, for example, solutions B and C are solutions in a lower layer than solution A. In other words, solution A is, for example, in a higher layer than solutions B and C. A derived solution may also be a solution obtained by partially modifying a solution based on the changes to the problem when a part of the problem is changed. The changes may also include additions to the problem content. For example, if solution A is appropriate for a problem, and some of the constraints are changed or added, and solutions B and C are more appropriate solutions, solutions B and C are, for example, derived solutions of solution A. For example, when solution A, which is at a higher level, is selected as a solution candidate, the selection unit 13 selects from solution B and solution C a solution to be applied to the problem to be optimized.
[0058] The output unit 14 outputs information about the selected solution. The output unit 14 outputs, for example, information indicating the content of the selected solution. The information indicating the content of the selected solution is, for example, a sentence and an equation indicating the solution. The information indicating the content of the selected solution may be either a sentence or an equation indicating the solution. The output unit 14 may output identification information of the selected solution. The identification information is, for example, the number or name of the solution. The identification information is not limited to the above. The output unit 14 may output a score indicating the suitability of the selected solution for the problem to be optimized. Furthermore, the output unit 14 may output a list of the identification information of the solution and the score for each solution. Furthermore, for example, when a solution is selected on a screen displaying the output list, the output unit 14 may output information indicating the content of the selected solution.
[0059] The output unit 14 outputs information about the selected solution method to, for example, the terminal device 20. The output unit 14 may also output information about the selected solution method to an information processing device (not shown) that executes a process of deriving an optimal solution to the problem to be optimized.
[0060] The output unit 14 may further output, as information about the selected solution, a reason for selecting the solution to be applied to the problem to be optimized. The output unit 14 outputs the reason for selecting the solution, for example, based on the results of transforming an equation included in the information about the problem. For example, when transforming an equation, the output unit 14 outputs the reason for selecting the solution based on the content of the transformation of the equation that had the greatest effect on increasing the degree of match. The selection reason may also be associated with the solution. In this case, the output unit 14 outputs the selection reason associated with the solution as the reason for selecting the solution.
[0061] FIG. 6 is a diagram showing an example of a display screen for information related to a selected solution. In the example of the display screen in FIG. 6, a "problem candidate to be reduced," a "solution candidate," and a "rationale" are displayed. In the example of the display screen in FIG. 6, the "problem candidate to be reduced" is the name of a problem associated with the solution to be applied to the problem to be optimized. For example, in the example of the display screen in FIG. 6, the "problem candidate to be reduced" is the name of a problem with the same content as the problem to be optimized. That is, in the example of the display screen in FIG. 6, the "problem candidate to be reduced" is, for example, the name of the problem to be optimized. The "solution candidate" is the name of the solution selected as the solution to the problem to be optimized. Furthermore, in the candidate display screen in FIG. 6, the "rationale" is information indicating the rationale for selecting the solution to be applied to the problem to be optimized. By referring to the example of the display screen in FIG. 6, a person in charge of estimating a solution to the problem to be optimized can estimate a solution to the problem to be optimized using a solution suitable for the problem to be optimized.
[0062] The memory unit 15, for example, selects information relating to a process for selecting a solution to be applied to a problem to be optimized. The memory unit 15, for example, stores information relating to the problem to be optimized. The memory unit 15, for example, stores the selection result of a solution to be applied to the problem to be optimized. The memory unit 15, for example, stores a transformation model. The memory unit 15, for example, stores a formula transformation model. The transformation model and the formula transformation model may also be stored in a storage means external to the optimization support device 10.
[0063] Furthermore, the storage unit 15 stores, for example, data associating intermediate representations representing characteristics of problems suitable for application with solutions as a database. The database associating intermediate representations representing characteristics of problems suitable for application with solutions may be stored in a storage means external to the optimization support device 10. FIG. 7 shows an example of an optimization system in which a database associating intermediate representations representing characteristics of problems suitable for application with solutions is stored in the data storage device 30. In the example of the optimization system in FIG. 7, the data storage device 30 stores, for example, a database associating intermediate representations representing characteristics of problems suitable for application with solutions.
[0064] In the optimization system shown in the example of Fig. 7, the selection unit 13 of the optimization support device 10 outputs the intermediate representation converted by the conversion unit 12 to the data storage device 30 as a search query. The data storage device 30 selects a solution to be applied to the problem to be optimized based on the intermediate representation acquired as the search query. The selection unit 13 then acquires the selected solution to be applied to the problem to be optimized from the data storage device 30.
[0065] The terminal device 20 is, for example, a terminal device used by a person in charge of estimating a solution to a problem to be optimized. The terminal device 20 acquires, for example, information related to the problem to be optimized that is input by the person in charge of estimating a solution to the problem to be optimized. The terminal device 20 then outputs the information related to the problem to the acquisition unit 11 of the optimization support device 10, for example.
[0066] The terminal device 20 acquires information about the solution method selected by the selection unit 13 of the optimization support device 10, for example, from the output unit 14 of the optimization support device 10. Then, the terminal device 20 outputs the information about the selected solution method to, for example, a display device (not shown).
[0067] The terminal device 20 may, for example, execute a process of deriving an optimal solution for the problem to be optimized using a solution method acquired from the output unit 14 of the optimization support device 10. Then, the terminal device 20 outputs the derived optimal solution to a display device (not shown). Furthermore, the process of deriving an optimal solution for the problem to be optimized using the solution method selected by the optimization support device 10 may be executed by an execution means (not shown) within the optimization support device 10.
[0068] The following describes the operation of selecting a solution to be applied to a problem to be optimized in the optimization support device 10. Fig. 8 shows an example of the operational flow of the process of selecting a solution to be applied to a problem to be optimized in the optimization support device 10.
[0069] The acquisition unit 11 acquires information about the problem to be optimized (step S11). The acquisition unit 11 acquires information about the problem to be optimized from the terminal device 20, for example.
[0070] When the information on the problem to be optimized is acquired, the conversion unit 12 converts the information on the problem to be optimized into an intermediate representation that represents the characteristics of the information on the problem to be optimized (step S12).
[0071] When the information about the problem to be optimized is converted into an intermediate representation, the selection unit 13 selects a solution to be applied to the problem to be optimized from the solution methods associated with the intermediate representation that represents the characteristics of the problem suitable for application, based on the converted intermediate representation (step S13).
[0072] When a solution is selected, the output unit 14 outputs information related to the selected solution (step S14). The output unit 14 outputs the information related to the selected solution to the terminal device 20, for example.
[0073] The optimization support device 10 converts information about the problem to be optimized into an intermediate representation that represents the characteristics of the information about the problem to be optimized. Then, based on the converted intermediate representation, the optimization support device 10 selects a solution to be applied to the problem to be optimized from solution methods associated with intermediate representations that represent the characteristics of the problem that are suitable for application. In this way, by making a selection based on the intermediate representation that represents the characteristics of the information about the problem to be optimized, the optimization support device 10 can easily select a solution that is suitable for the problem to be optimized.
[0074] For example, by converting information indicating the content of the problem to be optimized into an intermediate representation, the optimization support device 10 can select a solution method suitable for the problem to be optimized even if there are differences in the representation methods. Also, for example, if heuristics suitable for each problem are stored in a database as solutions, by converting information indicating the content of the problem to be optimized into an intermediate representation, the optimization support device 10 can select a solution method suitable for the problem to be optimized from among many subdivided solution methods. Therefore, the optimization support device 10 can improve the accuracy of selecting a solution method suitable for the problem to be optimized.
[0075] Furthermore, for example, by using the score to select candidate solutions to be applied to the problem to be optimized, modifying the formula that indicates the content of the problem to be optimized, and selecting a solution that is suitable for the problem to be optimized based on the degree of agreement with the formula contained in the solution, the optimization support device 10 can efficiently select a solution that is more suitable for the problem to be optimized.
[0076] Each process in the optimization support device 10 can be realized by executing a computer program on a computer. Fig. 9 shows an example of the configuration of a computer 100 that executes a computer program that performs each process in the optimization support device 10. The computer 100 includes a CPU (Central Processing Unit) 101, a memory 102, a storage device 103, an input / output I / F (Interface) 104, and a communication I / F 105.
[0077] The CPU 101 reads and executes computer programs for performing each process from the storage device 103. The CPU 101 may be configured by a combination of multiple CPUs. The CPU 101 may also be configured by a combination of a CPU and another type of processor. For example, the CPU 101 may be configured by a combination of a CPU and a graphics processing unit (GPU). The memory 102 is configured by a dynamic random access memory (DRAM) or the like, and temporarily stores the computer programs executed by the CPU 101 and data being processed. The storage device 103 stores the computer programs executed by the CPU 101. The storage device 103 is configured by, for example, a non-volatile semiconductor storage device. Other storage devices such as a hard disk drive may also be used for the storage device 103. The input / output I / F 104 is an interface that receives input from an operator and outputs display data, etc. The communication I / F 105 is an interface that transmits and receives data between the terminal device 20, the data storage device 30, and other information processing devices. Furthermore, the terminal device 20 and the data storage device 30 may have the same configuration as the computer 100 .
[0078] The computer program used to execute each process can also be stored and distributed on a computer-readable recording medium that non-temporarily stores data. Examples of recording media that can be used include magnetic tapes for recording data and magnetic disks such as hard disks. Optical disks such as CD-ROMs (Compact Disc Read Only Memory) can also be used as recording media. Non-volatile semiconductor storage devices can also be used as recording media.
[0079] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes.
[0080] [Appendix 1] an acquisition means for acquiring information about the problem being optimized; a conversion means for converting information relating to the problem to be optimized into an intermediate representation representative of characteristics of the information relating to the problem to be optimized; a selection means for selecting, based on the converted intermediate representation, a solution to be applied to the problem to be optimized from solution methods associated with intermediate representations that represent characteristics of the problem suitable for application; an output means for outputting information about the selected solution; An optimization support device comprising:
[0081] [Appendix 2] the conversion means converts information about the problem to be optimized into the intermediate representation used to select a solution associated with a problem similar to the problem to be optimized; 2. The optimization support device according to claim 1.
[0082] [Appendix 3] the conversion means converts information about the problem to be optimized into the intermediate representation by converting sentences included in the information about the problem to be optimized into feature vectors. 3. The optimization support device according to claim 2.
[0083] [Appendix 4] the conversion means converts information about the problem to be optimized into the intermediate representation by normalizing expressions included in the information about the problem to be optimized; 3. The optimization support device according to claim 2.
[0084] [Appendix 5] the conversion means converts the normalized formula into a feature vector, thereby converting the formula included in the information related to the problem to be optimized into the intermediate representation; 5. The optimization support device according to claim 4.
[0085] [Appendix 6] the selection means transforms an equation included in the information about the problem, and selects a solution to be applied to the problem based on a degree of agreement between the transformed equation and an equation associated with a solution; 6. The optimization support device according to claim 4 or 5.
[0086] [Appendix 7] the selection means selects a solution to be applied to the problem to be optimized based on a degree of coincidence between the transformed formula and a formula associated with a solution selected as a candidate solution to be applied to the problem to be optimized. 7. The optimization support device according to claim 6.
[0087] [Appendix 8] the conversion means converts the information about the problem to be optimized into the intermediate representation by extracting keywords from the information about the problem to be optimized; 3. The optimization support device according to claim 2.
[0088] [Appendix 9] the output means further outputs a reason for selecting the solution, the reason being generated based on a transformation result of an equation included in the information about the problem to be optimized. 8. The optimization support device according to claim 7.
[0089] [Appendix 10] the solution method is a heuristic that estimates a solution to the problem being optimized; 10. An optimization support device according to any one of appendices 1 to 9.
[0090] [Appendix 11] Get information about the problem you are optimizing, converting information about the problem to be optimized into an intermediate representation that represents characteristics of the information about the problem to be optimized; selecting a solution to be applied to the problem to be optimized from among solution methods associated with intermediate representations that represent characteristics of the problem suitable for application based on the converted intermediate representation; outputting information about the selected solution; Optimization support methods.
[0091] [Appendix 12] obtaining information about the problem being optimized; converting information about the problem to be optimized into an intermediate representation that represents characteristics of the information about the problem to be optimized; selecting a solution to be applied to the problem to be optimized from among solution methods associated with intermediate representations that represent characteristics of the problem suitable for application, based on the converted intermediate representation; A process of outputting information about the selected solution method. An optimization support program that runs the above on a computer.
[0092] Furthermore, some or all of the configurations described in Supplementary Notes 2 to 10, which are dependent on Supplementary Note 1, may also be dependent on Supplementary Notes 11 and 12 in the same dependent relationship as Supplementary Notes 2 to 10. Furthermore, not limited to Supplementary Notes 1, 11, and 12, some or all of the configurations described as Supplements may be made dependent on various hardware, software, various recording means for recording software, or systems, within the scope of each of the above-mentioned embodiments.
[0093] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate. [Explanation of symbols]
[0094] 10 Optimization support device 11 Acquisition Department 12 Conversion unit 13 Selection Department 14 Output section 15 Storage section 20 Terminal equipment 100 computers 101 CPU 102 memory 103 Storage device 104 Input / Output Interface 105 Communication I / F
Claims
1. an acquisition means for acquiring information about the problem being optimized; a conversion means for converting information relating to the problem to be optimized into an intermediate representation representative of characteristics of the information relating to the problem to be optimized; a selection means for selecting, based on the converted intermediate representation, a solution to be applied to the problem to be optimized from solution methods associated with intermediate representations that represent characteristics of the problem suitable for application; an output means for outputting information about the selected solution; An optimization support device comprising:
2. the conversion means converts information about the problem to be optimized into the intermediate representation used to select a solution associated with a problem similar to the problem to be optimized; The optimization support device according to claim 1 .
3. the conversion means converts information about the problem to be optimized into the intermediate representation by converting sentences included in the information about the problem to be optimized into feature vectors. The optimization support device according to claim 2 .
4. the conversion means converts information about the problem to be optimized into the intermediate representation by normalizing expressions included in the information about the problem to be optimized; The optimization support device according to claim 2 .
5. the conversion means converts the normalized formula into a feature vector, thereby converting the formula included in the information related to the problem to be optimized into the intermediate representation; 5. The optimization support device according to claim 4.
6. the selection means transforms an equation included in the information about the problem, and selects a solution to be applied to the problem based on a degree of agreement between the transformed equation and an equation associated with a solution; 6. The optimization support device according to claim 4 or 5.
7. the selection means selects a solution to be applied to the problem to be optimized based on a degree of coincidence between the transformed formula and a formula associated with a solution selected as a candidate solution to be applied to the problem to be optimized. The optimization support device according to claim 6.
8. the conversion means converts the information about the problem to be optimized into the intermediate representation by extracting keywords from the information about the problem to be optimized; The optimization support device according to claim 2 .
9. Get information about the problem you are optimizing, converting information about the problem to be optimized into an intermediate representation that represents characteristics of the information about the problem to be optimized; selecting a solution to be applied to the problem to be optimized from among solution methods associated with intermediate representations that represent characteristics of the problem suitable for application based on the converted intermediate representation; outputting information about the selected solution; Optimization support methods.
10. obtaining information about the problem being optimized; converting information about the problem to be optimized into an intermediate representation that represents characteristics of the information about the problem to be optimized; selecting a solution to be applied to the problem to be optimized from among solution methods associated with intermediate representations that represent characteristics of the problem suitable for application, based on the converted intermediate representation; A process of outputting information about the selected solution method. An optimization support program that runs the above on a computer.
Citation Information
Patent Citations
Search device, search method, and search program
WO2023286171A1