Optimization device, optimization method, and program
The optimization device automates mathematical optimization processes, enabling non-experts to solve business problems efficiently, addressing the need for specialized knowledge and time constraints.
Patent Information
- Application Number
- JP2024135663
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-15
- Publication Date
- 2026-02-27
AI Technical Summary
Applying mathematical optimization in business operations requires specialized knowledge, making it difficult for non-experts to introduce and utilize effectively, leading to time constraints and limited problem-solving capacity.
An optimization device and method that includes an input information acquisition means, code generation, program execution, and output means to support users without domain expertise, automating problem definition, model construction, coding, solution execution, and reporting using generative AI to generate and execute mathematical optimization processes.
Enables non-experts to efficiently solve business problems using mathematical optimization, reducing time and resource requirements, increasing problem-solving capacity, and promoting widespread industry adoption.
Smart Images

Figure 2026032763000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to the art of mathematical optimization. [Background technology]
[0002] Each industry incorporates mathematical optimization into its operations to solve various challenges in organizational management, such as resource allocation, cost reduction, profit maximization, and productivity improvement. To utilize mathematical optimization in operations, experts in each industry who are knowledgeable about mathematics apply mathematical optimization to the target operations. Without mathematical optimization, many decisions are made by experts based solely on their knowledge. Therefore, incorporating mathematical optimization into operations is gaining attention for sustainable decision-making and judgment. Patent Document 1 describes a method for solving optimization problems by invoking an optimization solver machine that generates a solution to the optimization problem based on user input. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-2331 Summary of the Invention [Problem to be solved by the invention]
[0004] However, applying mathematical optimization requires specialized knowledge in each domain and mathematical optimization knowledge to solve business problems, which takes time. Furthermore, since it requires not only specialized knowledge in each domain and mathematical optimization knowledge, but also the ability to create reports, it has often been difficult to introduce into business operations. Furthermore, consulting that uses mathematical optimization as a business task has limitations on the time it takes for business personnel to solve problems and the number of problems they can handle, which has made it difficult for the application of mathematical optimization to spread throughout the market.
[0005] One of the purposes of this disclosure is to support users who do not have domain expertise or knowledge of mathematical optimization in solving business problems using mathematical optimization. [Means for solving the problem]
[0006] In order to solve the above problem, in one aspect of the present disclosure, an optimization device includes: an input information acquisition means for acquiring input information relating to a question input by a user; a code generating means for generating a code based on the input information; a program execution means for executing a program based on the code and obtaining a solution; and an output means for outputting the solution.
[0007] In another aspect of the present disclosure, an optimization method performed by an optimization device includes: Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. The solution is output.
[0008] In yet another aspect of the disclosure, a program includes: Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. The computer is caused to execute a process for outputting the solution. [Effects of the Invention]
[0009] According to the present disclosure, it is possible to support users who do not have domain expertise or knowledge of mathematical optimization in solving business problems using mathematical optimization. [Brief explanation of the drawings]
[0010] [Figure 1] 1 shows an example of a schematic configuration of an optimization system. [Figure 2] 2 shows an example of the hardware configuration of a server and a user terminal. [Figure 3] FIG. 2 is a block diagram illustrating an example of a functional configuration of a server. [Figure 4] 10 is an example of a question input screen. [Figure 5] 10 is an example of a prompt and output result in the problem processing section. [Figure 6] 10 is an example of an additional input screen. [Figure 7] 10 is an example of a prompt and an output result in the modeling processing unit. [Figure 8] Here is an example of a prompt template for requesting conversion to code: [Figure 9] 10 is an example of a prompt and an output result in the encoding processing unit. [Figure 10] This is a sample code example when an error occurs. [Figure 11] 10 is an example of a prompt template for requesting a report. [Figure 12] 10 is an example of a prompt in the reporting processing unit. [Figure 13] 10 is an example of an output result from a report processing unit. [Figure 14] 10 is a flowchart of an optimization process. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. [Embodiment] (composition) 1 shows an example of the schematic configuration of an optimization system 100 to which the optimization device of the present disclosure is applied. The optimization system 100 is a system that supports users who do not have domain expertise or knowledge of mathematical optimization in solving business problems using mathematical optimization.
[0012] Here, mathematical optimization is the process of finding the optimal objective function value under specific constraints. The optimal objective function value may be the maximum or minimum objective function value. There are many mathematical optimization techniques, such as linear programming problems, nonlinear programming problems, integer programming problems, combinatorial optimization, black-box optimization, and optimization using machine learning models.
[0013] Domain knowledge is knowledge specific to a particular field, and the domains that can potentially involve mathematical optimization are diverse, including manufacturing, logistics and transportation, finance, energy, public transportation, healthcare, and retail. For example, in the manufacturing industry, mathematical optimization can be applied to optimization of manufacturing processes, resource allocation, production planning, inventory management, and supply chain management.
[0014] In the optimization system 100, a server 1 and a user terminal 2 are communicatively connected via a network 5 such as the Internet. The user terminal 2 is a tablet, PC, or the like used by a user who is trying to solve a business problem using mathematical optimization, and transmits information input by the user to the server 1.
[0015] The server 1 is an information processing device that processes, stores, and transmits / receives various data, and automates business processes for applying mathematical optimization based on information input by a user (hereinafter also referred to as "user-input information"). Specifically, based on the user-input information, the server 1 performs problem definition to obtain an overview of the problem to be solved, such as a business issue, constructs a mathematical optimization model (hereinafter also referred to as "mathematical model"), implements the model, and creates a report of the results. Here, model implementation includes coding, which converts the mathematical model into code, and solution-finding, which executes a program based on the code to obtain a solution.
[0016] 2 is a block diagram showing an example of the hardware configuration of the server 1. As shown in the figure, the server 1 includes an interface 11, a processor 12, a memory 13, a recording medium 14, a display unit 15, and an input unit 16. These components and the related DB 31 are interconnected via a bus.
[0017] The interface 11 exchanges data with the user terminal 2. The interface 11 is used when receiving user input information from the user terminal 2. The interface 11 is also used when the server 1 exchanges data with a specific device connected by wire or wirelessly. The interface 11 is also used when the server 1 acquires web information from the Internet, etc.
[0018] The processor 12 is a computer such as a CPU (Central Processing Unit), and executes a prepared program to control the entire server 1. The processor 12 may be a CPU, a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof.
[0019] The memory 13 is composed of a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The memory 13 stores programs executed by the processor 12. The memory 13 is also used as a working memory while the processor 12 is executing various processes.
[0020] The recording medium 14 is a non-volatile, non-transitory recording medium such as a disk-shaped recording medium or a semiconductor memory, and is configured to be detachable from the server 1. The recording medium 14 records various programs to be executed by the processor 12. When the server 1 executes the optimization process, the programs recorded on the recording medium 14 are loaded into the memory 13 and executed by the processor 12.
[0021] The display unit 15 displays a predetermined image on, for example, an LCD (Liquid Crystal Display), etc. The input unit 16 includes a keyboard, a mouse, a touch panel, etc., and is used by an operator who manages the server 1.
[0022] The related DB 31, which will be described in detail later, stores and manages information related to the business process for applying mathematical optimization, including problem definition, mathematical model construction, model implementation, and reporting of results.
[0023] 2(b) is a block diagram showing an example of the hardware configuration of the user terminal 2. As shown in the figure, the user terminal 2 includes an interface 21, a processor 22, a memory 23, a recording medium 24, a display unit 25, and an input unit 26.
[0024] The interface 21 exchanges data with the server 1 via the network 5. The interface 21 is used to send user input information to the server 1 and to receive various types of information from the server 1.
[0025] The processor 22 is a computer such as a CPU, and executes a prepared program to control the entire user terminal 2. The processor 22 may be a CPU, a GPU, a DSP, an MPU, an FPU, a PPU, a TPU, a quantum processor, a microcontroller, or a combination thereof.
[0026] The memory 23 is composed of a ROM, a RAM, etc. The memory 23 stores programs executed by the processor 22. The memory 23 is also used as a working memory while the processor 22 is executing various processes.
[0027] The recording medium 24 is a non-volatile, non-temporary recording medium such as a disk-shaped recording medium or semiconductor memory, and is configured to be detachable from the user terminal 2. The recording medium 24 records various programs executed by the processor 22. The display unit 25 is, for example, an LCD, and displays predetermined images. The input unit 26 is, for example, a touch panel, and is used when the user performs predetermined operations.
[0028] 3 is a block diagram showing an example of the functional configuration of the server 1. Functionally, the server 1 includes an information input unit 41, an information output unit 42, a problem processing unit 43, a modeling processing unit 44, a coding processing unit 45, a program execution unit 46, a report processing unit 47, and a search unit 48. The information input unit 41, the information output unit 42, the problem processing unit 43, the modeling processing unit 44, the coding processing unit 45, the program execution unit 46, the report processing unit 47, and the search unit 48 are realized by the processor 12 executing a program.
[0029] The processes of the problem processing unit 43, the modeling processing unit 44, the coding processing unit 45, and the report processing unit 47 are realized by generative AI (Artificial Intelligence). Specifically, the generative AI is an LLM (Large Language Model) capable of understanding multimodal information. In this embodiment, the processes of the problem processing unit 43, the modeling processing unit 44, the coding processing unit 45, and the report processing unit 47 are realized by generative AI, but this is not limited to this. For example, for an input sentence, vectorization by keywords or sentence embedding may be used to search for related sentences, case studies, and techniques in a database, or a desired output may be obtained by combining task-specific language models such as summarization, QA (Question Answering), and information extraction.
[0030] The information input unit 41 acquires user input information relating to the content of the problem to be solved, such as a business problem, e.g., what part of the business needs to be optimized. The user input information may be in the form of, for example, text, audio, figures, tables, various documents, or a combination of these. The user input information may also be in the form of an interaction, such as email messages, minutes, or audio data of a hearing between a user who is trying to solve a business problem using mathematical optimization and a consultant whose business is mathematical optimization.
[0031] FIG. 4 shows an example of a problem input screen displayed on the user terminal 2. As shown in FIG. 4, the problem input screen 50 includes a prompt such as "Please enter a problem" and an input field 51 into which the user inputs a problem, such as a business issue, to be solved. When a user wishes to solve a business issue using mathematical optimization, the user performs a predetermined operation to display the problem input screen shown in FIG. 4 on the user terminal 2. The user then inputs the problem content to be solved in text form into the input field 51, such as, "I will pack the items shown in the following table into a knapsack. What should I pack and how many of each item should I pack to maximize the total price of the packed items? However, it is acceptable to pack any number of the same item." The information input unit 41 acquires the information entered into the input field 51 from the user terminal 2 as user-input information.
[0032] The information output unit 42 outputs various pieces of information generated by the problem processing unit 43, the modeling processing unit 44, the coding processing unit 45, the program execution unit 46, and the report processing unit 47.
[0033] Based on user-input information about the problem, the problem processing unit 43 obtains an overview of the problem to be solved, clarifies the objective, identifies variables, and identifies constraints, and then generates and outputs a list of information necessary for constructing a mathematical model (hereinafter also referred to as "modeling"), such as objectives, constraints, data, and decision variables. Clarifying the objective involves clarifying what is to be optimized in the problem, such as cost reduction, profit maximization, or time reduction. Identifying variables involves identifying variables whose optimal values are to be found as the result of optimization, such as decision variables and manipulated variables in the problem. Identifying constraints involves clarifying constraints related to the problem. Problem-related constraints include, for example, resource limitations, time constraints, and legal requirements. For convenience, information such as objectives, constraints, data, and decision variables necessary for constructing a mathematical model is also referred to as "problem definition information."
[0034] The problem processing unit 43 may collectively output information such as problems and business processes related to the problems, allowing the user to check the output content and easily provide feedback. The user may also specify the output format, such as bullet points, figures, tables, and various documents, to the generation AI.
[0035] Specifically, the problem processing unit 43 can be realized by inputting a prompt requesting the generation of problem definition information to the generation AI based on user-input information. Here, the generation AI is an LLM that accepts various forms of data, including text and non-text, such as GPT-4 (registered trademark), Claude (registered trademark), and Gemini. The generation AI can also apply various forms of data, such as text, audio, figures, tables, various documents, or combinations thereof. Figure 5(a) shows an example of a prompt input to the generation AI by the problem processing unit 43. As shown in Figure 5(a), the prompt 52 includes an instruction 53 summarizing the key points necessary for formulating the mathematical optimization and the problem content 54 input by the user.
[0036] The key points required for formulating mathematical optimization are those required to build a mathematical model. The prompt is not limited to this, and can be set arbitrarily as long as it is an instruction that requests the generation of problem definition information required to build a mathematical model. Furthermore, examples of input and output may be provided as prompts to improve the accuracy of the formulation.
[0037] FIG. 5(b) shows an example of the output result of the generation AI. When a prompt such as that shown in FIG. 5(a) is input to the generation AI, the output result 55 shown in FIG. 5(b) is output. As shown in FIG. 5(b), the output result 55 includes a message 56 saying, "Here is a summary of the key points of the mathematical optimization formulation," a key point regarding the objective, constraints, and decision variables, and a message 57 indicating any missing data. The output result of the generation AI is transmitted to the user terminal 2 by the information output unit 42 and displayed. This allows the user to confirm the contents of the output result 55 output by the generation AI. As shown in FIG. 5(b), the output result includes instructions for the user to add information if there is insufficient information. In other words, for a user who is having difficulty inputting the problem to be solved, the server 1 can prompt the user to input the necessary information in a question-and-answer format and collect the necessary information. Note that the question-and-answer format of input can be applied not only to the problem processing unit 43 but also to the modeling processing unit 44, coding processing unit 45, and report processing unit 47, which will be described later.
[0038] FIG. 6 shows an example of the additional input screen 58. As shown in FIG. 6, the additional input screen 58 includes a message prompting the user to input additional information, such as "Please enter additional information," and an additional field 59 into which the additional information is input. To input additional information, the user performs a predetermined operation to display a problem input screen such as that shown in FIG. 6 on the user terminal 2. The additional information is information that the user wants to add after checking the contents of the output result 55, such as corrections or additional information. The user inputs, for example, the content of the data that was identified as missing in text form into the additional field 59. The information input unit 41 acquires the additional information input into the additional field 59 from the user terminal 2 as new user-input information. The additional information is reflected in various processes as necessary. For example, the problem processing unit 43 may generate problem definition information using a new prompt that reflects the additional information, or the modeling processing unit 44 (described later) may generate a mathematical model using a prompt that reflects the additional information.
[0039] If there is no additional information from the user and the user agrees to the content of the output result by the generation AI, the user agrees to the content of the output result by performing a predetermined operation and transmits consent information from the user terminal 2 to the server 1. The information input unit 41 acquires the consent information from the user terminal 2 as new user input information.
[0040] In addition, in order to clarify the objective, identify variables, and identify constraints, a relational database 31 may be prepared in advance, which stores past user input information and problem definition information generated based on the past user input information in association with each other. In this case, the problem processing unit 43 searches the relational database 31 for similar user input information via the search unit 48 and references the corresponding problem definition information. Specifically, the problem processing unit 43 can improve performance by, for example, inputting pairs of similar user input information and problem definition information as examples in the prompt of the generation AI. With such a relational database 31, new information is accumulated each time it is used, thereby improving the accuracy of generating problem definition information. In addition, the problem processing unit 43 may reference related information, such as web information and papers, in order to clarify the objective, identify variables, and identify constraints.
[0041] Furthermore, after checking the content of the output results by the generation AI, the user may point out any deficiencies or errors as additional information as appropriate to improve the quality of the output results. For example, as feedback after checking the output content, the user may ask the generation AI a question such as "Is there anything that you think is lacking in modeling?", allowing the user to input the missing information pointed out by the generation AI.
[0042] The modeling processor 44 constructs and outputs a mathematical model based on the problem definition information generated by the problem processor 43 and user-input information. Specifically, when the user agrees with the content of the output result from the problem processor 43, the modeling processor 44 forms an objective function and mathematically formulates the constraints based on the problem definition information, thereby formulating the problem into a mathematical model. In other words, the mathematical model is constructed by expressing the objective function, decision variables, constraints, and parameters in various equations in the form of a mathematical objective function for mathematical optimization. For example, if the objective function to be minimized can be expressed in the form of "f", the decision variable is "x", and the constraint is "g(x)>=0", the mathematical model of the problem is formulated as "minf(x)st,g(x)>=0".
[0043] In this embodiment, the mathematical model is formulated by forming an objective function and mathematically expressing constraints, but the present invention is not limited to this, and the mathematical model may be formulated by generating an expression equivalent to these.
[0044] The modeling processing unit 44 selects an appropriate optimization method to formulate the problem into a mathematical model, and may output the solution method as necessary. This outputs a policy on how to solve the problem. Specifically, the modeling processing unit 44 selects the optimal method for solving the problem from linear programming, nonlinear programming, integer programming, mixed integer programming, Bayesian optimization, simulated annealing, heuristics, etc., based on the problem's identification, such as linear, nonlinear, or discrete nature. The modeling processing unit 44 outputs the selected method and a solver used when adopting the selected method as the solution method. Examples of solvers include Gurobi and Optuna. The modeling processing unit 44 may also output the type of problem, such as the traveling salesman problem, knapsack problem, or facility location problem, as well as efficient formulation policies such as variable definition and problem decomposition, as the solution method.
[0045] Specifically, the modeling processing unit 44 can realize this by inputting a prompt to the generation AI requesting the formulation of a mathematical model based on the problem definition information generated by the problem processing unit 43 and user-input information. FIG. 7(a) shows an example of a prompt input to the generation AI by the modeling processing unit 44. As shown in FIG. 7(a), the prompt 60 includes instructions 61 for formulating the mathematical model and requesting a solution therefor, objectives, constraints, and decision variables acquired from the problem definition information generated by the problem processing unit 43, and additional information 62 input by the user. The prompt is not limited to instructions 61 and can be set arbitrarily as long as it results in a formulated formula or a desired policy. Examples of inputs and outputs may be provided as prompts to improve the accuracy of the formulation. Regarding the formulation of the mathematical model, rules regarding the symbols of the variables used may be provided as prompts to make the output easier to understand.
[0046] FIG. 7(b) shows an example of the output result of the generation AI in the modeling processing unit 44. When a prompt such as that shown in FIG. 7(a) is input to the generation AI, the output result 63 shown in FIG. 7(b) is output. As shown in FIG. 7(b), the output result 63 includes a message saying, "It can be formulated as follows," a message 64a explaining the type of problem, the decision variables, the objective function, and the mathematically formulated constraints, and a message 64b indicating the optimal method for solving the problem and the solver when that method is adopted. The output result of the generation AI is transmitted to the user terminal 2 by the information output unit 42 and displayed. This allows the user to confirm the content of the output result 63 by the generation AI. The user may input additional information from the additional input screen 58 as necessary. If the user does not provide additional information and agrees with the content of the output result by the modeling processing unit 44, the user transmits consent information from the user terminal 2 to the server 1 by a predetermined operation. The information input unit 41 acquires the consent information from the user terminal 2 as new user input information.
[0047] The relevance DB 31 may store information associating past problems with corresponding solutions. In this case, the modeling processing unit 44 searches for similar problems in the relevance DB 31 via the search unit 48 and refers to the corresponding solutions. Specifically, the modeling processing unit 44 can improve performance by, for example, inputting pairs of similar problems and solutions as examples in a prompt for the generation AI. The modeling processing unit 44 may also refer to related information, such as web information and papers, to formulate a mathematical model.
[0048] In addition, after checking the content of the output results generated by the generation AI, the user may point out any deficiencies or errors as additional information as appropriate to improve the quality of the output results.
[0049] The coding processing unit 45 converts the mathematical model into code. Specifically, when the user agrees with the content of the output result by the modeling processing unit 44, the coding processing unit 45 generates and outputs programming code based on the problem definition information generated by the problem processing unit 43 and the mathematical model formulated by the modeling processing unit 44.
[0050] Specifically, the coding processing unit 45 can be realized by inputting a prompt to the generation AI requesting code conversion based on the problem definition information generated by the problem processing unit 43, the objective function generated by the modeling processing unit 44, the mathematically formulated constraint information, and the formulated mathematical model. Figure 8 shows an example of a prompt template. The problem definition information generated by the problem processing unit 43, the variable definition generated by the modeling processing unit 44, the objective function, the mathematically formulated constraint information, the formulated mathematical model, and the solution method are inserted in the brackets shown in Figure 8. Note that the formulated mathematical model is merely a summary and is not necessarily required; only the variable definition, objective function, and mathematically formulated constraint information may be included. Alternatively, an input / output example from a past case may be included at the end of the prompt using "Example." The prompt may also specify the solver to be used or select the solver to be used in advance by searching, etc.
[0051] 9(a) is an example of a prompt input to the generation AI in the coding processing unit 45. As shown in FIG. 9(a), the prompt 66 incorporates the objective function generated by the coding processing unit 45, mathematically formulated constraint information, and a formulated mathematical model into a predetermined template, and specifies the solver to be used. The prompt 66 also includes an instruction 67 requesting the generation of programming code.
[0052] FIG. 9(b) is an example of the output result of the generation AI in the coding processing unit 45. When a prompt such as that shown in FIG. 9(a) is input to the generation AI, the output result 68 shown in FIG. 9(b) is output. The output result 68 is programming code for processing the mathematical model on a computer. The server 1 may transmit the output result 68 to the user terminal 2, allowing the user to check the programming code. In this case, as shown in FIG. 9(b), by associating variable definitions and comments between the programming codes, it becomes easier for the user to check the content.
[0053] The relevance DB 31 may store information associating similar problems, problem definition information, formulated mathematical models, etc. with previously executed programming code and solvers. In this case, the coding processing unit 45 searches the relevance DB 31 for similar problems, problem definition information, formulated mathematical models, etc. via the search unit 48 and references the corresponding programming code and solvers. Specifically, the coding processing unit 45 can improve performance by, for example, inputting pairs of similar problems, problem definition information, formulated mathematical models, etc., and programming code and solvers as examples in a prompt for the generation AI. This allows new information to be accumulated each time the relevance DB 31 is used, thereby improving the accuracy of programming code generation.
[0054] The program execution unit 46 executes the program based on the generated programming code using a corresponding solver and outputs the solution as the execution result. Specifically, the program execution unit 46 writes the generated programming code to a file and executes it using a programming language such as Python (registered trademark). At this time, the program execution unit 46 executes the program using mathematical optimization software such as MATLAB (registered trademark), Excel Solver, Gurobi (registered trademark), CPLEX (registered trademark), or optimization software executable on a quantum computer, and obtains a solution to the mathematical model. The program execution unit 46 also determines whether the obtained solution is applicable to the actual problem and adjusts the formulated mathematical model as necessary.
[0055] The execution results of the program are transmitted to the user terminal 2 by the information output unit 42 and displayed. This allows the user to confirm the optimal solution to the problem as the content of the execution results. The user may input additional information from the additional input screen 58 as necessary. If the user does not provide any additional information and agrees with the content of the execution results of the program, the user sends consent information from the user terminal 2 to the server 1 by performing a specified operation. The information input unit 41 acquires the consent information from the user terminal 2 as new user input information.
[0056] If an error or no solution is detected during program execution, the program execution unit 46 automatically corrects the program. Specifically, the program execution unit 46 corrects the programming code or the mathematical model based on at least one of the execution log and the return value of the code execution. In other words, the program execution unit 46 can obtain corrected programming code based on the error message displayed during execution and the executed programming code. Figure 10 shows an example of sample code when an error occurs during program execution. The coding processing unit 45 can obtain corrected programming code by combining these sample codes and appropriately incorporating the error message displayed during execution and the executed programming code.
[0057] The report generation processing unit 47 generates and outputs a report with an explanation that can be interpreted by the user based on the solution obtained by the program execution unit 46, user input information, problem definition information, etc. In other words, the report generation processing unit 47 generates a report that summarizes the numerical solution obtained by executing mathematical optimization through programming by adding information based on domain knowledge and user input information. Note that the report is not limited to text, and can be displayed as text, mathematical formulas, numerical values, video images, audio, or a combination thereof. Specifically, the report generation processing unit 47 can be realized by inputting a prompt requesting a report to the generation AI based on the solution and user input information.
[0058] FIG. 11 shows an example of a prompt template. As shown in FIG. 11, the problem background and the program execution result are inserted in the brackets of the prompt 70. The problem background may contain information necessary for reporting, but other information related to clarifying the objective, identifying variables, and identifying constraint information may also be entered. Additional information may also be entered, such as the user's work background, the user's motivation for working on the problem, and requests from a supervisor or other work supervisor. As the program execution result, at least the solution obtained by the program execution unit 46 is entered as the optimal solution, but additional information such as explanations of the solution-finding constraints may also be entered.
[0059] 11 includes an instruction to create a report after presenting the subject of the report, such as "You must report to your boss. Please write a report," but the instruction is not limited to this and can be set as desired as long as it contains information necessary for creating a report. The report format can also be set by inserting a format in the third bracket of the prompt 70.
[0060] Fig. 12 is an example of a prompt input to the generation AI in the reporting processing unit 47. As shown in Fig. 12, the prompt 71 includes a problem background 72, an optimal solution 73 that is the result of program execution, and an instruction 74 that presents the subject of the report and then requests the creation of a report.
[0061] FIG. 13 is an example of the output result of the generation AI in the report processing unit 47. As shown in FIG. 13, the output result is a report with an explanation that can be interpreted by the user in accordance with instructions from the prompt 71. The output result of the generation AI is transmitted to the user terminal 2 by the information output unit 42 and displayed. This allows the user to check the contents of the report. The user may input additional information from the additional input screen 58 as necessary, for example, to point out parts that are difficult to understand. In this case, the report processing unit 47 generates a new report in accordance with the additional information. This allows the report processing unit 47 to generate a report that can be interpreted by the user.
[0062] When the reporting processing unit 47 receives specification information such as a report generation request or a format from the user terminal 2 through a predetermined operation, the reporting processing unit 47 may generate a report according to the specification information, or may automatically generate a report without receiving a report generation request when an optimal solution is obtained by the program execution unit 46. In this case, the user may specify the format in advance, or the format may be changed to the format specified by the user after the report is generated.
[0063] In the above configuration, the information input unit 41, the information output unit 42, the problem processing unit 43, the modeling processing unit 44, the coding processing unit 45, the program execution unit 46, and the report processing unit 47 of the server 1 are examples of the input information acquisition means, the output means, the problem definition generation means, the model construction means, the code generation means, the program execution means, and the report generation means, respectively, of the present disclosure. Also, the user input information and related DB 31 are examples of the input information and related information storage unit, respectively, of the present disclosure.
[0064] (Optimization process) Next, a description will be given of the optimization process performed by the server 1. Fig. 14 is a flowchart of the optimization process performed by the server 1. This process is realized by the processor 12 shown in Fig. 2 executing a program prepared in advance.
[0065] First, the server 1 acquires user input information related to the problem the user wants to solve from the user terminal 2 (step S101). Based on the user input information, the server 1 inputs a prompt to the generation AI requesting the generation of problem definition information, thereby clarifying the objective, identifying variables, and identifying constraints, and generating problem definition information (step S102). Specifically, the server 1 generates problem definition information such as the objective, constraints, data, and decision variables required for building a mathematical model, and transmits it to the user terminal 2 as an output result. The user checks the content of the output result displayed on the user terminal 2, and inputs additional information as necessary, or agrees to the content of the output result.
[0066] The server 1 determines whether consent information has been acquired from the user terminal 2 (step S103). If consent information has not been acquired (step S103; No), the server 1 acquires additional information, performs processing as necessary, and returns to the processing of step S103 (step S104). On the other hand, if consent information has been acquired (step S104; Yes), the server 1 constructs and outputs a mathematical model by inputting a prompt to the generation AI requesting formulation of a mathematical model based on the problem definition information and user input information (step S105). Specifically, the server 1 forms an objective function and mathematically formulates constraints based on the problem definition information and user input information, formulates the problem into a mathematical model, and transmits it to the user terminal 2 as an output result. The user checks the content of the output result displayed on the user terminal 2, and inputs additional information or agrees to the content of the output result as necessary.
[0067] The server 1 determines whether or not consent information has been acquired from the user terminal 2 (step S106). If consent information has not been acquired (step S106; No), the server 1 acquires additional information, performs processing as necessary, and returns to the processing of step S106 (step S107). On the other hand, if consent information has been acquired (step S106; Yes), the server 1 generates and outputs programming code by inputting a prompt requesting conversion to code to the generation AI based on the problem definition information and the formulated mathematical model (step S108). Next, the server 1 executes a program based on the generated programming code and acquires the solution as the execution result (step S109). The program execution result is sent to the user terminal 2. The user confirms the optimal solution to the problem as the program execution result displayed on the user terminal 2, and may enter additional information or agree to the content of the output result as necessary.
[0068] The server 1 determines whether or not consent information has been acquired from the user terminal 2 (step S110). If consent information has not been acquired (step S110; No), the server 1 acquires additional information, performs processing as necessary, and returns to the processing of step S110 (step S111). On the other hand, if consent information has been acquired (step S110; Yes), the server 1 inputs a prompt requesting report generation to the generation AI based on the optimal solution and user input information, thereby generating and outputting a report with an explanation that can be interpreted by the user (step S112). The output result is sent to the user terminal 2 by the information output unit 42 and displayed. This allows the user to confirm the contents of the report. In this way, the server 1 ends the optimization processing.
[0069] Such an optimization system 100 has application in a wide range of domains and can automate business processes for applying mathematical optimization. Specifically, the optimization system 100 can automate problem definition, mathematical model construction, coding of the mathematical model, solution by program execution, and reporting of the results. Therefore, it can support users who do not have domain expertise or knowledge of mathematical optimization in solving business problems using mathematical optimization.
[0070] This will eliminate the traditional issues of only being able to do it by people with domain knowledge and specialized knowledge of mathematical optimization, and the time it takes for each business process. It will also make it easier for non-specialist people to apply mathematical optimization to their work, and increase the number of people who can handle mathematical optimization as part of their job. It will also increase the number of cases processed per person who was originally involved in mathematical optimization, promoting the use of mathematical optimization throughout the industry.
[0071] Specifically, the optimization system 100 reduces the time required for manual data processing and analysis, accelerating the mathematical optimization process. This improves the speed of decision-making, enabling organizations to quickly respond to market changes and maintain a competitive advantage. The optimization system 100 also provides the ability to process large amounts of data quickly and accurately. This enables decision-making based on highly accurate analysis results, allowing optimal strategies to be developed while minimizing risk.
[0072] The optimization system 100 also reduces human resources and operational costs in the long term. In particular, automating repetitive tasks and calculations reduces human error and allows labor to be reallocated to more strategic tasks. The optimization system 100 also allows personnel in charge of mathematical optimization to reduce the time it takes to solve business problems and increase the number of problems they are responsible for, making it possible to handle an expansion in the scale of business. As a result, the application of mathematical optimization will spread throughout the market.
[0073] The related DB 31 may be shared anonymously among users, which allows past data to be accumulated for each mathematical optimization domain, making it easy to collect business information.
[0074] Furthermore, the server 1 may identify the user's domain from the user input information or login information for a specific service, and refer to information about the domain from web information, etc. This allows the server 1 to increase the resolution in generating problem definition information.
[0075] Furthermore, in generating the problem definition information, the server 1 may present the understood business process information to the user using, for example, a flowchart or a diagram, which makes it easier for the user to check the contents of the output results.
[0076] Furthermore, when generating problem definition information, if there are missing numerical values, the server 1 may complement them with common sense numerical values and output them as output results.
[0077] In addition, the generative AI used in building mathematical models may use LLMs specialized for mathematical formulas or may combine multiple LLMs.
[0078] [Variations] In the above embodiment, the user uses the user terminal 2, but the present disclosure is not limited to this, and the user may use a user terminal having the functions of the server 1. In this case, the user terminal executes the optimization process that was performed by the server 1, and can generate problem definition information for the problem that the user wants to solve, build a mathematical model, generate programming code, execute the program, and generate a report.
[0079] In addition, some 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.
[0080] (Appendix 1) an input information acquisition means for acquiring input information relating to a question input by a user; a code generating means for generating a code based on the input information; a program execution means for executing a program based on the code and obtaining a solution; an output means for outputting the solution; An optimization device comprising:
[0081] (Appendix 2) a model construction means for constructing a mathematical model based on the input information, 2. The optimization device according to claim 1, wherein the code generation means generates the code by converting the mathematical model into code.
[0082] (Appendix 3) problem definition generation means for generating problem definition information including objectives, variable information, and constraint conditions based on the input information; The optimization device according to claim 2, wherein the model construction means constructs a mathematical model by forming an objective function for solving the problem and mathematically formulating constraints based on the problem definition information.
[0083] (Appendix 4) a report generation means for generating a report with an explanation that can be interpreted by the user based on the solution and one or more of the input information, the problem definition information, and the mathematical model; 4. The optimization device according to claim 3, wherein the output means outputs the report.
[0084] (Appendix 5) a related information storage unit that stores past input information and problem definition information generated based on the past input information in association with each other; 4. The optimization device according to claim 3, wherein the problem definition generating means generates the problem definition information based on the input information and by referring to the related information storage unit.
[0085] (Appendix 6) 4. The optimization device according to claim 3, wherein the model construction means identifies a solution to the problem based on one or more of the input information, the problem definition information, and the mathematical model.
[0086] (Appendix 7) The optimization device according to claim 3, wherein the program execution means corrects the code or the mathematical model based on one or more of the execution log and the return value of the code execution when an error is output or a solution is not detected.
[0087] (Appendix 8) the input information acquisition means acquires additional input information related to the report after outputting the report; 5. The optimization device according to claim 4, wherein the report generation means generates a new report that is modified based on additional input information.
[0088] (Appendix 9) 4. The optimization device according to claim 3, wherein the input information is any one or a combination of text, mathematical formulas, video, and audio.
[0089] (Appendix 10) the problem definition generation means generates the problem definition information by inputting a prompt requesting generation of the problem definition information to the generation AI based on the input information; the model construction means constructs the mathematical model by inputting a prompt requesting formulation of the mathematical model to the generation AI based on the problem definition information; The optimization device according to claim 3, wherein the code generation means performs the conversion of the mathematical model into code by inputting a prompt to a generation AI.
[0090] (Appendix 11) An optimization method executed by an optimization device, comprising: Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. An optimization method that outputs the solution.
[0091] (Appendix 12) Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. A program that causes a computer to execute a process for outputting the solution.
[0092] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above embodiments. Various modifications that would be understood by a person skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. In other words, the present disclosure naturally includes various modifications and alterations that would be possible for a person skilled in the art in accordance with the entire disclosure, including the claims, and the technical concept. [Explanation of symbols]
[0093] 1 server 2. User terminal 11, 21 Interface 12, 22 processors 13, 23 memory 14, 24 Recording media 15, 25 Display section 16, 26 Input section 31 Related Databases 41 Information input section 42 Information output section 43 Problem-handling department 44 Modeling processing section 45 Encoding processing section 46 Program Execution Unit 47 Reporting Processing Unit 48 Search Department 100 Optimization System
Claims
1. an input information acquisition means for acquiring input information relating to a question input by a user; a code generating means for generating a code based on the input information; a program execution means for executing a program based on the code and obtaining a solution; an output means for outputting the solution; An optimization device comprising:
2. a model construction means for constructing a mathematical model based on the input information, 2. The optimization device according to claim 1, wherein the code generation means generates the code by converting the mathematical model into a code.
3. problem definition generation means for generating problem definition information including objectives, variable information, and constraint conditions based on the input information; 3. The optimization device according to claim 2, wherein the model construction means constructs a mathematical model by forming an objective function for solving the problem and mathematically formulating constraints based on the problem definition information.
4. a report generation means for generating a report with an explanation that can be interpreted by the user based on the solution and one or more of the input information, the problem definition information, and the mathematical model; 4. The optimization device according to claim 3, wherein said output means outputs said report.
5. a related information storage unit that stores past input information and problem definition information generated based on the past input information in association with each other; 4. The optimization device according to claim 3, wherein the problem definition generating means generates the problem definition information based on the input information and by referring to the related information storage unit.
6. 4. The optimization device according to claim 3, wherein the model construction means identifies a solution to the problem based on at least one of the input information, the problem definition information, and the mathematical model.
7. 4. The optimization device according to claim 3, wherein the program execution means corrects the code or the mathematical model based on one or more of the execution log and the return value of the code execution when an error is output or a solution is not detected.
8. the input information acquisition means acquires additional input information related to the report after outputting the report; 5. The optimization device according to claim 4, wherein said report generating means generates a new report that is modified based on additional input information.
9. The optimization device according to claim 3 , wherein the input information is any one of text, mathematical expressions, video, and audio, or a combination thereof.
10. The problem definition generation means generates the problem definition information by inputting a prompt requesting generation of the problem definition information to a generation AI based on the input information; The model construction means constructs the mathematical model by inputting a prompt requesting formulation of the mathematical model to a generation AI based on the problem definition information; 4. The optimization device according to claim 3, wherein the code generation means performs code conversion by inputting a prompt requesting conversion of the mathematical model into code to a generation AI.
11. An optimization method executed by an optimization device, comprising: Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. An optimization method that outputs the solution.
12. Obtaining input information about the problem entered by the user; Generate a code based on the input information; Execute the program based on the code and obtain the solution. A program that causes a computer to execute a process for outputting the solution.
Citation Information
Patent Citations
Automation of solving NP problems in annealer system
JP2021002331A