Quadratic program solver for MPC using variable ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing quadratic programming solvers for model predictive control face challenges with high computational complexity and memory requirements, particularly in embedded systems with limited CPU power and memory, due to the rapid growth of possible factors in KKT matrices with the number of optimization variables, leading to inefficient factorization and storage needs.

Innovation Solution

The approach involves precomputing and storing a subset of factors using variable ordering to reduce the number of factors needed, with a factor update mechanism that allows for zero floating-point operations per unit time, enabling efficient computation and memory management by finding the nearest stored factor and updating it, rather than recomputing from scratch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all factors of KKT matrices are stored for every combination of active constraints, then factorization can be performed quickly during online operation, but memory requirements grow rapidly with the number of optimization variables

Engineering Contradiction:
Improvefactorization speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent precomputes and stores only a subset of factors corresponding to specific combinations of active constraints before online operation. This preliminary action reduces the memory burden while enabling fast factorization during runtime by selecting the precomputed factors that match the current active constraint set, avoiding the need to store all possible factors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of factor storage by storing factors in a condensed format that exploits the structure of KKT matrices. Instead of storing complete factorizations for all constraint combinations, it stores factors for a reduced set of combinations and uses update operations to generate other factors, thereby reducing memory requirements while maintaining computational efficiency.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If factors are updated by recomputing from scratch for each active constraint combination, then accuracy is maintained, but computational complexity increases during online operation

Engineering Contradiction:
Improvefactorization accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent precomputes factors for a subset of active constraint combinations offline and stores them. During online operation, it selects the matching precomputed factors and applies minimal updates, avoiding the need to recompute factors from scratch. This maintains factorization accuracy while significantly reducing online computational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic factor update mechanism that adapts the factorization process to the current active constraint set. Instead of static recomputation, it dynamically selects precomputed factors and applies targeted updates only when necessary, balancing accuracy and computational efficiency based on the specific optimization problem state.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If a complete set of factors is stored for all optimization variables, then no factor updates are needed during online operation, but the storage requirements become prohibitive for embedded systems

Engineering Contradiction:
Improveonline operation simplicityVSAvoidstorage requirements
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent precomputes and stores factors for a carefully selected subset of active constraint combinations that cover the majority of online operation scenarios. This preliminary preparation enables simple factor selection during online operation without requiring complete factor sets, achieving a balance between operational simplicity and storage constraints for embedded systems.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent stores a partial set of factors corresponding to a subset of all possible active constraint combinations, rather than storing the complete set. This partial action is sufficient to handle most online operations efficiently, and when needed, factors can be updated or computed on-demand, avoiding the prohibitive storage requirements of complete factor sets.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3734375B1Quadratic program solver for MPC using variable ordering
Publication Date: 2023.04.05 GARRETT TRANSPORTATION I INC
  • EP3734375B1 patent drawingFigure 1
  • EP3734375B1 patent drawingFigure 2
  • EP3734375B1 patent drawingFigure 3

AI summary

A system and approach for storing factors in a quadratic programming solver of an embedded model predictive control platform. The solver may be connected to an optimization model which may be connected to a factorization module. The factorization module may incorporate a memory containing saved factors that may be connected to a factor search mechanism to find a nearest stored factor in the memory. A factor update unit may be connected to the factor search mechanism to obtain the nearest stored factor to perform a factor update. The factorization module may provide variable ordering to reduce a number of factors that need to be stored to permit the factors to be updated at zero floating point operations per unit of time.