Information processing device, control method, and program

The information processing device and method allow users to manage and visualize constraint relaxation histories through graph structures, addressing the inconvenience of managing constraint relaxation settings in optimization systems, thereby improving user interaction and optimization efficiency.

JP7740511B2Active Publication Date: 2025-09-17NEC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024507448
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-18
Publication Date
2025-09-17
Estimated Expiration
2042-03-18

AI Technical Summary

Technical Problem

Existing optimization systems do not adequately facilitate the storage and review of user attempts to relax constraint conditions, making it inconvenient for users to manage and analyze constraint relaxation histories.

Method used

An information processing device and method that acquire and display constraint relaxation history information as a graph structure, allowing users to merge nodes, add child nodes, and specify constraint relaxation settings, thereby facilitating the management and visualization of constraint relaxation histories.

Benefits of technology

Enables effective presentation and management of constraint relaxation histories, allowing users to conveniently check and merge constraint settings, enhancing user interaction and optimization problem-solving efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007740511000001
    Figure 0007740511000001
  • Figure 0007740511000002
    Figure 0007740511000002
  • Figure 0007740511000003
    Figure 0007740511000003
Patent Text Reader

Abstract

An information processing device 1X mainly comprises an acquisition means 16X and a history display means 161X. The acquisition means 16X acquires constraint relaxation history information indicating the history relating to settings for the relaxation of constraint conditions in an optimization problem. On the basis of the constraint relaxation history information, the history display means 161X displays, on a display device, a graph structure in which each of the settings included in the history serve as the nodes.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to the technical fields of an information processing device, a control method, and a storage medium that perform processing related to an optimization problem. [Background technology]

[0002] Systems for calculating solutions to optimization problems have been known for some time. For example, Patent Document 1 discloses an electronic transaction intermediation system that creates multiple combination candidates so that the desired transaction conditions of both traders and customers are simultaneously satisfied. Furthermore, Patent Document 2 discloses an optimization system that determines (matches) combinations so that the desired transaction conditions of the seller and buyer of a commodity to be traded, such as the transaction volume and transaction price, are met, and then can change some of the transaction conditions and perform re-matching. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication WO2002 / 027575 [Patent Document 2] International Publication WO2021 / 001977 Summary of the Invention [Problem to be solved by the invention]

[0004] When a solution to an optimization problem is obtained through optimization, a solution that satisfies the formulated constraints is obtained. On the other hand, there are cases where a user can accept a solution that does not strictly observe the constraints. Therefore, it is convenient if a history of attempts by a user to relax the constraints can be stored and the user can later conveniently check the stored history information.

[0005] In view of the above-mentioned problems, one object of the present disclosure is to provide an information processing device, a control method, and a storage medium that are capable of suitably presenting a setting history of relaxation of constraint conditions. [Means for solving the problem]

[0006] One aspect of the information processing device is an acquisition means for acquiring constraint relaxation history information indicating a history of setting relaxation of constraint conditions in an optimization problem; a history display means for displaying, on a display device, a graph structure in which each of the settings included in the history is a node, based on the constraint relaxation history information; a merging means for receiving an input specifying two of the nodes to be merged, and, when the input is received, adding a node to the graph structure obtained by merging the two nodes; The information processing device has the following.

[0007] One aspect of the control method includes: The computer obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; A graph structure in which each of the settings included in the history is a node is displayed on a display device based on the constraint relaxation history information. death, receiving an input specifying two of the nodes to be merged, and when the input is received, adding a node to the graph structure obtained by merging the two nodes; It is a control method.

[0008] One aspect of the program is obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; A graph structure in which each of the settings included in the history is a node is displayed on a display device based on the constraint relaxation history information. death, Accepts input specifying two of the nodes to be merged, and when the input is received, adds a node to the graph structure in which the two nodes are merged. It is a program that causes a computer to execute the process. [Effects of the Invention]

[0009] The setting history of the relaxation of the constraint conditions can be presented in an appropriate manner. [Brief explanation of the drawings]

[0010] [Figure 1] 1 shows the configuration of an optimization system in a first embodiment. [Figure 2] 1 shows a hardware configuration of an information processing device. [Figure 3] 10 is an example of a data structure of constraint relaxation history information. [Figure 4] 1 is an example of a functional block of a processor related to optimization processing. [Figure 5] 10 is a graph showing the relationship between a variable x and a penalty value for a constraint (a). [Figure 6] 10 is a display example of a history management screen. [Figure 7] 10 is a display example of a history management screen after merging is executed. [Figure 8] 10 is a first display example of a constraint relaxation specification screen. [Figure 9] (A) A second display example of the constraint relaxation designation screen. (B) A third display example of the constraint relaxation designation screen. [Figure 10] 3 is an example of a flowchart according to the first embodiment. [Figure 11] FIG. 10 is a functional block diagram of an information processing device according to a second embodiment. [Figure 12] 10 is an example of a flowchart according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of an information processing device, a control method, and a storage medium will be described with reference to the drawings.

[0012] First Embodiment (1) System Configuration 1 shows the configuration of an optimization system 100 according to the first embodiment. The optimization system 100 mainly comprises an information processing device 1, multiple terminal devices 2 (2A, 2B, ...), and a storage device 4 that stores condition information 40 and constraint relaxation history information 41. The information processing device 1 and the terminal devices 2 communicate data via a network 6.

