Optimization device, method, and program
The optimization device facilitates the use of LLMs for mathematical optimization by guiding users through structured input and display processes, enabling effective step-by-step problem-solving.
Patent Information
- Application Number
- JP2024037526
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-11
- Publication Date
- 2025-09-25
AI Technical Summary
Existing large language models (LLMs) struggle to effectively perform mathematical optimization due to the complexity of considering appropriate steps required for maximizing or minimizing specific objective functions under constraints.
An optimization device and method that utilizes a large language model to guide users through mathematical optimization by constructing screens with input forms, receiving user instructions, generating display content, and solving optimization problems step-by-step using a screen construction unit, reception unit, generation unit, and optimization unit.
Enables the execution of mathematical optimization using LLMs in a structured manner, allowing for accurate and step-by-step problem-solving.
Smart Images

Figure 2025138432000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an optimization device, an optimization method, and an optimization program that perform optimization using large language models (LLMs). [Background technology]
[0002] Large-scale language models (LLMs) are used in many fields, not only for natural language processing such as writing sentences, but also for inference processing such as solving arithmetic problems.
[0003] Chain-of-Thought (CoT) technology is also known to improve the accuracy of output results. CoT is a technology that allows for more accurate output by providing a thought process when input is given. It is also known that adding the phrase "Let's think about it step by step" to CoT can improve the accuracy of the output (see, for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa, "Large Language Models are Zero-Shot Reasoners", NeurIPS 2022 Summary of the Invention [Problem to be solved by the invention]
[0005] From this perspective, it is conceivable to use LLM to solve mathematical optimization problems. However, mathematical optimization is a complex problem that requires calculations to maximize or minimize a specific objective function under given constraints. Therefore, when attempting to perform mathematical optimization using LLM, it is difficult to say that the LLM can necessarily consider mathematical optimization at the appropriate steps expected.
[0006] Therefore, an object of the present disclosure is to provide an optimization device, an optimization method, and an optimization program that can execute mathematical optimization using LLM in accordance with steps. [Means for solving the problem]
[0007] The optimization device according to the present disclosure comprises: a screen construction unit that constructs a screen including an input form that receives input of at least the type of mathematical optimization problem to be solved from a user, an object that receives execution instructions for the next step from the user, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem, and displays the screen on a display device; a reception unit that receives input from the user for the constructed screen; a generation unit that applies the information received as input via the input form and a phrase indicating an instruction to create next display content, which is content to be displayed in the output field at the next step, to a large-scale language model to generate the next display content; and an optimization unit that solves the mathematical optimization problem of the type inputted in the input form, wherein the screen construction unit constructs a screen in which the next display content generated by the generation unit is set in the output field; the generation unit applies the information received as input from the user, the next display content that has already been generated, and the phrase indicating an instruction to create a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; and the optimization unit solves the mathematical optimization problem using the generated mathematical formula.
[0008] The optimization method according to the present disclosure is characterized in that it comprises the steps of: constructing a screen including an input form that receives input from a user of at least the type of mathematical optimization problem to be solved, an object that receives execution instructions for the next step from the user, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem; displaying the screen on a display device; accepting input from a user on the constructed screen; applying the information received as input via the input form and a phrase indicating an instruction to create next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; constructing a screen in which the generated next display content is set in the output field and displaying it on a display device; applying the information received as input from the user, the next display content that has already been generated, and the phrase indicating an instruction to create a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; and solving the mathematical optimization problem using the generated mathematical formula.
[0009] The optimization program according to the present disclosure causes a computer to execute a screen construction process that constructs a screen including at least an input form that accepts input of the type of mathematical optimization problem to be solved from a user, an object that accepts execution instructions for the next step from the user, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem, and displays the screen on a display device; a reception process that accepts input from the user for the constructed screen; a generation process that applies the information accepted as input via the input form and a phrase indicating an instruction to create next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; and an optimization process that solves the mathematical optimization problem of the type inputted into the input form; the screen construction process constructs a screen in which the generated next display content is set in the output field; the generation process applies the information accepted as input from the user, the already generated next display content, and the phrase indicating an instruction to create a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; and the optimization process solves the mathematical optimization problem using the generated mathematical formula. [Effects of the Invention]
[0010] According to the present disclosure, mathematical optimization using LLM can be performed step by step. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of the configuration of an embodiment of an optimization device according to the present disclosure. [Figure 2] FIG. 10 is an explanatory diagram showing an example of an initial screen. [Figure 3] FIG. 10 is an explanatory diagram showing an example of a screen on which the next display content is output. [Figure 4] 10 is a flowchart illustrating an example of the operation of the optimization device of the present disclosure. [Figure 5] FIG. 10 is an explanatory diagram showing an example of screen transition. [Figure 6] FIG. 10 is an explanatory diagram illustrating a configuration example of another embodiment of an optimization device according to the present disclosure. [Figure 7] FIG. 10 is an explanatory diagram showing another example of screen transition. [Figure 8] FIG. 1 is a block diagram showing an overview of an optimization device of the present disclosure. [Figure 9] FIG. 1 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0013] Embodiment 1. 1 is an explanatory diagram showing a configuration example of a first embodiment of an optimization device according to the present disclosure. The optimization device 100 of this embodiment includes a storage unit 10, an input / output unit 20, a screen creation unit 30, a reception unit 40, a generation unit 50, and an optimization unit 60.
[0014] The storage unit 10 stores various types of information used in processing by the optimization device 100. The storage unit 10 may store, for example, information received as input by the input / output unit 20 (described later), or may store results generated by the generation unit 50. The storage unit 10 is realized by, for example, a magnetic disk or the like.
[0015] The input / output unit 20 is a device that receives input from a user and outputs the processing results of the optimization device 100. The input / output unit 20 may take any form. For example, the input / output unit 20 may be realized by a touch panel of a tablet terminal, or may be realized by an input device such as a keyboard and a display device such as a display device.
[0016] The screen construction unit 30 constructs a screen to be displayed on the input / output unit 20. Specifically, the screen construction unit 30 constructs a screen including an input form for receiving input from a user, an object for receiving an instruction to execute the next step from the user, and an output field for outputting the execution result of each step by the optimization device 100, and displays the screen on the input / output unit 20. Note that the step here means a thought step for solving a mathematical optimization problem.
[0017] The content of the input form is arbitrary and may be, for example, a text box, a radio button, a pull-down selection menu, etc. The object may be, for example, a button.
[0018] In this embodiment, first, the screen construction unit 30 constructs a screen (initial screen) for accepting input of the type of mathematical optimization problem (hereinafter referred to as problem type) and related information representing the content of the mathematical optimization problem from the user. The input form for accepting input of the problem type and related information and the screen layout of the input form are determined in advance by the user, etc.
[0019] Fig. 2 is an explanatory diagram showing an example of an initial screen. In the example shown in Fig. 2, the initial screen for "automating the optimization of business issues" has a pull-down selection menu F11 set as an input field for selecting the problem type, and a text box F12 set as an input field for inputting the theme and additional instructions, which are related information.
[0020] In addition, in the example shown in Figure 2, the initial screen shows that a button B1 that accepts an instruction to execute each step and a button B2 that accepts an instruction to execute all at once are set as objects that accept an instruction from the user to execute the next step.
[0021] The receiving unit 40 receives input from the user for the screen created by the screen creator 30. In this embodiment, the receiving unit 40 receives input from the user via the input / output unit 20.
[0022] The generation unit 50 applies the information input by the user via the input form and a phrase indicating an instruction to create content to be displayed in the next step (hereinafter referred to as next display content) to a large-scale language model (LLM) to generate next display content. Furthermore, if next display content has already been generated, the generation unit 50 also applies that next display content to the LLM to generate further next display content. Note that the contents of the LLM are widely known, so a detailed description will be omitted here.
[0023] For example, suppose the next display content is a condition setting required for a mathematical optimization problem. In this case, a phrase indicating a creation instruction may be, "Please tell me the conditions that should be set for the (selected) mathematical optimization problem." In this case, the generation unit 50 applies the above phrase to the LLM in addition to the type of mathematical optimization problem (i.e., problem type), related information, and content input by the user to generate the next display content.
[0024] Furthermore, the mathematical optimization problem includes a formulation step for generating an objective function and constraint conditions (hereinafter, sometimes simply referred to as generating a mathematical formula.) Therefore, in the formulation step, the generation unit 50 applies, to the LLM, information received as input from the user, the next display content that has already been generated, and a phrase indicating an instruction to create a mathematical formula (specifically, an objective function and constraint conditions) that represents the mathematical optimization problem, to generate a mathematical formula for mathematical optimization.
[0025] When the next display content is generated, the screen generator 30 generates a screen in which the next display content generated by the generator 50 is set in the output field, and causes the input / output unit 20 to display the screen.
[0026] Fig. 3 is an explanatory diagram showing an example of a screen on which next display content is output. In the example shown in Fig. 3, the screen construction unit 30 constructs a screen in which the generated next display content is set in the output field F13 based on information input to the initial screen shown in Fig. 2, and displays the screen on the input / output unit 20. Note that Fig. 3 illustrates an example in which information (next display content) is added vertically, but the addition direction is not limited to vertically and may be horizontally. Furthermore, the screen construction unit 30 may reconstruct a new screen that displays the next display content.
[0027] The optimization unit 60 solves a mathematical optimization problem of the type input into the input form. Specifically, the optimization unit 60 solves the mathematical optimization problem using the content input into the constructed screen and the mathematical expression of the mathematical optimization problem specified by the next display content generated by the generation unit 50.
[0028] For example, when software such as a mathematical optimization solver is used to perform the optimization process for an optimization problem, the optimization unit 60 may convert the mathematical formula into a format (e.g., an .lp file) used by the mathematical optimization solver and then execute the optimization process. Note that methods for converting mathematical formulas are widely known, and therefore detailed explanations thereof will be omitted here.
[0029] When the optimization process is executed, the generation unit 50 applies the optimization result to the LLM to generate the next display content (specifically, the optimization result in text form).
[0030] Note that the next display content output in this embodiment is the result obtained by applying LLM, so there may be errors that prevent the optimization process from being executed, such as when the relationship between the objective function and the constraints is not appropriate or when the created formula contains formatting errors.
[0031] Therefore, when an error occurs that prevents the optimization process from being executed, the optimization unit 60 may move the focus to the input field that caused the error, either together with an error message or as a separate process, depending on the nature of the error. Note that if the cause of the error cannot be identified, the optimization unit 60 may move the focus to the input field of the most recent step where the error is suspected. The optimization unit 60 may repeat this error processing until the error is eliminated.
[0032] For example, if an optimal solution cannot be obtained, the error may be caused by one of the steps of the optimization problem content, formulation, or file generation. Therefore, the optimization unit 60 may move the focus to the input field for inputting the optimization problem content, which is the most recent step.
[0033] In addition, if the optimization solver reports a format error, it is possible that the error is caused by format conversion. In this case, the optimization unit 60 may move the focus to an input field that instructs the step of format conversion.
[0034] The screen creation unit 30, the reception unit 40, the generation unit 50, and the optimization unit 60 are realized by a computer processor (e.g., a CPU (Central Processing Unit), a GPU (Graphics Processing Unit)) that operates according to a program (optimization program). For example, the program may be stored in the storage unit 10 of the optimization device 100, and the processor may read the program and operate as the screen creation unit 30, the reception unit 40, the generation unit 50, and the optimization unit 60 according to the program.
[0035] Furthermore, each function of the optimization device 100 may be provided in the form of SaaS (Software as a Service). Furthermore, the screen creation unit 30, the reception unit 40, the generation unit 50, and the optimization unit 60 may each be realized by dedicated hardware.
[0036] Furthermore, some or all of the components of each device may be realized by general-purpose or dedicated circuits, processors, etc., or a combination of these. These may be configured by a single chip, or by multiple chips connected via a bus. Some or all of the components of each device may be realized by a combination of the above-mentioned circuits, etc., and programs.
[0037] Furthermore, when some or all of the components of the screen creation unit 30, the reception unit 40, the generation unit 50, and the optimization unit 60 are realized by a plurality of information processing devices, circuits, etc., the plurality of information processing devices, circuits, etc. may be centrally or decentralized. For example, the information processing devices, circuits, etc. may be realized as a client-server system, a cloud computing system, etc., in a form in which each is connected via a communication network.
[0038] Next, a description will be given of an example of the operation of the optimization device 100 of this embodiment. Fig. 4 is a flowchart showing an example of the operation of the optimization device 100 of this embodiment.
[0039] The screen construction unit 30 constructs a screen including at least an input form that receives input from the user of the type of mathematical optimization problem to be solved, an object that receives from the user an instruction to execute the next step, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem (step S11), and displays the constructed screen on the input / output unit 20 (step S12).
[0040] Thereafter, the receiving unit 40 receives input from the user for the constructed screen (step S13). The generating unit 50 applies the received input information and a phrase indicating an instruction to create the next display content to the LLM to generate the next display content (step S14). The screen constructing unit 30 constructs a screen in which the next display content generated by the generating unit 50 is set in an output field (step S15), and causes the input / output unit 20 to display the constructed screen (step S16). The processing from step S13 to step S16 is repeated the number of times equal to the number of thinking steps for solving the mathematical optimization problem.
[0041] When it comes to the step of generating a mathematical formula for the mathematical optimization problem, the generation unit 50 applies the information input by the user, the previously generated next display content, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem to the LLM to generate a mathematical formula for the mathematical optimization problem (step S17).Then, the optimization unit 60 uses the generated mathematical formula to solve the mathematical optimization problem (step S18).
[0042] Next, a specific example of the operation of the optimization device 100 of this embodiment will be described. Fig. 5 is an explanatory diagram showing an example of screen transitions displayed in this specific example. Note that Fig. 5 shows an example in which the entire screen is displayed, but in actual screen transitions, screens up to each broken line are displayed step by step from the top to the bottom of the screen.
[0043] First, the screen construction unit 30 constructs a screen SC1 including a list box for the "problem type" of the mathematical optimization problem, a text box for the "theme," a text box for the "additional instructions," and two types of objects (buttons) for issuing execution instructions, and displays it on the input / output unit 20.
[0044] Thereafter, the receiving unit 40 receives the selection of "question type," "topic," and "additional instructions" from the user. The receiving unit 40 then receives the pressing of either the "by step" or "all at once" button. In the following explanation, a case will be described in which the "by step" button is pressed and processing is performed for each step.
[0045] The generation unit 50 applies the received input information (i.e., the selected question type, theme, and additional instructions) and a phrase indicating an instruction to create the next display content (here, text information instructing to create the next step, "condition setting") to the LLM to generate the next display content. The example shown in Figure 5 indicates that the content generated as the condition setting is "Number of employees / shift period / vacation schedule."
[0046] The screen creation unit 30 creates a screen SC2 in which the contents of the generated condition settings are set in the output fields, and displays the screen SC2 on the input / output unit 20. The reception unit 40 also receives a press of the [Step by Step] button from the user.
[0047] The generation unit 50 applies the information input by the user, the already generated next display content (i.e., the content of "condition setting"), and a phrase indicating an instruction to create the next display content (here, text information instructing to create the next step, "problem setting") to the LLM to generate the next display content. The example shown in Figure 5 shows that a sentence indicating the requirements needed by a florist has been generated as the problem setting.
[0048] The screen creation unit 30 creates a screen SC3 in which the contents of the generated question settings are set in the output fields, and displays the screen SC3 on the input / output unit 20. The reception unit 40 also receives a press of the [Step by Step] button from the user.
[0049] Similarly, the generation unit 50 applies the information input by the user, the already generated next display content (i.e., the contents of "condition setting" and "problem setting"), and a phrase indicating an instruction to create the next display content (here, "text information instructing the next step, "formulation") to the LLM to generate the next display content. The example shown in Figure 5 shows that mathematical expressions indicating the objective function and constraint conditions have been generated as formulation.
[0050] The screen creator 30 creates a screen SC4 in which the contents of the generated mathematical formula are set in the output field, and displays the screen SC4 on the input / output unit 20. The accepting unit 40 accepts pressing of the [Step by Step] button from the user.
[0051] Once the mathematical formula for the mathematical optimization problem is generated, the optimization unit 60 optimizes the mathematical optimization problem using the generated mathematical formula. If an error occurs that prevents the optimization process from being executed, the optimization unit 60 moves the focus to the input field that caused the error, depending on the nature of the error.
[0052] The generation unit 50 then applies the result of the optimization process obtained by the optimization unit 60 to the LLM to generate the next display content. In the example shown in Figure 5, the result of the optimization process shows that text has been generated that is written in a format that can be understood by the user.
[0053] The screen creator 30 creates a screen SC5 in which the generated text indicating the result of the optimization process is set in the output field, and causes the input / output unit 20 to display the screen SC5.
[0054] As described above, in this embodiment, the screen construction unit 30 constructs a screen including an input form, objects, and output fields and displays it on the input / output unit 20. The reception unit 40 accepts user input for the constructed screen. Next, the generation unit 50 applies the information received through the input form and a phrase indicating an instruction to create the next display content to the LLM to generate the next display content. The screen construction unit 30 constructs a screen with the generated next display content set in the output field and displays it on the input / output unit 20. The generation unit 50 then applies the information received from the user, the already generated next display content, and a phrase indicating an instruction to create a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem. The optimization unit 60 solves the mathematical optimization problem using the generated mathematical formula. Thus, mathematical optimization using the LLM can be executed in accordance with steps.
[0055] Embodiment 2. Next, a second embodiment of the optimization device of the present disclosure will be described. Since the next display content is generated by the LLM, there is a possibility that an inaccurate result will be generated. On the other hand, there are also cases where the user can determine the inaccurate result from the next display content. Therefore, in the second embodiment, a method will be described in which the next display content for the next step and thereafter is generated by reflecting the user's thoughts on the next display content generated by the LLM.
[0056] 6 is an explanatory diagram showing a configuration example of a second embodiment of an optimization device according to the present disclosure. The optimization device 200 of this embodiment includes a storage unit 10, an input / output unit 20, a screen creation unit 31, a reception unit 41, a generation unit 51, and an optimization unit 60.
[0057] That is, the optimization device 200 of this embodiment differs from the optimization device 100 of the first embodiment in that the functions of the screen creation unit 31, the reception unit 41, and the generation unit 51 are different from the functions of the screen creation unit 30, the reception unit 40, and the generation unit 50, respectively. The other functions are the same as those of the first embodiment.
[0058] When constructing a screen for displaying the next display content, the screen construction unit 31 constructs a screen in which an input form for accepting correction instruction input from the user (hereinafter referred to as correction instruction input form) is set adjacent to the output field in which the next display content is set.
[0059] Here, if there are too many correction instruction inputs, the number of corrections will increase, which may reduce the accuracy of the generated next display content. Therefore, the screen construction unit 31 may construct a screen including a correction instruction input form of a predetermined size that is smaller than the adjacent output fields. By reducing the size of the correction instruction input form, it is possible to visually suppress the user's correction input instructions.
[0060] The predetermined size may be, for example, a size that is a predetermined ratio (e.g., 1 / 5) of the size of the adjacent output field, or a size that can display a predetermined ratio (e.g., 1 / 3) of the number of characters of the next display content to be displayed in the adjacent output field.
[0061] Furthermore, the number of characters that can be input into the correction instruction input form may be forcibly limited. Specifically, the screen creation unit 31 may create a screen that includes a correction instruction input form that limits the number of characters that can be input.
[0062] Note that the screen creator 31 may create a screen including an object (button) that instructs displaying the correction instruction input form, instead of creating a screen that directly displays the screen including the correction instruction input form.
[0063] The receiving unit 41 receives a correction instruction input from the user for the correction instruction input form. Note that, when an object that instructs to display the correction instruction input form is displayed on the screen, the receiving unit 41 may receive a correction instruction input from the user for the correction instruction input form after receiving an instruction for that object.
[0064] The generation unit 51 further applies the content of the correction instruction input to the large-scale language model to generate the next display content. That is, the generation unit 51 applies the information inputted via the input form, the phrase indicating the instruction to create the next display content (if present, the already generated next display content), and the information inputted via the correction instruction input form to the large-scale language model to generate the next display content.
[0065] The screen creation unit 31, the reception unit 41, the generation unit 51, and the optimization unit 60 are realized by a processor of a computer that operates according to a program (optimization program).
[0066] Next, the operation of the optimization device 200 of this embodiment will be described. The operation of the optimization device 200 of this embodiment is the same as the processing illustrated in the flowchart exemplified in Fig. 4. However, when generating the next display content in steps S13 and S16, the generation unit 51 further applies the content of the correction instruction input to a large-scale language model to generate the next display content.
[0067] Next, a specific example of the operation of the optimization device 200 of this embodiment will be described. Fig. 7 is an explanatory diagram showing an example of screen transitions displayed in this specific example. The specific example illustrated in Fig. 7 differs from the specific example illustrated in Fig. 5 in that a correction instruction input form is displayed adjacent to the output form. In other respects, it is the same as the specific example illustrated in Fig. 5.
[0068] For example, for screen SC3, the screen construction unit 31 sets the contents of the generated question settings in the output field, and constructs screen SC3 in which a correction instruction input form is set adjacent to the output field, and displays the screen SC3 on the input / output unit 20. The same applies to screen SC5.
[0069] As described above, in this embodiment, the screen construction unit 31 constructs a screen in which a correction instruction input form is set adjacent to the output field in which the next display content is set, and the reception unit 41 receives a correction instruction input from the user in the correction instruction input form. Then, the generation unit 51 further applies the content of the correction instruction input to the large-scale language model to generate the next display content. Therefore, in addition to the effects of the first embodiment, it is possible to generate next display content that reflects the user's thoughts.
[0070] Next, an overview of the present disclosure will be described. Fig. 8 is a block diagram showing an overview of an optimization device of the present disclosure. An optimization device 80 (e.g., optimization device 100, optimization device 200) according to the present disclosure includes: a screen construction unit 81 (e.g., screen construction unit 30) that constructs a screen including an input form that receives at least an input of the type of mathematical optimization problem to be solved from a user, an object that receives an instruction to proceed to the next step from the user, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem, and displays the screen on a display device (e.g., input / output unit 20); a reception unit 82 (e.g., reception unit 40) that receives input from the user for the constructed screen; a generation unit 83 (e.g., generation unit 50) that applies information received via the input form and a phrase indicating an instruction to create next display content, which is content to be displayed in the output field at the next step, to a large-scale language model to generate the next display content; and an optimization unit 84 (e.g., optimization unit 60) that solves the mathematical optimization problem of the type input to the input form.
[0071] The screen construction unit 81 constructs a screen in which the next display content generated by the generation unit 83 is set in an output field. The generation unit 83 applies the information input by the user, the next display content that has already been generated, and a phrase indicating an instruction to create a mathematical formula representing the mathematical optimization problem to a large-scale language model to generate a mathematical formula for the mathematical optimization problem. The optimization unit 84 solves the mathematical optimization problem using the generated mathematical formula.
[0072] Such a configuration allows mathematical optimization using LLM to be performed step by step.
[0073] Furthermore, the screen construction unit 81 (for example, the screen construction unit 31) may construct a screen in which a correction instruction input form for accepting a correction instruction input from a user is set adjacent to the output field in which the next display content is set. Then, the reception unit 82 (for example, the reception unit 41) may accept a correction instruction input from the user to the correction instruction input form, and the generation unit 83 (for example, the generation unit 51) may further apply the content of the correction instruction input to a large-scale language model to generate the next display content.
[0074] Specifically, the screen creator 81 may create a screen including a correction instruction input form having a predetermined size smaller than the adjacent output fields.
[0075] Furthermore, the screen creator 81 may create a screen including a correction instruction input form that limits the number of characters that can be input.
[0076] Furthermore, the generation unit 83 may apply the result of the optimization process performed by the optimization unit 84 to the LLM to generate the next display content.
[0077] In addition, the optimization unit 84 may convert the mathematical formula into a format (e.g., an lp file) used by a mathematical optimization solver that executes the optimization process for the mathematical optimization problem, and cause the mathematical optimization solver to execute the optimization process using the converted mathematical formula.
[0078] Furthermore, depending on the type of error that has occurred that has prevented optimization from being performed, the optimization unit 84 may move the focus to the input field that is the cause of the error.
[0079] At this time, the optimization unit 84 may move the focus to the input field of the earliest step where an error is suspected.
[0080] 9 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. The computer 1000 includes a processor 1001, a main memory device 1002, an auxiliary memory device 1003, and an interface 1004. The computer 1000 may also be connected to a computer that executes a mathematical programming solver, an annealing machine, a simulator, or the like.
[0081] The optimization device 80 described above is implemented in a computer 1000. The operations of the above-described processing units are stored in the form of a program (optimization program) in an auxiliary storage device 1003. The processor 1001 reads the program from the auxiliary storage device 1003, loads it into the main storage device 1002, and executes the above-described processing in accordance with the program.
[0082] In at least one embodiment, the auxiliary storage device 1003 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read-only memory), a DVD-ROM (Read-only memory), and a semiconductor memory connected via the interface 1004. In addition, when this program is distributed to the computer 1000 via a communication line, the computer 1000 that receives the program may load the program into the main storage device 1002 and execute the above processing.
[0083] The program may also be a program for realizing part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that realizes the above-described functions in combination with another program already stored in the auxiliary storage device 1003.
[0084] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes.
[0085] (Supplementary Note 1) A screen construction unit that constructs a screen including an input form that receives from a user at least an input of the type of mathematical optimization problem to be solved, an object that receives from the user an instruction to execute the next step, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem, and displays the screen on a display device; a receiving unit that receives input from a user on the constructed screen; a generation unit that applies information received as input via the input form and a phrase indicating an instruction to create a next display content, which is content to be displayed in the output field in a next step, to a large-scale language model to generate the next display content; an optimization unit that solves a mathematical optimization problem of the type input in the input form, the screen construction unit constructs a screen in which the next display content generated by the generation unit is set in the output field; the generation unit applies the information input by the user, the already generated next display content, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; The optimization unit solves the mathematical optimization problem using the generated mathematical formula. An optimization device characterized by:
[0086] (Note 2) The screen construction unit constructs a screen in which a correction instruction input form for accepting correction instruction input from the user is set adjacent to the output field in which the next display content is set, the receiving unit receives a correction instruction input from a user to the correction instruction input form; The generation unit further applies the content of the correction instruction input to a large-scale language model to generate next display content. 10. The optimization apparatus of claim 1.
[0087] (Appendix 3) The screen construction unit constructs a screen including a correction instruction input form having a predetermined size smaller than the adjacent output fields. 10. The optimization apparatus of claim 2.
[0088] (Appendix 4) The screen construction unit constructs a screen including a correction instruction input form that limits the number of characters that can be entered. 4. The optimization device of claim 2 or 3.
[0089] (Appendix 5) The generation unit applies the results of the optimization process by the optimization unit to the LLM to generate the next display content. 5. The optimization device of claim 1.
[0090] (Supplementary Note 6) The optimization unit converts the mathematical formula into a format used by a mathematical optimization solver that executes an optimization process for a mathematical optimization problem, and causes the mathematical optimization solver to execute the optimization process using the converted mathematical formula. 6. The optimization device of any one of appendices 1 to 5.
[0091] (Note 7) Depending on the error that prevented optimization, the optimization unit moves the focus to the input field that caused the error. 7. The optimization device of any one of Supplementary Notes 1 to 6.
[0092] (Note 8) The optimization unit moves the focus to the input field of the step before the error is expected. 8. The optimization apparatus of claim 7.
[0093] (Appendix 9) A screen including an input form for receiving at least the type of mathematical optimization problem to be solved from a user, an object for receiving an instruction to execute the next step from the user, and an output field for outputting the execution results for each step of the thinking for solving the mathematical optimization problem is constructed and displayed on a display device; Accepting input from a user on the constructed screen; applying the information input via the input form and a phrase indicating an instruction to create a next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; constructing a screen in which the generated next display content is set in the output field and displaying the screen on the display device; applying the information input by the user, the previously generated next display content, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; Solving the mathematical optimization problem using the generated mathematical formula Optimization method characterized by:
[0094] (Appendix 10) Next, a screen is constructed in which a correction instruction input form is set adjacent to the output field in which the display content is set, and which accepts correction instruction input from the user. Accepting a correction instruction input from a user to the correction instruction input form; The content of the correction instruction input is further applied to a large-scale language model to generate the next display content. Optimization method described in Appendix 9.
[0095] (Appendix 11) To the computer, a screen construction process for constructing a screen including an input form for receiving at least an input of the type of mathematical optimization problem to be solved from a user, an object for receiving an instruction to execute the next step from the user, and an output field for outputting the execution results for each step of thinking to solve the mathematical optimization problem, and displaying the screen on a display device; a reception process for receiving input from a user on the constructed screen; a generation process for applying the information input via the input form and a phrase indicating an instruction to generate next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; and Execute an optimization process to solve a mathematical optimization problem of the type entered in the input form; In the screen construction process, a screen is constructed in which the generated next display content is set in the output field; applying, to the large-scale language model, in the generation process, information input by the user, the next display content already generated, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem, to generate a mathematical formula for the mathematical optimization problem; In the optimization process, the mathematical optimization problem is solved using the generated mathematical formula. Optimization program for.
[0096] (Appendix 12) To the computer, In the screen construction process, a screen is constructed in which a correction instruction input form for accepting correction instruction input from the user is set adjacent to the output field in which the next display content is set, In a reception process, a correction instruction input from a user to the correction instruction input form is received; In the generation process, the content of the correction instruction input is further applied to a large-scale language model to generate the next display content. The optimization program described in Appendix 11.
[0097] Although the present invention has been described above with reference to the embodiments and examples, the present invention is not limited to the above-described embodiments and examples. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]
[0098] 10 Storage section 20 Input / output section 30,31 Screen Construction Department 40,41 Reception 50,51 Generator 60 Optimization Section 100,200 Optimizer
Claims
1. a screen construction unit that constructs a screen including an input form that receives from a user at least an input of the type of mathematical optimization problem to be solved, an object that receives from the user an instruction to execute the next step, and an output field that outputs the execution results for each step of thinking to solve the mathematical optimization problem, and displays the screen on a display device; a receiving unit that receives input from a user on the constructed screen; a generation unit that applies information received as input via the input form and a phrase indicating an instruction to create a next display content, which is content to be displayed in the output field in a next step, to a large-scale language model to generate the next display content; an optimization unit that solves a mathematical optimization problem of the type input in the input form, the screen construction unit constructs a screen in which the next display content generated by the generation unit is set in the output field; the generation unit applies the information input by the user, the already generated next display content, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; The optimization unit solves the mathematical optimization problem using the generated mathematical formula. An optimization device characterized by:
2. The screen construction unit constructs a screen in which a correction instruction input form for accepting correction instruction input from the user is set adjacent to the output field in which the next display content is set, the receiving unit receives a correction instruction input from a user to the correction instruction input form; The generation unit further applies the content of the correction instruction input to a large-scale language model to generate next display content. The optimization device according to claim 1 .
3. The screen construction unit constructs a screen including a correction instruction input form having a predetermined size smaller than the adjacent output fields. The optimization device according to claim 2 .
4. The screen construction unit constructs a screen including a correction instruction input form that limits the number of characters that can be input.
4. The optimization device according to claim 2 or 3.
5. The generation unit applies the result of the optimization process by the optimization unit to the LLM to generate the next display content.
4. The optimization device according to claim 1.
6. The optimization unit converts the mathematical formula into a format used by a mathematical optimization solver that executes an optimization process for a mathematical optimization problem, and causes the mathematical optimization solver to execute the optimization process using the converted mathematical formula.
4. The optimization device according to claim 1.
7. The optimization unit moves the focus to the input field that is the cause of the error, depending on the type of error that prevents optimization from being performed.
4. The optimization device according to claim 1.
8. The optimization part moves the focus to the input field of the step that is closest to the step where an error is expected. The optimization device according to claim 7.
9. constructing a screen including an input form for receiving at least the input of the type of mathematical optimization problem to be solved from a user, an object for receiving an instruction to execute the next step from the user, and an output field for outputting the execution results for each step of thinking to solve the mathematical optimization problem, and displaying the screen on a display device; Accepting input from a user on the constructed screen; applying the information input via the input form and a phrase indicating an instruction to create a next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; constructing a screen in which the generated next display content is set in the output field and displaying the screen on the display device; applying the information input by the user, the previously generated next display content, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem to the large-scale language model to generate a mathematical formula for the mathematical optimization problem; Solving the mathematical optimization problem using the generated mathematical formula Optimization method characterized by:
10. On the computer, a screen construction process for constructing a screen including an input form for receiving at least an input of the type of mathematical optimization problem to be solved from a user, an object for receiving an instruction to execute the next step from the user, and an output field for outputting the execution results for each step of thinking to solve the mathematical optimization problem, and displaying the screen on a display device; a reception process for receiving input from a user on the constructed screen; a generation process for applying the information input via the input form and a phrase indicating an instruction to generate next display content, which is content to be displayed in the output field in the next step, to a large-scale language model to generate the next display content; and Execute an optimization process to solve a mathematical optimization problem of the type entered in the input form; In the screen construction process, a screen is constructed in which the generated next display content is set in the output field; applying, to the large-scale language model, in the generation process, information input by the user, the next display content already generated, and a phrase indicating an instruction to generate a mathematical formula representing the mathematical optimization problem, to generate a mathematical formula for the mathematical optimization problem; In the optimization process, the mathematical optimization problem is solved using the generated mathematical formula. Optimization program for.