Information processing method, information processing system, and program

By generating a second linear programming problem with relaxed constraints, the method identifies and corrects unsatisfied constraints in large-scale linear programming problems, ensuring feasible solutions.

JP2026011839AActive Publication Date: 2026-01-23EXAWIZARDS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024112771
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-12
Publication Date
2026-01-23
Estimated Expiration
2044-07-12

AI Technical Summary

Technical Problem

Large-scale linear programming problems with thousands of variables and tens of thousands of constraints are difficult to identify the cause of infeasibility due to interacting constraints, leading to infeasibility issues.

Method used

Generate a second linear programming problem by relaxing the first constraints with ui, calculate its solution, and output information about the first constraint corresponding to ui that was not zero, allowing identification and correction of unsatisfied constraints.

Benefits of technology

Enables the identification and correction of conflicting constraints in linear programming problems, ensuring feasible solutions by modifying or deleting unsatisfied constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026011839000008
    Figure 2026011839000008
  • Figure 2026011839000009
    Figure 2026011839000009
  • Figure 2026011839000010
    Figure 2026011839000010
Patent Text Reader

Abstract

To provide an information processing method executed by an information processing system for formulating an optimization problem as a linear programming problem, and to provide the information processing system and a program.SOLUTION: The information processing method generates a second linear programming problem different from a first linear programming problem based on the first linear programming problem that is a detection target of a constraint condition violation. The first linear programming problem includes n first constraints x ≥ 1, 3x + 2y ≥ 6, - 3x - 2y ≥ 6, and first target functions x + y. The second linear programming problem includes n second constraints x ≥ 1 - u1, 3x + 2y ≥ 6 - u2, - 3x - 2y ≥ 6 - u3 (where ui> 0), and second target functions. The second constraint condition is obtained by relaxing the first constraint condition by ui, and the second objective function calculates a solution of the second linear programming problem and outputs information on the first constraint condition corresponding to ui that does not become zero.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing method, an information processing system, and a program. [Background technology]

[0002] Patent Document 1 discloses a voltage and reactive power control device that reduces the influence of an increase in the number of operations and linearization errors when generating an operation signal for a VQ adjustment device by solving a linear programming problem. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 3372460 Summary of the Invention [Problem to be solved by the invention]

[0004] There is a known method for formulating optimization problems as linear programming problems. An optimization problem is a problem of finding a specific value that minimizes the value of an objective function among those that satisfy given constraints. In particular, a linear programming problem is one in which the constraints and objective function are written as linear expressions. Some linear programming problems are infeasible because of conflicting constraints. Some such linear programming problems are infeasible because three or more constraints interact with each other.

[0005] In practical situations, the objective function of a linear programming problem may have thousands of variables and tens of thousands of constraints, making it difficult to identify the cause of infeasibility. [Means for solving the problem]

[0006] According to one aspect of the present invention, there is provided an information processing method executed by an information processing system. This information processing method generates a second linear programming problem different from a first linear programming problem, based on the first linear programming problem for which constraint violation detection is to be performed. The first linear programming problem includes n first constraints and a first objective function. The second linear programming problem includes n second constraints and a second objective function. The second constraints are obtained by relaxing the first constraints by ui. The second objective function is

number