[0013] The information processing device 1 functions as a server device that performs data communication with the terminal device 2. Specifically, the information processing device 1 receives input information S1 related to a user's input from the terminal device 2 via a network 6. The information processing device 1 also transmits display information S2 to the terminal device 2 via the network 6, the display information S2 being used to cause the terminal device 2 to execute a predetermined display.

[0014] The information processing device 1 performs processing related to optimization of a specified optimization problem. Specifically, the information processing device 1 calculates a solution to the optimization problem based on the condition information 40 and constraint conditions specified by input information S1 supplied from the terminal device 2, and updates the constraint relaxation history information 41 based on the calculation result. In this case, the constraint conditions specified by the terminal device 2 represent conditions that are more relaxed than the constraint conditions stored in the condition information 40. Furthermore, the information processing device 1 generates display information S2 based on the constraint relaxation history information 41 for displaying the settings for relaxing the constraint conditions and a history related to the solution based on the settings (also referred to as "constraint relaxation history"), and transmits the display information S2 to the terminal device 2.

[0015] The optimization problem may be, for example, a problem of determining the combination of sellers and buyers of traded goods (and the transportation schedule for the goods), a problem of determining employee work shifts, or any other combinatorial optimization problem. The traded goods may be fuels such as LNG, steel, machinery, electronics, textiles, chemical products, medical products, food, or any other goods.

[0016] The terminal device 2 is a terminal used by a user (decision maker) who takes action based on a solution to the optimization problem. In this embodiment, as an example, there are multiple users, and each user uses their own terminal device 2 to view the constraint relaxation history and specify the relaxation of constraint conditions. The terminal device 2 generates input information S1 based on the received user input and transmits it to the information processing device 1 via the network 6. Here, in this embodiment, the terminal device 2 transmits the input information S1, including information specifying the settings for relaxing constraint conditions (also referred to as "constraint relaxation specification information"), to the information processing device 1. The constraint relaxation specification information includes, for example, information specifying the type of constraint condition that can be relaxed, the range in which the relaxation can be permitted, and the weight of the penalty in the case of relaxation. In addition to the constraint relaxation specification information, the input information S1 may also include information about the user of the terminal device 2 (such as a user ID and comments), date and time information, etc. Furthermore, when the terminal device 2 receives display information S2 from the information processing device 1, it displays various screens based on the display information S2.

[0017] Here, a supplementary explanation will be given of the configuration of the terminal device 2. The terminal device 2 has, for example, an input unit, a display unit, and a communication unit. The input unit is, for example, a keyboard, a touch panel, a button, a voice input device, etc. The display unit is, for example, a display, a projector, etc. The communication unit is, for example, a network adapter, etc. The terminal device 2 may be, for example, a personal computer, a tablet terminal, a PDA (Personal Digital Assistant), etc.

[0018] The storage device 4 is a memory that stores various information necessary for optimization processing. For example, the storage device 4 stores condition information 40 and constraint relaxation history information 41.

[0019] The condition information 40 is information about the conditions of the optimization problem to be solved by the information processing device 1, and includes information about the constraint conditions before being relaxed. For example, if a problem of determining a combination of sellers and buyers of goods to be traded is set as the optimization problem to be solved by the information processing device 1, the condition information 40 includes information about the sellers of the goods to be traded (including the desired conditions of each seller regarding the delivery location, delivery period, transaction volume, price, etc.), information about the buyers of the goods to be traded (including the desired conditions of each buyer regarding the delivery location, delivery period, transaction volume, price, etc.), etc.

[0020] The constraint relaxation history information 41 is information indicating the constraint relaxation history, and is, for example, a database having records including settings for relaxing constraint conditions that were previously determined and solutions based on those settings. Records of the constraint relaxation history information 41 are added by the information processing device 1 based on requests from the terminal device 2. An example of the data structure of the constraint relaxation history information 41 will be described later.

[0021] The storage device 4 may be an external storage device such as a hard disk connected to or built into the information processing device 1, or may be a storage medium such as a flash memory. The storage device 4 may also be a server device that performs data communication with the information processing device 1. In this case, the storage device 4 may be composed of multiple server devices.

[0022] The configuration of the optimization system 100 shown in FIG. 1 is an example, and various modifications may be made to the configuration. For example, although FIG. 1 shows multiple terminal devices 2, the terminal device 2 may be a single device. Furthermore, the information processing device 1 may be composed of multiple devices. In this case, the multiple devices constituting the information processing device 1 exchange information required to execute pre-assigned processing between these multiple devices. Furthermore, the information processing device 1 and the terminal device 2 may be realized by a single device. Similarly, the information processing device 1 and the storage device 4 may be realized by a single device.

[0023] (2) Hardware configuration of information processing device 2 shows the hardware configuration of the information processing device 1. The information processing device 1 includes, as hardware, a processor 11, a memory 12, and an interface 13. The processor 11, the memory 12, and the interface 13 are connected via a data bus 19.

[0024] The processor 11 executes a predetermined process by executing a program stored in the memory 12. The processor 11 is a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a TPU (Tensor Processing Unit). The processor 11 may be composed of multiple processors. The processor 11 is an example of a computer.

[0025] The memory 12 is composed of various types of volatile and non-volatile memories, such as a RAM (Random Access Memory) and a ROM (Read Only Memory). The memory 12 also stores programs for the information processing device 1 to execute various processes. The memory 12 is also used as a working memory, and temporarily stores information acquired from the storage device 4. The memory 12 may function as the storage device 4. Similarly, the storage device 4 may function as the memory 12 of the information processing device 1. The programs executed by the information processing device 1 may be stored in a storage medium other than the memory 12.

