Parallel Mixed Integer Program Solvers for Load Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for solving mixed integer linear optimization problems face inefficiencies and scalability issues due to sequential algorithm execution and lack of modular architecture, leading to system inefficiencies and scalability problems when dealing with multiple nodes and datasets.

Innovation Solution

The system employs multiple instances of sequential solvers executing on separate cores, with a master-slave architecture that allows for parallel processing and modular updates, enabling efficient distribution of linear programming tasks across multiple cores and cloud infrastructure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single solver program with parallel algorithm is used to solve mixed integer linear optimization problems, then the system can handle multiple nodes, but system inefficiencies and scalability problems occur due to sequential execution requirements

Engineering Contradiction:
Improveability to handle multiple nodesVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system divides the mixed integer linear optimization problem into separate linear programming sub-problems, each assigned to an independent solver instance running on a different core. This segmentation eliminates the need for a single complex parallel solver while maintaining the ability to handle multiple nodes, thereby improving processing efficiency without sacrificing versatility

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple nodes are introduced into a single solver, then the system can process more data, but scalability problems arise due to ordered solver execution requirements

Engineering Contradiction:
Improvedata processing capacityVSAvoidsolver execution complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system combines multiple independent sequential solver instances to achieve parallel processing capability. Each solver handles a portion of the data independently without requiring complex coordination or ordered execution, thus increasing data processing capacity while reducing execution complexity compared to a single parallel solver

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If sequential algorithms are used in a single solver program, then the system maintains simplicity, but processing time increases significantly for large datasets

Engineering Contradiction:
Improvesystem simplicityVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system creates multiple copies of the sequential solver algorithm, each running independently on separate cores. This copying approach maintains the simplicity and reliability of sequential algorithms while achieving parallel execution to reduce processing time for large datasets, avoiding the complexity of implementing parallel algorithms

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11720644B2System and server for parallel processing mixed integer programs for load management
Publication Date: 2023.08.08 PACIFIC GAS & ELECTRIC CO
  • US11720644B2 patent drawing
  • US11720644B2 patent drawing
  • US11720644B2 patent drawing

AI summary

The novel use of separate programs to control a parallel execution of a plurality of large scale linear program solvers executing sequentially on separate cores is disclosed. An embodiment detailing the system's use in optimizing a utility company's assets is also disclosed. As upgrades or better programs become available, in some embodiments each program in the system can be replaced without affecting the structure of the other programs. In some embodiments, the use of cloud based architecture allows for improved data collection and system execution as all that is needed to process data at a faster speed is to “rent” the additional physical or virtual cores from the provider.