[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of the server device. [Figure 3] FIG. 3 is a diagram illustrating an example of a hardware configuration of the client device. [Figure 4] FIG. 4 is a flowchart (part 1) illustrating an example of information processing in the server device. [Figure 5] FIG. 5 is a diagram showing an example of the first linear programming problem displayed on the output unit of the client device. [Figure 6] FIG. 6 is a diagram illustrating an example of the second linear programming problem. [Figure 7] FIG. 7 is a diagram showing an example of a screen displayed on the output unit of the client device. [Figure 8] FIG. 8 is a flowchart (part 2) illustrating an example of information processing in the server device. [Figure 9] FIG. 9 is a diagram illustrating an example of the third linear programming problem. [Figure 10] FIG. 10 is a diagram showing an example of a screen displayed on the output unit of the client device. DETAILED DESCRIPTION OF THE INVENTION

[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following describes embodiments of the present invention with reference to the accompanying drawings. Various features shown in the following embodiments (including modified examples, which also apply hereinafter) can be combined with one another.

[0009] <Embodiment 1> 1. System configuration diagram FIG. 1 is a diagram showing an example of the system configuration of an information processing system 1000. As shown in FIG. 1, the information processing system 1000 includes, as a system configuration, a server device 100 and a client device 110. The server device 100 is an example of a computer. The server device 100 and the client device 110 are communicably connected via a network 150. The network 150 may include either or both of a WAN (Wide Area Network) and the Internet. The network 150 is configured to allow devices connected to the network 150 to communicate with each other via wired and wireless connections.

[0010] The server device 100 executes the information processing and the like described in the first embodiment in response to requests and the like from the client device 110. Details of the processing by the server device 1000 will be explained using flowcharts and the like described later. The information processing system 1000 may include one or more server devices. When the information processing system 1000 includes multiple server devices, the functions of the server device 100 are provided as a so-called distributed system.

[0011] The client device 110 is a device operated by an operator of the information processing system 1000, and is a device that uses functions provided by the server device 100. While a PC (Personal Computer) is shown in FIG. 1 as an example of the client device 110, the client device 110 is not limited to a PC and may be a tablet terminal device or a smartphone. The client device 110 may be any device that can input operation information, etc. from the operator and display the results of processing, etc., in the server device 100.

[0012] Here, the claimed information processing system may be composed of multiple devices or may be composed of a single device. When the claimed information processing system is composed of a single device, an example of that device is, for example, a server device 100. When the claimed information processing system is composed of a plurality of devices, an example of the plurality of devices is, for example, a distributed system that provides the functions of the server device 100, or the server device 100 and the client device 110.

[0013] 2. Hardware Configuration (1) Hardware Configuration of Server Device 100 FIG. 2 is a diagram illustrating an example of a hardware configuration of the server device 100. As shown in FIG. 2, the server device 100 includes, as its hardware configuration, a control unit 210, a storage unit 220, a communication unit 230, and an internal bus 240. The control unit 210, the storage unit 220, and the communication unit 230 are electrically connected via the internal bus 240.

[0014] The control unit 210 is a CPU (Central Processing Unit) or the like, and controls the entire server device 100 .

[0015] The storage unit 220 is any one of a hard disk drive (HDD), a read-only memory (ROM), a random access memory (RAM), a solid state drive (SSD), etc., or any combination thereof, and stores programs and data (e.g., a compiler, a linker, a loader, a library, a linear programming problem, etc., which will be described later) used when the control unit 210 executes processing based on the programs. Note that the following description will be given assuming that the server device 100 has a ROM, a RAM, an HDD, and an SSD as storage units. The storage unit 220 is an example of a storage medium. In the description, data used when the control unit 210 executes processing based on the programs is described as being stored in the storage unit 220, but the data may also be stored in a storage unit of another device that can communicate with the server device 100. In other words, the data may be stored in a storage unit of any device as long as the control unit 210 can refer to or acquire the data. The control unit 210 executes processing based on the programs stored in the storage unit 220, thereby realizing the functions of the server device 100 and the processing of the flowcharts shown in FIGS. 4 and 8, which will be described later.

[0016] If the programming language of the source code is a compilation system, the control unit 210 converts the source code stored in a ROM, HDD, SSD, or the like into object code using a compiler. The control unit 210 then links the object code and a library using a linker to generate a load module. The control unit 210 then loads the load module into a memory such as RAM using a loader. The control unit 210 then executes the load module loaded into memory to realize the processing of the flowcharts shown in FIGS. 4 and 7, which will be described later. If the programming language of the source code is an interpreter system, the control unit 210 reads the source code stored in a ROM, HDD, SSD, etc. into a memory such as a RAM, and executes processing while performing lexical analysis and / or syntactic analysis on the read source code line by line during execution, thereby realizing the processing of the flowcharts shown in Figures 4 and 7, etc., which will be described later.

[0017] The communication unit 230 connects the server device 100 to the network 150 and controls communication with other devices.

[0018] (2) Hardware Configuration of the Client Device 110 FIG. 3 is a diagram illustrating an example of the hardware configuration of the client device 110. As shown in FIG. As shown in FIG. 3, the client device 110 includes, as its hardware configuration, a control unit 310, a storage unit 320, an input unit 330, an output unit 340, a communication unit 350, and an internal bus 360.

[0019] The control unit 310 is a CPU or the like, and controls the entire client device 110 .

[0020] The storage unit 320 is any one of an HDD, a ROM, a RAM, an SSD, etc., or any combination thereof, and stores programs and data used when the control unit 310 executes processing based on the programs. The storage unit 320 is an example of a storage medium.

[0021] The input unit 330 is a keyboard, a mouse, or the like, and inputs information based on a selection operation and / or an input operation by an operator. The output unit 340 is a display or the like, and displays information input by an operator via a screen, the results of processing by the control unit 310, and the like.

[0022] The communication unit 350 connects the client device 110 to the network 150 and controls communication with other devices.

[0023] 3. Information Processing (1) Overview of the process The control unit 210 generates a second linear programming problem different from the first linear programming problem, based on the first linear programming problem for which constraint violations are to be detected. The first linear programming problem includes n first constraints and a first objective function. The second linear programming problem includes n second constraints and a second objective function. The second constraints are obtained by relaxing the first constraints by ui. In other words, the second constraints are obtained by adding a relaxation term ui to the first constraints. The second objective function is

number

[0024] (2) Details of the processing FIG. 4 is a flowchart (part 1) showing an example of information processing in the server device 100. In step S401, the control unit 210 acquires a first linear programming problem that is the target of constraint violation detection. The control unit 210 acquires the first linear programming problem specified via a screen of the client device 110 from the storage unit 220, for example. The control unit 210 controls the output unit 340 of the client device 110 to display a screen including the acquired first linear programming problem.

[0025] 5 is a diagram showing an example of a first linear programming problem 500 displayed on the output unit 340 of the client device 110. As described above, in practical situations, the number of variables in the objective function of a linear programming problem may be several thousand, and the number of constraints may be several tens of thousands. However, for the sake of simplicity, the present specification will use the linear programming problem shown in FIG. 5 as an example. x+y is the objective function (first objective function) 510 of the first linear programming problem 500 . x ≥ 1 3x+2y≧6 -3x-2y≧6 are constraints (first constraints) 520 of the first linear programming problem 500.

[0026] In step S402 of FIG. 4, control unit 210 assigns 1 to variable N. In step S403, the control unit 210 generates a second linear programming problem different from the first linear programming problem 500, based on the first linear programming problem 500. The second linear programming problem includes n constraints (also referred to as second constraints) and an objective function (also referred to as the second objective function).

[0027] FIG. 6 illustrates an example of a second linear programming problem 600 . As shown in Figure 6, the second constraint 620 of the second linear programming problem 600 is a constraint obtained by relaxing the first constraint by ui. To explain the constraint obtained by relaxing the first constraint by ui more specifically, x≧1-u1 3x+2y≧6-u2 -3x-2y≧6-u3 (where ui>0). The second objective function 610 is:

number

[0028] 4, the control unit 210 calculates a solution by solving the second linear programming problem 600. The constraint condition for which ui≠0.0 is the constraint condition that could not be satisfied. Solving the second linear programming problem 600 gives: u1=0.0, u2=0.0, u3=12.0.

[0029] In step S405, the control unit 210 outputs information related to the constraints. More specifically, the control unit 210 solves the second linear programming problem 600 and outputs information related to the constraints (u3 in the above example) that could not be satisfied. For example, the information related to u3 may be information including at least u3, information including the first constraint corresponding to u3, that is, -3x-2y≧6, or information including u3 and -3x-2y≧6.

[0030] Furthermore, the control unit 210 may output the information by controlling a screen including information about the constraints that could not be satisfied to be displayed on the output unit 340 of the client device 110, or may output the information by storing a file or the like including information about the constraints that could not be satisfied in a predetermined storage area such as the storage unit 220, or may output the information about the constraints that could not be satisfied by transmitting the information about the constraints that could not be satisfied to a predetermined device. Note that, for the sake of simplicity, the following description will be given assuming that the control unit 210 controls the information about the constraints to be displayed on the output unit 340 of the client device 110.

[0031] FIG. 7 is a diagram illustrating an example of a screen 700 displayed on the output unit 340 of the client device 110. More preferably, as illustrated in FIG. 7, the control unit 210 outputs, as information regarding the constraints, the constraint (-3x-2y≧6) where ui≠0.0 and information suggesting that the constraint (-3x-2y≧6) where ui≠0.0 is an unsatisfied constraint and therefore should be deleted or modified. The area 710 indicates the constraint where ui≠0.0 and also accepts input regarding modification. The delete button 720 is a button selected to instruct deletion of the constraint displayed in the area 710. The modify button 730 is a button selected to instruct rewriting the constraint displayed in the area 710 with the modified constraint. The output constraint button 740 is a button selected to instruct output of other constraints that contradict (cannot be satisfied by) the constraint displayed in the area 710.

[0032] In step S406, control unit 210 determines whether or not output constraint conditions button 740 has been selected via a screen (for example, a screen such as that shown in FIG. 7) displayed on output unit 340 of client device 110. If control unit 210 determines that output constraint conditions button 740 has been selected (YES in step S406), the process proceeds to step S801 in FIG. 8, but if control unit 210 determines that output constraint conditions button 740 has not been selected, that is, that delete button 720 or modify button 730 has been selected (NO in step S406), the process proceeds to step S407.

[0033] In step S407, the control unit 210 corrects the first linear programming problem based on input information input by the operator via a screen displayed on the output unit 340 of the client device 110 (for example, a screen such as that shown in FIG. 7). For example, when the Delete button 720 is selected on the screen as shown in Fig. 7, the control unit 210 performs a modification to delete the constraint condition displayed in the area 710 from the first linear programming problem. Alternatively, when the modified constraint condition is input in the area 710 on the screen as shown in Fig. 7 and the Modify button 730 is selected, the control unit 210 performs a modification to change the corresponding constraint condition of the first linear programming problem to the modified constraint condition. The process in step S407 is performed for u that did not become zero. i 1 is an example of a process for correcting a first linear programming problem based on input information input in response to output of information relating to a first constraint condition corresponding to

[0034] In step S408, the control unit 210 solves the modified first linear programming problem to calculate a solution. In step S409, the control unit 210 outputs the calculated solution. For example, the control unit 210 displays the calculated solution on the output unit 340 of the client device 110. In step S410, the control unit 210 stores the modified first linear programming problem in a predetermined memory area such as the memory unit 220 based on a predetermined operation via the screen by the operator of the client device 110 who has confirmed the solution.

[0035] FIG. 8 is a flowchart (part 2) illustrating an example of information processing in the server device 100. In step S801, the control unit 210 calculates the second linear programming problem and the u i In the above example, since u3 was not zero, the control unit 210 generates a third linear programming problem based on the second linear programming problem and u3. The third objective function of the third linear programming problem includes n third constraints and a third objective function. The third objective function is generated based on u3 that was not zero in the second objective function. i It includes an objective function with weighting added to If we let wi be the weight given to violation of constraints, the third objective function is

number

[0036] FIG. 9 is a diagram illustrating an example of a third linear programming problem 900. As shown in FIG. 9, in a third objective function 910 of a third linear programming problem 900, a weight (10000 in the example of FIG. 9) is assigned to the ui (u3 in the above example) that did not become zero in the second objective function. That is, in the example of FIG. 9, w3=10000. The weighting value is, for example, determined in advance and stored in a predetermined storage area such as the storage unit 220. A third constraint 920 of the third linear programming problem 900 is the same as the second constraint 620 of the second linear programming problem 600.

[0037] 8, the control unit 210 calculates a solution by solving the third linear programming problem 900. The constraint condition for which ui≠0.0 is the constraint condition that could not be satisfied. Solving the third linear programming problem 900 gives: u1=0.0, u2=12.0, u3=0.0. The process in step S802 calculates a solution to the third linear programming problem, and calculates the u that is not zero. i This is an example of a process for determining a first constraint condition corresponding to

[0038] In step S803, the control unit 210 outputs information related to the constraints.

[0039] 10 is a diagram showing an example of a screen 1010 displayed on the output unit 340 of the client device 110. More preferably, as shown in FIG. 10, the control unit 210 outputs, as information about constraints, information about a constraint (u2 in the above example) that could not be satisfied when the third linear programming problem 900 is solved, and information about a constraint (u3 in the above example) that could not be satisfied when the second linear programming problem 600, which contradicts the constraint (u2 in the above example), is solved, as information about constraints. In addition, the control unit 210 calculates a solution to the second linear programming problem and outputs, as information about combinations, information about u that was not zero when the second linear programming problem was solved. i The first constraint corresponding to the third linear programming problem is calculated, and the solution is i and the first constraint corresponding to the first constraint, and outputs information suggesting that at least one of them be deleted or modified. Area 1020 is an area that shows conflicting constraints and also an area that accepts input regarding modification and / or deletion. Delete button 1030 is a button that is selected when instructing to delete the constraint displayed in area 1020. Modify button 1040 is a button that is selected when instructing to rewrite the constraint displayed in area 1020 with the modified constraint.

[0040] The process in step S803 calculates a solution to the second linear programming problem, and u that is not zero is iThe first constraint corresponding to the third linear programming problem is calculated, and the solution is i This is an example of a process for outputting information about the combination of the first constraint corresponding to and. The process in step S803 can also be considered an example of a process for outputting information about constraints that contradict the constraints output in step S405.

[0041] Proceeding to step S407 in FIG. 4, the control unit 210 corrects the first linear programming problem based on input information, etc., input by the operator via a screen displayed on the output unit 340 of the client device 110 (for example, a screen such as that shown in FIG. 7). For example, when a Delete button 1030 is selected on the screen shown in Fig. 10, the control unit 210 performs a modification to delete all or any of the multiple constraints displayed in the area 1020 from the first linear programming problem. Alternatively, when modified constraints are input in the area 1020 on the screen shown in Fig. 10 and a Modify button 1040 is selected, the control unit 210 performs a modification to change the corresponding constraints of the first linear programming problem to the modified constraints. This processing is an example of a processing to modify the first linear programming problem based on input information input in response to the output of information related to combinations.

[0042] In step S408, the control unit 210 solves the modified first linear programming problem to calculate a solution. In step S409, the control unit 210 outputs the calculated solution. For example, the control unit 210 displays the calculated solution on the output unit 340 of the client device 110. In step S410, the control unit 210 stores the modified first linear programming problem in a predetermined memory area such as the memory unit 220 based on a predetermined operation via the screen by the operator of the client device 110 who has confirmed the solution.

[0043] According to the processing of the first embodiment, it is possible to identify constraints that are in conflict when solving a linear programming problem, and also to delete or modify the identified constraints. In the above-described embodiment, for the sake of simplicity, the linear programming problem shown in Fig. 5 has been taken as an example. However, even if the number of variables and constraints increases compared to the linear programming problem shown in Fig. 5, the same effect can be obtained by repeatedly executing the above-described process.

[0044] Although the embodiments have been described above, they are presented as examples and are not intended to limit the scope of the invention. The novel embodiments may be embodied in various other forms, and various omissions, substitutions, and modifications may be made without departing from the spirit of the invention. The embodiments are intended to fall within the scope and spirit of the invention, and are also intended to fall within the scope of the inventions and their equivalents as defined in the accompanying claims. [Explanation of symbols]

[0045] 100: Server device 110: Client device 150: Network 210: Control unit 220: Storage section 230: Communications Department 1000: Information Processing Systems

Claims

1. An information processing method executed by an information processing system, generating a second linear programming problem different from the first linear programming problem based on the first linear programming problem for which a constraint violation is to be detected; the first linear programming problem includes n first constraints and a first objective function; the second linear programming problem includes n second constraints and a second objective function; the second constraint is a relaxation of the first constraint by ui; The second objective function is: [Equation 1] and Calculating a solution to the second linear programming problem and outputting information about the first constraint corresponding to the ui that did not become zero. Information processing methods.

2. 2. The information processing method according to claim 1, The u that did not become zero i and correcting the first linear programming problem based on input information input in response to output of information about the first constraint corresponding to Information processing methods.

3. 2. The information processing method according to claim 1, The u that did not become zero i The information on the first constraint corresponding to the first constraint is information suggesting that the first constraint be deleted or modified. Information processing methods.

4. 2. The information processing method according to claim 1, The second linear programming problem and the non-zero u i and generating a third linear programming problem based on the third objective function of the third linear programming problem includes n third constraints and a third objective function; the third objective function is an objective function obtained by weighting the ui that does not become zero in the second objective function, Calculate the solution to the third linear programming problem and find that u is not zero. i determining the first constraint corresponding to Calculate the solution to the second linear programming problem and find that u is not zero. i The first constraint corresponding to the third linear programming problem is calculated, and the solution of the third linear programming problem is calculated. i and outputting information about the combination of the first constraint corresponding to Information processing methods.

5. 5. The information processing method according to claim 4, correcting the first linear programming problem based on input information input in response to the output of information about the combination; Information processing methods.

6. 5. The information processing method according to claim 4, The information about the combination is used to calculate the solution to the second linear programming problem and to determine whether the u i The first constraint corresponding to the third linear programming problem is calculated, and the solution is calculated for the non-zero u i and a first constraint corresponding to the first constraint, Information processing methods.

7. An information processing system, having at least one or more control units, The control unit generating a second linear programming problem different from the first linear programming problem based on the first linear programming problem for which a constraint violation is to be detected; the first linear programming problem includes n first constraints and a first objective function; the second linear programming problem includes n second constraints and a second objective function; the second constraint is a relaxation of the first constraint by ui; The second objective function is: [Equation 2] and Calculating a solution to the second linear programming problem and outputting information about the first constraint corresponding to the ui that did not become zero. Information processing system.

8. A program, On the computer, A program for executing the information processing method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Voltage reactive power monitoring controller

    JP3372460B2