[0026] The interface 13 is an interface for electrically connecting the information processing device 1 to other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, or may be hardware interfaces for connecting to other devices via cables or the like.

[0027] The hardware configuration of the information processing device 1 is not limited to the configuration shown in Fig. 2. For example, the information processing device 1 may include an input device, a display device, a sound output device, and the like.

[0028] (3) Data structure for constraint relaxation history information 3 shows an example of the data structure of the constraint relaxation history information 41. The constraint relaxation history information 41 shown in FIG. 3 has multiple records including the following fields: "ID," "User," "Date and Time," "Comment," "Constraint Relaxation Content," "Objective Function Value," and "Optimal Solution." Each record of the constraint relaxation history information 41 is generated based on input information S1 supplied from the terminal device 2 to the information processing device 1 and the calculation result of the solution to the optimization problem by the information processing device 1.

[0029] The "ID" item indicates the identification information of each record. The "User" item indicates the identification information (user ID) of the user of the terminal device 2 that sent the input information S1 used to generate each record. The "Date and Time" item indicates the date and time when each record was generated. The "Comment" item indicates the comment entered by the user into the terminal device 2 along with the details of the relaxation of the constraint conditions.

[0030] The "Constraint Relaxation Details" item indicates the settings for the relaxation of constraint conditions specified by the user. Here, the "Constraint Relaxation Details" item includes each relaxed constraint condition and the penalty weight (also called "penalty weight") when each constraint condition is relaxed. In the example of Figure 3, "x" (continuous value) and "y" (integer value) are included as variables to be solved in the optimization problem, and constraint conditions related to variable x and constraint conditions related to variable y are specified. Furthermore, "pa" represents the penalty weight for the constraint condition related to variable x, and "pb" represents the penalty weight for the constraint condition related to variable y. Here, the "penalty weight" indicates the degree of penalty when a constraint condition is relaxed and is a coefficient used to calculate the penalty value, which is an index value that comprehensively represents the degree of relaxation of the constraint conditions. The method for calculating the penalty value will be described later.

[0031] The item "Objective function value" indicates the objective function value for the optimal solution obtained by solving the optimization problem based on the constraint relaxation content. The objective function value refers to the value of the objective function that should be maximized or minimized in the optimization. The item "Optimal solution" indicates the optimal solution obtained by solving the optimization problem based on the constraint relaxation content. Note that if the information processing device 1 calculates multiple solutions according to penalty values, the items "Optimal solution" and "Objective function value" may record a pair of the solution according to the penalty value and its objective function value in association with each penalty value.

[0032] The constraint relaxation history information 41 also includes information necessary for displaying each record as a node in a tree structure. For example, each record in the constraint relaxation history information 41 includes information indicating the records that form a parent-child relationship when displayed in a tree structure.

[0033] (4) Functional Blocks Fig. 4 shows an example of functional blocks of the processor 11 related to the optimization process. Functionally, the processor 11 has a solution determination unit 15 and a UI (User Interface) control unit 16. Note that in Fig. 4, blocks that exchange data are connected by solid lines, but the combination of blocks that exchange data is not limited to Fig. 4. The same applies to other functional block diagrams described later.

[0034] The solution determination unit 15 determines a solution to the optimization problem based on a request from the UI control unit 16. For example, when constraint relaxation specification information is supplied to the solution determination unit 15 from the child node generation unit 163 of the UI control unit 16, the solution determination unit 15 calculates a solution to the optimization problem based on the constraint relaxation specification information and the condition information 40. In this case, the solution determination unit 15 calculates a solution that allows relaxation of constraint conditions within a range specified by the constraint relaxation specification information. The solution determination unit 15 may calculate multiple optimization solutions by changing the upper limit of the penalty value. Then, the solution determination unit 15 supplies data (also referred to as "solution data") indicating the calculation results of the solution to the optimization problem to the UI control unit 16. The solution data includes a set of the obtained solution and an objective function value corresponding to the solution.

[0035] The solution determination unit 15 may determine a solution to an optimization problem based on any optimization method (optimization solver). For example, when solving a problem of determining a combination of sellers and buyers of goods to be traded, the solution determination unit 15 regards the problem as a single combinatorial optimization problem and formulates it as an integer programming problem. The solution determination unit 15 then obtains a solution to the formulated integer programming problem by performing processing equivalent to that of a general application program (e.g., IBM ILOG CPLEX, Gurobi Optimizer, SCIP). A method of formulating the integer programming problem and determining sellers, buyers, ships to be used, and the voyage period of the ships is disclosed, for example, in Patent Document 2.

[0036] The UI control unit 16 controls the display of the terminal device 2 based on the constraint relaxation history information 41, and updates the constraint relaxation history information 41 based on input information S1 supplied from the terminal device 2. Functionally, the UI control unit 16 includes a history display unit 161, a merging unit 162, and a child node generation unit 163.

[0037] The history display unit 161 performs display control of the terminal device 2 based on the constraint relaxation history information 41. In the display control based on the constraint relaxation history information 41, the history display unit 161 generates display information S2 for displaying a management screen related to the constraint relaxation history (also referred to as a "history management screen"). The history display unit 161 then transmits the generated display information S2 to the terminal device 2, thereby causing the terminal device 2 to display the history management screen. On the history management screen, the history display unit 161 displays a tree structure in which each record of the constraint relaxation history information 41 is a node, as will be described later. A display example of the history management screen will be described later. Note that, instead of displaying a tree structure in which each record of the constraint relaxation history information 41 is a node, the history display unit 161 may display a graph structure other than a tree structure in which each record of the constraint relaxation history information 41 is a node. The graph structure displayed in this case may include a cycle when converted into an undirected graph that does not take into account the directions of the branches (arrows) between nodes.

[0038] The merging unit 162 accepts an input specifying the merging of any two nodes on the history management screen, and when such an input is received, performs processing to generate a node obtained by merging the two specified nodes. In this case, the merging unit 162 integrates the constraint conditions corresponding to the two nodes to be merged by logical summing, and generates a record of the constraint relaxation history information 41 based on the solution to the optimization problem determined by the solution determination unit 15 using the integrated constraint conditions. The node generated by the merge becomes a child node common to the two specified nodes.

[0039] The child node generation unit 163 receives an input on the history management screen instructing the generation of a child node starting from an arbitrary node, and when the input is received, generates a child node with the starting node as the parent node. In this case, the child node generation unit 163 receives a user specification regarding relaxation of constraint conditions corresponding to the child node to be generated. For example, the child node generation unit 163 receives a user input specifying the type of constraint condition that can be relaxed, the range of the relaxation that can be allowed (also referred to as the "relaxation range"), and the penalty weight. Then, the child node generation unit 163 generates a record of the constraint relaxation history information 41 corresponding to the child node to be generated based on the solution of the optimization problem calculated by the solution determination unit 15 using the received constraint conditions. The parent node is an example of a "first node," and the child node is an example of a "second node."

[0040] The components of the solution determination unit 15, the history display unit 161, the merging unit 162, and the child node generation unit 163 described in FIG. 4 can be realized, for example, by the processor 11 executing a program. Alternatively, the necessary programs may be recorded in any nonvolatile storage medium and installed as needed to realize the components. At least some of the components may not necessarily be realized by software programs, but may be realized by any combination of hardware, firmware, and software. At least some of the components may be realized using a user-programmable integrated circuit, such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, the integrated circuit may be used to realize a program consisting of the components. At least some of the components may be configured using an ASSP (Application Specific Standard Produce), an ASIC (Application Specific Integrated Circuit), or a quantum processor (quantum computer control chip). In this way, the components may be realized by various hardware. The same applies to other embodiments described below. Furthermore, each of these components may be realized by the cooperation of multiple computers, for example, using cloud computing technology.

[0041] (5) Calculation of penalty value based on penalty weight Next, a method for calculating a penalty value based on a penalty weight will be explained using a specific example.

[0042] Here, the variables to be found as the solution in the optimization problem are "x" (continuous value), "y" (integer value), and "z" (binary value: 0 or 1), and the following constraints (a) to (c) are included in the condition information. (a) 4≦x≦10 (b) 3≦y≦5 (c) z=0

[0043] Furthermore, the objective function is set to the sum of x, y, and z (x+y+z) as follows, and the optimization solution (x, y, z) is determined so that the objective function value is maximized or minimized (maximized here). max(x+y+z)

[0044] The constraints (a) to (c) are relaxed to the following conditions (a1) to (c1), respectively. (a1) 1≦x≦13 (b1) 2≦y≦7 (c1) z = 0 or 1

[0045] It is also assumed that penalty weights "pa," "pb," and "pc" have been set for the constraints (a) to (c), respectively. pa=4 pb=2 pc=10

[0046] In this case, the penalty weights pa to pc are coefficients used to determine the penalty value, and are multiplied by the degree to which the obtained solution deviates from the original constraints (a) to (c). The penalty value is calculated as the sum of the product of the penalty weight for each constraint and the deviation degree.

[0047] Figure 5 is a graph showing the relationship between the variable x and the penalty value for constraint (a). As shown in Figure 5, the penalty value for constraint (a) is 0 as long as constraint (a) is satisfied. On the other hand, when constraint (a) is not satisfied and the range is within which condition (a1) is satisfied (i.e., the relaxed range), the penalty value increases according to the penalty weight pa as the deviation from constraint (a) increases (i.e., the degree of deviation increases).

[0048] For example, if the solution is (x, y, z) = (8, 4, 0), the penalty value is 0. On the other hand, if the solution is (x, y, z) = (13, 2, 1), the penalty value is (13-10)·pa+(3-2)·pb+(1-0)·pc=24 Note that (x, y, z) = (15, 5, 0) satisfies neither the constraint condition (a) nor its relaxed condition (a1) (i.e., it does not belong to either the initial range or the relaxed range), and is therefore excluded from the candidate solutions. A predetermined upper limit may be set for the penalty value. In this case, the solution determination unit 15 calculates a solution to the optimization problem in which the objective function value is maximized or minimized within a range in which the penalty value does not exceed the predetermined upper limit.

[0049] (6) Display example Next, a description will be given of the history management screen that the history display unit 161 causes the terminal device 2 to display based on the constraint relaxation history information 41. Fig. 6 is a display example of the history management screen. When the history display unit 161 receives a display request for the history management screen from the terminal device 2, it causes the terminal device 2 to display the history management screen by transmitting display information S2 generated based on the constraint relaxation history information 41 to the terminal device 2 via the interface 13.

[0050] The history management screen has a constraint relaxation history tree 30, a constraint relaxation history table 31, a merge execution button 32, a child node generation button 33, an individual display button 34, and a comparison display button 35.

[0051] The constraint relaxation history tree 30 is a tree structure having each record of the constraint relaxation history information 41 as a node. Each of nodes A to D can be selected by clicking on the history management screen, and in the example of FIG. 6, nodes C and D are highlighted by being selected. Here, node A is the root node and represents the first record of the constraint relaxation history information 41. Node B is a child node of node A and represents a record generated starting from node A. Nodes C and D are each child nodes and leaf nodes of node B and represent records generated starting from node B. In this way, the history display unit 161 represents the relationships between the records of the constraint relaxation history information 41 using a tree structure as the constraint relaxation history tree 30. This allows the user to visually recognize the relationships between the records of the constraint relaxation history information 41.

[0052] The constraint relaxation history table 31 is a table that represents records of constraint relaxation history information 41 corresponding to each node of the constraint relaxation history tree 30. Here, records of the constraint relaxation history information 41 having "ID" of "001" to "004" in FIG. 3 are displayed as records corresponding to nodes A to D. Note that in the example of FIG. 6, some items such as the constraint relaxation content included in the constraint relaxation history information 41 are hidden due to display space limitations, etc., but these items may also be included in the constraint relaxation history table 31.

[0053] The merge execution button 32 is a button for issuing an instruction to execute merging of the two selected nodes. When the merge execution button 32 is detected to have been selected, the merge unit 162 supplies to the solution determination unit 15 an optimization execution request including constraint relaxation details obtained by merging the constraint relaxation details recorded in the records of the constraint relaxation history information 41 represented by the two selected nodes. The solution determination unit 15 then calculates a solution to the optimization problem based on the constraint relaxation details specified in the optimization execution request. The merge unit 162 then adds a record indicating the solution calculation result by the solution determination unit 15 and the merged constraint relaxation details to the constraint relaxation history information 41. The history display unit 161 also displays, on the history management screen, the constraint relaxation history tree 30 and the constraint relaxation history table 31 that reflect the nodes generated by the merge.

[0054] Here, we will provide additional information about merging constraint relaxation details. When merging constraint relaxation details, constraints of the same type are combined using a logical sum (OR). For example, if one constraint relaxation detail for a variable x (a continuous value) is "2≦x≦5" and the other constraint relaxation detail is "4≦x≦7," the merged constraint relaxation detail will be "2≦x≦7." In another example, if one constraint relaxation detail for a variable y (an integer value) is "5≦y" and the other constraint relaxation detail is "3≦y," the merged constraint relaxation detail will be "3≦y." In this way, when merging constraint relaxation details, the merged constraint is set so that it is sufficient for either of the two constraint relaxation details to be merged to be satisfied for each constraint of the same type.

[0055] The child node generation button 33 is a button for instructing the addition of a node originating from an arbitrary node. When the child node generation unit 163 detects selection of the child node generation button 33 while an arbitrary node is selected, it generates a node originating from the selected node. In this case, the child node generation unit 163 first displays a screen for accepting specification of constraint relaxation details for the node to be generated and receives input information S1 including constraint relaxation specification information from the terminal device 2. Then, the solution determination unit 15 calculates a solution to the optimization problem based on the constraint relaxation details indicated by the constraint relaxation specification information. The child node generation unit 163 adds a record to the constraint relaxation history information 41 for the node to be generated based on the calculation results of the solution determination unit 15, etc. In this case, for example, the new record includes information specifying the node selected as the origin as the parent node. Thereafter, the history display unit 161 displays the constraint relaxation history tree 30 and the constraint relaxation history table 31 reflecting the generated node.

[0056] The individual display button 34 is a button that requests a detailed display of a record in the constraint relaxation history information 41 that corresponds to one selected node. When the history display unit 161 detects that the individual display button 34 has been selected, it displays information such as the constraint relaxation content and solutions based on the record in the constraint relaxation history information 41 that corresponds to the selected node on the history management screen. The comparison display button 35 is a button that requests a comparative display of records in the constraint relaxation history information 41 that correspond to two selected nodes. When the history display unit 161 detects that the individual display button 34 has been selected, it displays information that compares the constraint relaxation content of the records in the constraint relaxation history information 41 that correspond to the two selected nodes on the history management screen.

[0057] 7 shows an example of the history management screen after merging. In this example, when the execute merge button 32 is selected with nodes C and D selected, a new node E is generated by merging nodes C and D.

[0058] In this case, the history display unit 161 regards the new record in the constraint relaxation history information 41 generated by the merge as node E, and displays the constraint relaxation history tree 30 and the constraint relaxation history table 31 including node E on the history management screen. Here, the history display unit 161 displays node E in the constraint relaxation history tree 30 as a common child node of nodes C and D used in the merge. Furthermore, the history display unit 161 displays the record in the constraint relaxation history table 31 for node E based on the new record in the constraint relaxation history information 41 generated by the merge in the constraint relaxation history table 31. Note that after the merge execution button 32 is selected, the solution determination unit 15 calculates a solution to the optimization problem based on the constraint relaxation content obtained by merging the constraint relaxation content corresponding to nodes C and D, and the merging unit 162 generates a record in the constraint relaxation history information 41 corresponding to node E based on the calculation result of the solution, etc.

[0059] In this way, the information processing device 1 can accept a specification for merging any two nodes on the history management screen, and can display the constraint relaxation history tree 30 and the constraint relaxation history table 31 that reflect the new node generated by the merge. Furthermore, the user of the terminal device 2 can conveniently check the history of constraint relaxation transitions, including merging, on the history management screen.

[0060] The history display unit 161 may display the nodes of the constraint relaxation history tree 30 in different colors for each user. Similarly, the history display unit 161 may display the records of the constraint relaxation history table 31 in different colors for each user. Each user may be associated with authority information indicating whether or not the user is permitted to issue instructions to execute merges and to execute instructions to add child nodes, etc. Such authority information is stored in advance in, for example, the storage device 4.

[0061] Fig. 8 is a first display example of an input screen (also called a "constraint relaxation specification screen") for specifying the content of constraint relaxation, which is displayed when the child node generation button 33 is selected in Fig. 6. The first display example shows a display example when the constraint conditions that are candidates for relaxation are specified by a continuous range such as a period.

[0062] The child node generation unit 163 generates display information S2 for displaying the constraint relaxation specification screen, and transmits the generated display information S2 to the terminal device 2 via the interface 13, thereby causing the terminal device 2 to display the constraint relaxation specification screen.

[0063] The constraint relaxation specification screen according to the first display example includes display fields corresponding to the items "constraint name," "penalty weight," and "content." The item "constraint name" indicates the name of a constraint that is a candidate for relaxation (in other words, a constraint that can be relaxed). Here, "Delivery period of trading partner A" and "Delivery period of trading partner B" are listed in the display field of the item "constraint name."

[0064] The item "Penalty Weight" indicates the penalty weight to be set for the constraint condition of the constraint name displayed in the display field of the item "Constraint Name," and the display field of the item "Penalty Weight" is provided with weight specification fields 36 and 37. The weight specification fields 36 and 37 are input fields in which the user can specify any penalty weight value via the terminal device 2. The weight specification fields 36 and 37 display, as initial values, penalty weights based on the "Constraint Relaxation Content" of the record in the constraint relaxation history information 41 corresponding to the node selected as the starting point.

[0065] The "Content" item displays graphs 42A and 42B, each showing the content of the constraint condition for the constraint name displayed in the display field for the "Constraint Name" item. In the initial state, the graphs 42A and 42B use gauges to represent the content of the constraint condition based on the "Constraint Relaxation Content" of the record in the constraint relaxation history information 41 corresponding to the node selected as the starting point. The child node generation unit 163 then accepts changes to the ranges indicated by the gauges on the graphs 42A and 42B based on user input. For example, the child node generation unit 163 accepts changes to the ranges indicated by the gauges by detecting an operation of dragging and dropping the right or left end of the initial range to a position corresponding to an allowable date.

[0066] Then, when it is detected that a button (not shown) indicating completion of input on the constraint relaxation specification screen has been selected, the child node generation unit 163 receives constraint relaxation specification information indicating the latest contents of the "penalty weight" and "content" on the constraint relaxation specification screen from the terminal device 2. The solution determination unit 15 then calculates a solution to the optimization problem based on the constraint relaxation specification information, and adds a record to the constraint relaxation history information 41 corresponding to the child node to be generated based on the calculated solution result and the constraint relaxation specification information. Furthermore, the history display unit 161 reflects, on the history management screen, the display of the constraint relaxation history tree 30 and the constraint relaxation history table 31, a new node whose parent node is the node selected as the starting point.

[0067] 9A shows a second display example of the constraint relaxation specification screen, which is a display example when constraint conditions that are candidates for relaxation are specified by discrete numerical values.

[0068] In the second display example, the display field for the item "Constraint Name" displays "Lower Limit on Number of Contracts for Customer A." The display field for the item "Penalty Weight" has a weight specification field 38, which is an input field for the penalty weight to be set for the constraint condition "Lower Limit on Number of Contracts for Customer A." Furthermore, the display field for the item "Content" has a condition specification field 43, which is an input field for specifying the setting of the above-mentioned constraint condition.

[0069] The condition specification field 43 is, for example, an input field in the form of a pull-down menu, and displays selectable values ​​(discrete values) that can be set as the lower limit of the number of contracts for trading partner A. In the initial state, the condition specification field 43 is set to an initial value of "3" based on the "constraint relaxation content" of the record in the constraint relaxation history information 41 that corresponds to the node selected as the starting point. In addition, the condition specification field 43 highlights the menus for values ​​"0," "1," and "2," which are more lenient constraints than the initial value (here, 3). For example, if "1" is selected in the relaxation range specification field 43, the number of contracts for trading partner A will be newly allowed to be 1 and 2.

[0070] 9B is a third display example of the constraint relaxation specification screen. The third display example is a display example when specifying whether or not a constraint condition that is a candidate for relaxation can be excluded.

[0071] In the third display example, the display field for the item "Constraint Name" lists "Staff X is allowed to work consecutive night shifts" and "Staff Y is allowed to work consecutive night shifts." The display field for the item "Penalty Weight" has weight specification fields 39 and 50, which are input fields for the penalty weights to be set for these constraint conditions. Furthermore, the display field for the item "Relaxation Possible" has check boxes 44 and 45, which are input fields for specifying whether or not each of the above-mentioned constraint conditions can be relaxed (in this case, excluded). Note that in the initial state, check box 44 is checked and check box 45 is not checked based on the "Constraint Relaxation Content" of the record in constraint relaxation history information 41 corresponding to the node selected as the starting point.

[0072] In this way, the child node generation unit 163 displays the constraint relaxation content based on the record of the constraint relaxation history information 41 corresponding to the starting node as the initial value, and can preferably accept the specification of the penalty weight and content regarding the constraint condition corresponding to the child node to be generated.

[0073] (7) Processing Flow FIG. 10 is an example of a flowchart executed by the information processing device 1 in the first embodiment.

[0074] First, the information processing device 1 determines whether or not it has received a display request from any terminal device 2, requesting that the constraint relaxation settings and the constraint relaxation history, which is a history related to the solutions based on the settings, be displayed (step S10). If the information processing device 1 has received the display request from the terminal device 2 (step S10; Yes), the information processing device 1 generates display information S2 for displaying the constraint relaxation history in a tree structure based on the constraint relaxation history information 41. Then, the information processing device 1 transmits the display information S2 to the terminal device 2, thereby displaying the constraint relaxation history in a tree structure on the terminal device 2 (step S11). In this case, for example, the information processing device 1 displays a history management screen shown in FIG. 6 or the like on the terminal device 2. On the other hand, if the information processing device 1 has not received the display request from the terminal device 2 (step S10; No), it continues to execute step S10.

[0075] Next, the information processing device 1 determines whether any two nodes to be merged in the displayed tree structure have been specified (step S12). In this case, the information processing device 1 determines whether the above-mentioned nodes have been specified based on the input information S1 received from the terminal device 2. Then, if the information processing device 1 determines that any two nodes have been specified (step S12; Yes), it merges the specified two nodes (step S13). In this case, the information processing device 1 generates a record of the constraint relaxation history information 41 corresponding to a new node that integrates the constraint relaxation contents of the two specified nodes, and displays the above-mentioned tree structure, etc. that reflects the new node on the terminal device 2. On the other hand, if the information processing device 1 determines that any two nodes have not been specified (step S12; No), it proceeds to step S14.

[0076] Next, the information processing device 1 determines whether two arbitrary nodes to be compared have been specified in the displayed tree structure (step S14). If the information processing device 1 determines that two arbitrary nodes to be compared have been specified (step S14; Yes), it causes the terminal device 2 to execute a comparative display of the constraint relaxation contents corresponding to the two specified nodes (step S15). In this case, the information processing device 1 generates display information S2 for comparatively displaying the constraint relaxation contents of the two specified nodes based on the records of the constraint relaxation history information 41 corresponding to the two specified nodes, and supplies the display information S2 to the terminal device 2. On the other hand, if the information processing device 1 determines that two arbitrary nodes to be compared have not been specified (step S14; No), it proceeds to step S16.

[0077] Next, the information processing device 1 determines whether a node that will be the starting point for creating a new node has been designated (step S16). If the information processing device 1 determines that a node that will be the starting point for creating a new node has been designated (step S16; Yes), the information processing device 1 accepts input regarding relaxation of constraint conditions and generates a node based on the accepted input (step S17). In this case, the information processing device 1 displays on the terminal device 2 a constraint relaxation specification screen that accepts the constraint relaxation content of the new node using the constraint relaxation content of the specified node as an initial value. Furthermore, the information processing device 1 generates a record of the constraint relaxation history information 41 corresponding to the new node based on the input information on the constraint relaxation specification screen, and displays on the terminal device 2 the above-mentioned tree structure or the like that reflects the new node.

[0078] Here, we will provide additional explanation about the effect of relaxing constraints. For example, when a decision maker in a transaction uses this system, the decision maker can refer to a history management screen or the like during decision-making to understand the state of relaxation of constraints, and obtain information for negotiations to influence the trading partner. In another example, this can lead to an improvement in the objective function value compared to performing a single optimization without relaxing constraints. In yet another example, when an acceptable solution cannot be found (infeasible) in the optimization by the solution determination unit 15, an acceptable solution can be obtained by including relaxation of constraints as an option.

[0079] Second Embodiment 11 is a functional block diagram of an information processing device 1X according to the second embodiment. The information processing device 1X mainly includes an acquisition unit 16X and a history display unit 161X. The information processing device 1X may be made up of multiple devices.

[0080] The acquisition unit 16X acquires constraint relaxation history information indicating a history of setting relaxation of constraint conditions in an optimization problem. The acquisition unit 16X can be, for example, the UI control unit 16 that acquires the constraint relaxation history information 41 stored in the storage device 4 in the first embodiment.

[0081] The history display means 161X displays a graph structure in which each setting included in the history is a node on a display device based on the constraint relaxation history information. The display device may be a device (for example, the terminal device 2) separate from the information processing device 1X, or may be built into the information processing device 1X. The history display means 161X can be, for example, the history display unit 161 in the first embodiment.

[0082] 12 is an example of a flowchart executed by the information processing device 1X in the second embodiment. First, the acquisition means 16X acquires constraint relaxation history information indicating a history of settings for relaxing constraint conditions in an optimization problem (step S21). Then, the history display means 161X displays, on the display device, a graph structure in which each setting included in the history is a node, based on the constraint relaxation history information (step S22).

[0083] The information processing device 1X according to the second embodiment can display the process of setting the relaxation of constraint conditions in an optimization problem in an intuitive and easy-to-understand manner.

[0084] In addition, part or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0085] [Appendix 1] an acquisition means for acquiring constraint relaxation history information indicating a history of setting relaxation of constraint conditions in an optimization problem; a history display means for displaying, on a display device, a graph structure in which each of the settings included in the history is a node, based on the constraint relaxation history information; An information processing device having the above. [Appendix 2] An information processing device as described in Appendix 1, having a merging means that accepts input specifying two of the nodes to be merged, and when the input is received, adds a node to the graph structure in which the two nodes are merged. [Appendix 3] 3. The information processing device according to claim 2, wherein the merging means determines the constraint corresponding to the node to be added by the merging based on a logical sum of the constraints corresponding to the two nodes. [Appendix 4] An information processing device according to any one of appendices 1 to 3, comprising a node generation means for receiving input specifying a starting node among the nodes, and, when the input is received, generating a second node in which the starting node is a first node in the graph structure. [Appendix 5] The information processing device described in Appendix 4, wherein the node generation means receives input regarding the type of constraint condition that is allowed to be relaxed, the range of relaxation of the constraint condition, and the weight of the penalty when the constraint condition is relaxed, and generates the constraint relaxation history information for the second node based on the input. [Appendix 6] The information processing device described in any one of Appendices 1 to 5, wherein the history display means accepts input specifying two of the nodes to be compared, and when the input is received, displays the settings corresponding to the two nodes for comparison on the display device. [Appendix 7] 7. The information processing device according to any one of appendices 1 to 6, wherein the constraint relaxation history information includes information about a solution to the optimization problem calculated based on the setting. [Appendix 8] The information processing device according to any one of appendices 1 to 7, further comprising a solution determination means for determining a solution to the optimization problem based on the setting corresponding to the node when the node is added. [Appendix 9] The computer obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; displaying, on a display device, a graph structure in which each of the settings included in the history is a node based on the constraint relaxation history information; Control method. [Appendix 10] obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; A storage medium storing a program that causes a computer to execute a process of displaying, on a display device, a graph structure in which each of the settings included in the history is a node, based on the constraint relaxation history information.

[0086] In each of the above-described embodiments, the program can be stored using various types of non-transitory computer-readable media and supplied to a computer processor or the like. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable medium can supply the program to a computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.

[0087] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications within the scope of the present invention that would be understood by those skilled in the art can be made to the configuration and details of the present invention. In other words, the present invention naturally includes various modifications and alterations that would be possible for those skilled in the art based on the entire disclosure, including the claims, and the technical ideas. Furthermore, the disclosures of the above-cited patent documents and other documents are incorporated herein by reference. [Explanation of symbols]

[0088] 1. 1X information processing device 2 (2A, 2B, ...) Terminal device 4 Storage device 100 Optimization System

Claims

1. an acquisition means for acquiring constraint relaxation history information indicating a history of setting relaxation of constraint conditions in an optimization problem; a history display means for displaying, on a display device, a graph structure in which each of the settings included in the history is a node, based on the constraint relaxation history information; a merging means for receiving an input specifying two of the nodes to be merged, and, when the input is received, adding a node to the graph structure obtained by merging the two nodes; An information processing device having the above.

2. 2. The information processing apparatus according to claim 1, wherein said merging means determines said constraint corresponding to said node to be added by said merging based on a logical sum of said constraints corresponding to said two nodes.

3. 3. The information processing device according to claim 1, further comprising: a node generating means for receiving an input specifying a starting node among the nodes, and, when the input is received, generating a second node in which the starting node is a first node in the graph structure.

4. 4. The information processing device according to claim 3, wherein the node generation means receives input regarding the type of constraint that is allowed to be relaxed, the range of relaxation of the constraint, and the weight of the penalty when the constraint is relaxed, and generates the constraint relaxation history information regarding the second node based on the input.

5. The information processing device according to any one of claims 1 to 4, wherein the history display means accepts input specifying two of the nodes to be compared, and when the input is received, the settings corresponding to the two nodes are displayed for comparison on the display device.

6. 6. The information processing apparatus according to claim 1, wherein the constraint relaxation history information includes information relating to a solution to the optimization problem calculated based on the settings.

7. 7. The information processing device according to claim 1, further comprising a solution determination means for determining a solution to the optimization problem based on the setting corresponding to the node when the node is added.

8. The computer obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; displaying, on a display device, a graph structure in which each of the settings included in the history is a node based on the constraint relaxation history information; receiving an input specifying two of the nodes to be merged, and when the input is received, adding a node to the graph structure obtained by merging the two nodes; Control method.

9. obtaining constraint relaxation history information indicating a history of setting relaxation of constraint conditions in the optimization problem; displaying, on a display device, a graph structure in which each of the settings included in the history is a node based on the constraint relaxation history information; A program that causes a computer to receive input specifying two of the nodes to be merged, and, when the input is received, to execute a process of adding a node to the graph structure in which the two nodes are merged.

Citation Information

Patent Citations

  • Image information processor

    JP1996329099A

  • Bus distribution search program, bus distribution search method and information processing apparatus

    JP2019144705A

  • Information processing apparatus, information processing system, control method, and program

    JP2019207482A

  • Plan creation support system and plan creation support method

    JP2020201781A

  • Electronic deal mediating method and electronic deal mediating system

    WO2002027575A1