Recursive prediction and iterative correction methods for fast solution of mixed integer optimal control problems.

The recursive prediction and iterative correction method efficiently transforms MIOCPs into convex CP problems, addressing computational challenges and ensuring feasible solutions for high-dimensional MIOCPs.

JP7742954B2Active Publication Date: 2025-09-22MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024571599
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-05-10
Filing Date
2023-02-10
Publication Date
2025-09-22
Estimated Expiration
2043-02-10

AI Technical Summary

Technical Problem

Existing mixed-integer optimal control problems (MIOCPs) are challenging due to their computational complexity, especially for real-time applications, and machine learning-based solutions often fail to provide feasible or optimal solutions, particularly for high-dimensional problems with more than 100 decision variables.

Method used

A recursive prediction and iterative correction method using a trained parametric function to predict discrete variables, followed by a pre-solving-based correction to ensure feasibility and potentially suboptimal solutions, transforming the non-convex MICP into a convex CP problem.

Benefits of technology

This approach significantly reduces computation time while ensuring feasibility and optimality of solutions for MIOCPs, making it suitable for real-time applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007742954000083
    Figure 0007742954000083
  • Figure 0007742954000084
    Figure 0007742954000084
  • Figure 0007742954000085
    Figure 0007742954000085
Patent Text Reader

Abstract

The controller uses the motion trajectory to control the motion of the device to perform the task subject to the constraints. The controller evaluates a parametric function to output predicted values ​​of a set of discrete variables in a mixed integer convex programming (MICP) problem for performing the task defined by the parameters. The controller fixes a first subset of the discrete variables in the MICP to predicted values ​​output by the trained parametric function and updates at least some of the predicted values ​​of the remaining subset of the discrete variables to values ​​uniquely defined by the fixed values ​​of the first subset of the discrete variables and the constraints. Thus, the controller converts the MICP to a convex programming (CP) problem, solves the constrained CP problem to generate a feasible motion trajectory, and controls the device according to the motion trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to mixed-integer convex optimization-based control, and more particularly to recursive prediction and iterative correction methods and apparatus for model predictive control of systems described by dynamics having continuous and discrete operational elements. [Background technology]

[0002] Optimization-based decision-making, planning, and control techniques, such as model predictive control (MPC), enable a model-based design framework that can directly consider system dynamics, system requirements, and constraints. This framework has been extended to hybrid systems containing both continuous and discrete decision variables, providing a powerful technique for modeling a wide variety of problems, including, for example, dynamic systems with switched modes or quantized actuation, problems with logic rules, temporal logic specifications, or obstacle avoidance constraints. However, the resulting optimization problems are highly nonconvex because they involve variables that take only integer values, and are therefore difficult to solve in practice. When linear or linear-quadratic objectives are used in combination with linear system dynamics and linear inequality constraints, the resulting optimal control problem (OCP) can be formulated as a mixed-integer linear program (MILP) or mixed-integer quadratic program (MIQP). More general convex inequality constraints can be included, such as quadratic inequality constraints resulting in a mixed-integer quadratically constrained quadratic program (MIQCQP), or quadratic cone constraints resulting in a mixed-integer second-order cone program (MISOCP).

[0003] Decision-making, planning, or control for hybrid systems aims to solve such a mixed-integer program (MIP) at each sampling time instant. This is a challenging task given that mixed-integer programs are generally NP-hard, and several methods for solving such sequences of MIPs have been explored in the literature. These approaches can be divided into heuristic techniques that attempt to efficiently find a suboptimal solution to the problem and optimization algorithms that attempt to optimally solve the MIP. Most mixed-integer optimization algorithms are based on variations of the branch-and-bound (B&B) technique to optimally solve MIPs. Variations of the branch-and-bound method are combined with various methods for solving relaxed convex subproblems, such as dual active set solvers, interior-point algorithms, dual projected gradient methods, nonnegative least-squares solvers, and alternating direction method of multipliers (ADMM). However, the combinatorial complexity of MIPs generally causes the computational time of the B&B method to solve MIPs to increase exponentially as the number of discrete decision variables increases, limiting the applicability of MIP-based optimal control design in practice.

[0004] Examples of heuristic techniques can be based on round-and-pump methods, using approximate optimization algorithms, approximate dynamic programming, or data-driven machine learning techniques, such as supervised learning. Using supervised learning to replicate optimal and feasible MIP solutions from offline B&B methods and rapidly infer these solutions online has dramatically improved the solution time for mixed-integer optimal control problems (MIOCPs). Alternatively, reinforcement learning techniques have been used to learn tree search policies to speed up B&B methods, but these approaches have limited applicability in practice to real-time embedded systems because they require at least one forward pass of a predictor, such as a neural network, at each node of the B&B tree. More importantly, they can still require the complete B&B tree to be enumerated in the worst case.

[0005] Existing supervised learning techniques can directly approximate the mapping from problem parameters—i.e., the current state of the controlled system and the current state of the system's environment—to a discrete-variable solution to the MIOCP. Such approaches are based on the realization that a mixed-integer convex programming (MICP) problem can be solved very efficiently as a convex program (CP) after fixing all discrete variables to a fixed set of values ​​provided by a trained predictor—i.e., fixing all binary variables to either 0 or 1 and all integer variables to integer values. Examples of such supervised learning techniques include the use of kernel and nonparametric classification methods, deep neural networks for regression, and multiclass classification. Some existing approaches are based on supervised learners that only predict the discrete variables associated with one or more of the first time steps in the MIOCP's control horizon, but this is likely to lead to significant suboptimality in receding horizon realizations. Alternatively, the policy induced by the exact solver for MIOCP can be directly mimicked using deep neural networks, and the value function can be learned by leveraging data obtained via offline simulation.

[0006] Existing machine learning-based approaches for computing fast MIP solutions for MIOCPs have two major drawbacks. First, learning-based predictions of MIP solutions often lack a guarantee of finding an optimal solution, or even a feasible but suboptimal solution; that is, there is a high probability that the predicted solution will be infeasible with respect to one or more mixed-integer inequality constraints. Second, while such supervised learning techniques are effective for small MIP problems, they generally do not scale well to MIOCPs with more than 100 decision variables. In particular, existing machine learning approaches for MIPs require extensive data collection or parameter space sampling for high-dimensional MIOCPs.

[0007] Therefore, there is a need for highly accurate prediction and correction methods for efficiently computing feasible, but potentially suboptimal, mixed integer solutions to high-dimensional MIOCP problems, which is the purpose of the systems and methods described in this invention. Summary of the Invention

[0008] Mixed-integer programming (MIP) problems frequently arise in the optimal control of hybrid systems containing both continuous and discrete computing elements. Current state-of-the-art MIP solvers are often not fast enough for real-time applications of mixed-integer optimal control, limiting the applicability of MIP-based controller design in practice. While supervised learning techniques have been proposed to accelerate MIP solutions, they generally suffer from two major drawbacks. First, learning-based prediction of MIP solutions may have a high probability of being infeasible with respect to one or more mixed-integer inequality constraints. Second, such supervised learning techniques do not scale well to optimal control problems with more than 100 decision variables. This invention describes a recursive architecture for scalable prediction of MIP solutions that exploits the temporal structure in mixed-integer optimal control problems (MIOCPs) combined with an iterative pre-solving-based correction method that increases the probability of feasibility for each solution guess.

[0009]

number

[0010] Some embodiments are based on the recognition that machine learning-based predictors, e.g., parametric functions such as neural networks, can be trained to predict values ​​for a set of discrete variables in a MICP to perform a task defined by the parameters. However, these predicted values ​​may result in infeasible solutions and / or infeasible motion trajectories for a device performing the task due to constraints imposed on the device's motion. For example, while constraints must be enforced as hard constraints, it has been recognized that replacing constrained non-convex optimization with such trained learned functions is problematic due to the nature of machine learning. Specifically, machine learning is closely related to computational statistics, which is probabilistic in nature. As a result, trained parametric functions such as neural networks are incapable of addressing hard constraints; rather, they are designed to satisfy constraints with some probability. This concept is similar to, or directly replicates, the concept of soft constraints, where violation of constraints is penalized but not prohibited.

[0011] Therefore, it is impossible, or at least impractical, to train a neural network to predict the discrete solution of a hard-constrained non-convex optimization problem. While such a solution can be found with very high probability, it requires sufficient offline training data that closely approximates the online environment, which is impractical.

[0012] Because motion planning and control requires satisfying constraints, some embodiments are based on the recognition that learned functions can be used to find initial values ​​for the discrete variables that result in a transformation from a non-convex problem to a convex problem. However, such initial predictions need to be further processed to ensure that the final motion trajectory is feasible.

[0013] Some embodiments are based on the understanding that the predicted discrete values ​​can be checked for a feasible solution. However, such a check requires actually solving one or more convex problems, which is undesirable. Therefore, an objective of some embodiments is to check the feasibility of the predicted variables without finding the corresponding motion trajectories. Additionally or alternatively, another objective of some embodiments is to update the predicted discrete values ​​to transform a non-convex optimization into a convex optimization, resulting in a feasible solution.

[0014] Some embodiments are based on the recognition that predicted discrete values ​​can be checked against constraints on the device's motion, which result in constraints on the discrete variables. For example, if there is a constraint that the sum of two binary variables is less than or equal to 1, then if the value of one of these variables is 1, then the value of the other variable must be 0 to satisfy the constraint. In particular, checking these constraints can be done without solving the corresponding convex problem, provided in this example that the value of one of these variables is known. Checking these constraints without solving the corresponding convex optimization problem is commonly referred to as a pre-solve operation.

[0015] To this end, some embodiments fix the values ​​of discrete variables in the MICP problem to their predicted values ​​and update other values ​​to satisfy the constraints given the values ​​of the fixed variables. For example, if the values ​​of the discrete variables are reliably predicted, some variables can be fixed using the confidence and the remaining variables can be updated. In this way, the feasibility of solving the MICP problem is increased without having to solve the corresponding convex problem.

[0016] Accordingly, one embodiment discloses a controller for controlling motion of a device to perform a task that changes a state of the device subject to constraints, the controller including a processor and a memory having instructions stored thereon, the instructions, when executed by the processor, causing the controller to: collect parameters of the task including the state of the device; evaluate a parametric function trained to input the parameters of the task and output predicted values ​​of a set of discrete variables in a Mixed Integer Convex Programming (MICP) problem for performing the task defined by the parameters; and calculate a first subset of the discrete variables in the MICP using the trained parametric function. to the predicted values ​​output by the first subset of discrete variables; performing a pre-solve-based modification configured to update at least some of the predicted values ​​of a remaining subset of discrete variables in the MICP to values ​​that are uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints; converting the MICP to a convex programming (CP) problem based on the fixed values ​​of the first subset of discrete variables and the updated values ​​of the remaining subset of discrete variables; solving the CP problem subject to the constraints to generate a feasible motion trajectory for performing the task defined by the parameters; and issuing commands to the device to change the state according to the motion trajectory.

[0017]

number

[0018]

number

[0019] In some embodiments of the present invention, each iteration of the iterative revision method performs a single pre-solving step whose goal is to reduce the number of discrete optimization variables in the MICP by fixing each removed or pruned variable to an optimal and / or uniquely feasible value. The single pre-solving step preserves feasibility and optimality, i.e., any feasible or optimal solution to the reduced MICP problem can be mapped to a feasible or optimal solution to the original MICP problem with the same objective value, and the reduced MICP problem is infeasible or unbounded if and only if the original MICP problem is infeasible or unbounded. If the single pre-solving step does not detect infeasibility and not all discrete variables are fixed, the iterative revision method selects one or more of the remaining free discrete variables to be fixed to the solution value provided by the learning-based predictor, and the single pre-solving step is performed in the next iteration of the iterative revision method. The iterative pre-solving-based revision method terminates after one or more iterations when all discrete variables are fixed or when infeasibility is detected.

[0020] Some embodiments of the present invention are based on the recognition that if an infeasibility is detected by an iterative pre-solve-based correction method, an alternative control solution vector can be used to change the state of the device.

[0021] In some embodiments of the present invention, to increase the computational efficiency of the iterative pre-solving-based revision method, a single pre-solving step can reuse one or more computational results from a previous single pre-solving step. In some embodiments of the present invention, to increase the computational efficiency, the number of iterations in the iterative revision method is limited by a predetermined upper limit. If the predetermined upper limit on the number of iterations is reached and not all discrete variables have been fixed, all of the remaining free discrete variables can be fixed to the solution values ​​provided by the learning-based predictor.

[0022] In some embodiments of the present invention, the single pre-solving step itself consists of an iterative procedure of one or more pre-solving operations to reduce the number of discrete and / or continuous optimization variables, tighten the ranges of the optimization variables, and / or tighten the ranges of one or more inequality constraints. To ensure computational efficiency, the iterative procedure of the single pre-solving step then performs one or more iterations until the problem is detected as infeasible, until there is no sufficient progress between two consecutive iterations, or until a predetermined time limit is reached. Examples of pre-solving operations include domain propagation, range tightening, double fixing, implicit variable substitution, coefficient tightening, probing, and detection and removal of redundant variables and / or constraints. Additionally, each of the pre-solving operations can be performed on individual variables, individual constraints, multiple variables and / or multiple constraints.

[0023]

number

[0024]

number

[0025]

number

[0026] Some embodiments of the present invention are based on the recognition that a subset of discrete variables can be fixed by a pre-solve-based correction method starting from predicted values ​​of the set of discrete variables in the MICP, and unless infeasibility is detected by the iterative pre-solve-based correction, an approximation of the MICP with a reduced number of discrete optimization variables is constrained and solved to generate a feasible motion trajectory with an updated set of fixed values ​​for the subset of discrete variables. In some embodiments of the present invention, the approximation of the MICP with a reduced number of discrete optimization variables can be solved using a branch-and-bound (B&B) optimization method combined with one or more tailored block-sparse pre-solve operations that exploit the block-structured sparsity of the MICP to perform the task defined by the problem parameter values.

[0027] In some embodiments of the present invention, a first subset of the discrete variables in the MICP are fixed to predicted values ​​output by a trained parametric function, a second subset of the discrete variables in the MICP are fixed by a pre-solve-based modification to values ​​uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints, and a third subset of the discrete variables in the MICP are selected to be free optimization variables, and an approximation of the MICP with a reduced number of discrete optimization variables is solved subject to constraints to generate a feasible motion trajectory, e.g., using a B&B optimization method combined with one or more adjusted block-sparse pre-solve operations that exploit the block-structured sparsity of the MICP problem.

[0028]

number

[0029] [Figure 1A] FIG. 1 is a block diagram of a mixed integer model predictive controller and feedback system according to some embodiments. [Figure 1B]FIG. 1 is a block diagram of a mixed integer model predictive controller and feedback system according to some embodiments. [Figure 1C] FIG. 1 is a block diagram of a hierarchical integration between a mixed integer model predictive controller and a tracking controller for controlling a feedback system, according to some embodiments. [Figure 2A] FIG. 1 is a block diagram of a method for mixed integer model predictive control (MIMPC) that implements a predictive controller that calculates control signals given current problem parameter values ​​and control commands, according to some embodiments. [Figure 2B] FIG. 1 is a block diagram of a MIMPC method for solving optimal control structured mixed integer convex programs (MICPs) given current problem parameter values, according to some embodiments. [Figure 2C] FIG. 1 illustrates that an optimal control structured MICP problem can be transformed and solved very efficiently as an optimal control structured convex programming (CP) problem after fixing all discrete variables to a fixed set of values, according to some embodiments. [Figure 3A] FIG. 1 is a block diagram of a MICP solution method based on predicting a set of fixed discrete values ​​and solving an optimal control structured CP, according to some embodiments. [Figure 3B] FIG. 1 is a block diagram of a MICP solution method based on prediction followed by modification of a set of fixed discrete values ​​and solution of an optimal control structured CP according to some embodiments. [Figure 3C] FIG. 1 is a block diagram of a MICP solution method based on multiple predictions, each followed by the modification of a set of fixed discrete values, and the solution of an optimal control-structured CP, according to some embodiments. [Figure 3D] FIG. 1 is a block diagram of a MICP solution method based on predictions used to fix a first subset of discrete variables, followed by pre-solve-based refinement to fix the remaining subset of discrete variables, and the solution of an optimal control-structured CP, according to some embodiments. [Figure 4A]FIG. 1 is a block diagram of an offline data generation and supervised learning procedure for training a machine learning-based predictor used in an online variable fixing and optimal control solving procedure for solving MICP. [Figure 4B] FIG. 1 is a flow diagram of an offline data generation procedure based on a MICP solution for a set of sampled problem parameter values, and a supervised learning procedure for training a machine learning-based predictor. [Figure 4C] FIG. 1 is a pseudocode diagram of an offline data generation procedure based on a MICP solution for a set of sampled problem parameter values ​​and a supervised learning procedure for training a learning-based predictor, according to some embodiments. [Figure 4D] FIG. 1 is a flow diagram of an online variable fixing procedure based on prediction and an iterative pre-solve-based correction step, and an optimal control structured CP solving procedure for computing a feasible MICP solution. [Figure 4E] FIG. 1 is a pseudocode diagram of an online variable fixing procedure based on prediction and an iterative pre-solve-based correction step, and a CP solving procedure for computing a feasible MICP solution, according to some embodiments. [Figure 5A] FIG. 1 illustrates an example of an online variable fixing procedure for computing a set of fixed values ​​for discrete variables of MICP based on predictions and a correction step including one or more pre-solve-based iterations. [Figure 5B] FIG. 1 is a flow diagram of an online variable fixing procedure for computing a set of fixed values ​​for discrete variables of MICP based on predictions and a correction step that includes one or more pre-solve-based iterations. [Figure 5C] FIG. 1 is a pseudocode diagram of an iterative pre-solve-based correction procedure for computing a set of fixed values ​​for the discrete variables of a MICP solution, according to some embodiments of the present invention. [Figure 6A] FIG. 10 illustrates an example of domain propagation for range enhancement of MICP optimization variables, which can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 6B] FIG. 10 illustrates an example of detection of redundant inequality constraints and double fixing of MICP optimization variables, which can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 6C] FIG. 10 illustrates an example of an enhancement of inequality constraint coefficients corresponding to MICP discrete optimization variables that can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 6D] FIG. 1 illustrates an example of a binary variable probing procedure for MICP discrete optimization variables that can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 7A] FIG. 10 is a pseudocode diagram of block-sparse forward-backward operations for implementing domain propagation and range strengthening procedures that can be used in iterative pre-solve-based correction, according to some embodiments. [Figure 7B] FIG. 10 is a pseudocode diagram of an efficient block-sparse computation of optimization-based range tightening for MICP optimization variables, which can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 7C] FIG. 10 is a pseudocode diagram for detecting block-sparse redundant inequality constraints and doubly fixing MICP optimization variables, which can be used in an iterative pre-solve-based correction procedure, according to some embodiments. [Figure 7D] FIG. 10 is a pseudocode diagram of the reinforcement of block-sparse inequality constraint coefficients corresponding to MICP discrete variables, which can be used in an iterative pre-solve-based correction procedure, according to some embodiments. [Figure 7E] FIG. 10 is a pseudocode diagram of a block-sparse binary variable probing procedure for MICP discrete variables that can be used in an iterative pre-solve-based correction procedure, according to some embodiments. [Figure 7F] FIG. 10 is a pseudocode diagram of a single block-sparse pre-solving step based on one or more pre-solving operations that can be used in an iterative pre-solving-based correction procedure, according to some embodiments. [Figure 8A] FIG. 1 is a block diagram of a machine learning prediction method for directly predicting all discrete values ​​of a MICP solution based on regression, according to some embodiments. [Figure 8B] FIG. 1 is a block diagram of a machine learning prediction using a time-resolved method for directly predicting discrete values ​​at one or more time steps of a MICP solution based on regression, according to some embodiments. [Figure 8C] FIG. 1 is a block diagram of a machine learning prediction method for predicting the probability that one or more discrete values ​​in a discrete optimizer set are a MICP solution based on classification, according to some embodiments. [Figure 8D] FIG. 1 is a block diagram of a machine learning prediction using a time-resolved method for predicting the probability for one or more discrete values ​​in a discrete optimizer set at one or more time steps of a MICP solution based on classification, according to some embodiments of the present invention. [Figure 9A] FIG. 1 illustrates an example of a machine learning algorithm for a predictive model, according to some embodiments of the present disclosure. [Figure 9B] FIG. 1 is a schematic diagram of layers and signals included in a deep neural network for a machine learning-based predictive model, according to some embodiments of the present disclosure. [Figure 9C] FIG. 1 is a schematic diagram of a deep neural network, hidden states, and a single-layer or multi-layer recurrent neural network (RNN) for machine learning prediction using a time-resolved method, according to some embodiments. [Figure 10A] FIG. 1 is a schematic diagram of data generation using focused sampling of problem parameters, according to some embodiments of the present disclosure. [Figure 10B] FIG. 1 illustrates an example of a centralized sampling method for data generation, according to some embodiments of the present disclosure. [Figure 11A] FIG. 2 is a schematic diagram of an example binary control-variable search tree representing a nested search space tree for integer-feasible solutions of MICP for a set of sampled problem parameter values, according to some embodiments of the present invention. [Figure 11B] FIG. 1 is a block diagram of a branch-and-bound mixed integer optimization algorithm for searching integer-feasible optimal solutions of MICP based on nested search space trees and corresponding lower / upper bounds, according to some embodiments. [Figure 12A] 1 is a schematic diagram of a vehicle including a predictive controller employing principles of some embodiments. [Figure 12B] FIG. 2 is a schematic diagram of the interaction between a predictive controller and other controllers of a vehicle, according to some embodiments. [Figure 12C] FIG. 1 is a schematic diagram of a path and / or motion planning method for a controlled vehicle employing principles of some embodiments. [Figure 12D] 1A and 1B illustrate exemplary traffic scenes for a single-vehicle or multi-vehicle decision-making module according to some embodiments. [Figure 13A] FIG. 1 is a schematic diagram of a spacecraft mixed-integer predictive control problem formulation employing principles according to some embodiments. [Figure 13B] FIG. 1 is a schematic diagram of a spacecraft mixed-integer predictive control problem formulation employing principles according to some embodiments. [Figure 14A] FIG. 1 is a schematic diagram of a vapor compression system controlled by a controller, according to some embodiments. [Figure 14B] 1A-1C illustrate examples of signal, sensor, and controller configurations used in a VCS according to some embodiments. [Figure 15] FIG. 1 illustrates a method for controlling a system according to an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0030] Some embodiments of the present disclosure provide systems and methods for controlling the operation of or a system using a predictive controller. An example of a predictive controller is a mixed-integer model predictive controller (MIMPC), which determines control inputs based on a dynamic model of a controlled system having continuous and discrete computing elements.

[0031] FIG. 1A illustrates a block diagram of a predictive controller 110 and a feedback system 120, according to some embodiments. FIG. 1A illustrates an exemplary feedback system (or system) 120 connected to the predictive controller 110 (or controller) via a state estimator 130, according to some embodiments. In some implementations, the predictive controller 110 is a MIMPC controller programmed according to a dynamic model 102 (or system model) of the system 120. The system model 102 may be a set of equations that describe the change in the state and output 103 of the system 120 over time as a function of current and previous inputs 111 and previous outputs 103. The system model 102 may include constraints 104 that represent physical and operational limitations of the system 120. During operation, the controller 110 receives commands 101 that indicate a desired behavior of the system 120. The commands may be, for example, motion commands. In response to receiving the commands 101, the controller 110 generates control signals 111 that are input to the system 120, which includes both continuous and discrete computing elements. In response to this input, the system updates the output 103 of the system 120. Based on measurements of the output 103 of the system 120, the estimator 130 updates an estimated state 121 of the system 120. This estimated state 121 of the system 120 provides state feedback to the predictive controller 110. Thus, the predictive controller first receives a feedback signal 121 of the system 120 via the estimator 130, where the feedback signal 121 includes measurements of the state of the system 120.

[0032] A system 120, as referred to herein, can be any machine or device controlled by some operational input signal, e.g., control signal 111 (input). The control input signal may include, in some cases, continuous elements such as voltage, pressure, force, torque, steering angle, speed, and temperature, and discrete elements such as energy level, quantized valve input, gear shift, on / off actuation, lane selection, and obstacle avoidance decision variables. The system 120 returns several controlled output signals 103 (output), in some cases, continuous elements such as current, flow rate, speed, position, temperature, heading, and steering angle, and discrete elements such as energy level, quantized valve state, gear status, on / off status, and lane position. The output values ​​are partly related to previous output values ​​of the system and partly related to previous and current input values. Dependence on previous inputs and previous outputs is encoded in the system's state. The operation of the system, e.g., the motion of a system's components, may include a sequence of output values ​​produced by the system after the application of some input values.

[0033] The system model 102 may include a set of mathematical equations that describe how system outputs change over time as a function of current and previous inputs and previous outputs. The mathematical equations may include one or more smooth equations that depend on continuous variables and one or more mixed-integer equations that depend on both continuous and discrete variables. Each function in the mathematical equations may be either linear or piecewise linear. The state of the system 120 is any set of generally time-varying information, e.g., a proper subset of current inputs and outputs and previous inputs and outputs, that, together with the system's model and future inputs, can uniquely define the system's future motion.

[0034] The system 120 may be subject to physical limitations and specification constraints 104 that limit the ranges over which the outputs, inputs, and possibly states of the system 120 are allowed to operate. The constraints may include one or more smooth equations that depend on continuous variables and one or more mixed-integer equations that depend on both continuous and discrete variables. The constraint functions may be either linear or piecewise linear functions, or the constraint functions may include one or more convex inequality constraint functions, such as, for example, convex quadratic inequality constraints, quadratic cone constraints, or convex cone constraints. Some embodiments of the present invention are based on the recognition that after fixing all discrete variables to a fixed set of values ​​provided by a predictor, i.e., fixing all binary variables to either 0 or 1 and all integer variables to integer feasible values, a mixed-integer convex programming (MICP) problem can be solved very efficiently as a convex programming (CP) subject to the system model 102 and the constraints 104.

[0035] The predictive controller 110 receives the estimated state 121 of the system 120 and the desired motion commands 101 at fixed or variable control period sampling intervals and uses this information to determine inputs, e.g., control signals 111, for operating the system 120. The predictive controller 110 may be implemented in hardware or as a software program running on a processor, e.g., a microprocessor. The predictive controller 110 further solves an optimal control structured mixed integer convex programming (MICP) problem using a recursive machine learning-based prediction and iterative pre-solving-based correction method. Some embodiments of the present invention are based on the recognition that the prediction and correction method can be used to efficiently calculate a feasible, but potentially suboptimal, solution to the MICP for generating the control signals 111 using a computation time much shorter than the time required to solve the MICP exactly. Thus, the processor achieves high accuracy and fast processing speed. The predictive controller 110 further controls the system 120 to change the state of the system 120 based on the control signals 111.

[0036] The estimator 130 receives the output 103 of the system at fixed or variable control period sampling intervals and uses new and previous output measurements to determine an estimated state 121 of the system 120. The estimator 130 may be implemented in hardware or as a software program running on a processor, either the same or a different processor as the controller 110.

[0037] 1B shows a block diagram of a mixed integer model predictive controller (MIMPC) 110 and a feedback system 120 according to some embodiments. The predictive controller 110 operates the system 120 such that the estimated state 121 and output 103 of the system 120 comply with the commands 101. The controller 110 includes a computer, for example, in the form of a single central processing unit (CPU) or multiple CPU processors 151 connected to a memory 152 for storing the system model 102 and constraints 104 for the operation of the system 120. The CPU processor 151 may consist of a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 152 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system.

[0038] 1C shows a block diagram of a hierarchical integration between a mixed integer model predictive controller 110 that calculates a high-level control signal 111 and a tracking controller 115 that aims to track the high-level control signal 111 and calculate a low-level control signal 112 to directly control a feedback system 120, according to some embodiments of the present invention. For example, the predictive controller 110 can be a MIMPC controller that calculates a reference motion trajectory based on a dynamic model of the controlled system having continuous and discrete computing elements, and the tracking controller 115 aims to execute (a part of) the reference motion trajectory by directly sending control inputs 112 to actuators of the controlled system.

[0039] An example of the tracking controller 115 may be based on a proportional-integral-derivative (PID) controller that tracks a time-varying reference motion trajectory calculated by the MIMPC controller 110. In some embodiments of the present invention, the tracking controller 115 may be based on a model predictive controller (MPC) with only continuous decision variables, thereby requiring relatively low computational complexity to solve the optimal control problem. For example, the MPC tracking controller 115 may be based on a linear-quadratic objective function, a linear dynamic model, and linear equality and inequality constraints, which requires solving a convex linear programming (LP) or quadratic programming (QP) problem, which is computationally much easier to solve than the MICP solved by the MIMPC controller 110.

[0040] Some embodiments of the present invention are based on the recognition that a relatively long prediction horizon can be used for the mixed integer model predictive controller 110 and a relatively short prediction horizon can be used for the tracking controller 115, and that a relatively fast sampling rate can be used for the tracking controller, e.g., having a sampling period of 10-100 milliseconds, while a relatively slow sampling rate can be used for the mixed integer model predictive controller 110, e.g., having a sampling period of 0.2-2 seconds.

[0041] Some embodiments of the present invention are based on the recognition that, due to the computational complexity of solving MICP, a relatively high-level, low-precision dynamic model 102 and constraints 104 can be used for the MICP formulation of the mixed integer model predictive controller 110, whereas a relatively low-level, high-precision dynamic model 102 and constraints 104 can be used for the design and formulation of the tracking controller 115, which is computationally less expensive.

[0042] 2A illustrates a block diagram of a system and method for mixed-integer model predictive control (MIMPC) that implements a predictive controller 110 that calculates control signals 111 given current problem parameter values ​​205 and control commands 101, according to some embodiments. In some embodiments of the invention, the problem parameters θ include, for example, the current state 121 of the controlled system, a target or objective state, the position, size, and / or orientation of an obstacle, actuation limits, weight values ​​in an objective function, and / or boundary values ​​in mixed-integer inequality constraints of a mixed-integer optimal control problem (MIOCP). Specifically, MIMPC calculates a control solution, e.g., a solution vector 255, which may include a sequence of optimal future discrete and continuous control inputs over a prediction time horizon for the system 120, by solving 250 a constrained mixed-integer convex programming (MICP) problem at each control time step. The objective function, equality constraints, and discrete, continuous, and mixed integer inequality constraints MICP data 245 in this optimization problem 250 depend on the dynamic model, system constraints 240, current problem parameter values ​​205, control objectives, and control commands 101.

[0043] In some embodiments of the present invention, a solution 250 of this inequality-constrained MICP problem uses one or more state and control values ​​over the prediction time horizon, and possibly other MICP solution information from previous control time steps, readable from memory (210). This concept, referred to as a warm or hot start of the optimization algorithm, can reduce the computational requirements of the MIMPC controller in some embodiments of the present invention. Similarly, a corresponding solution vector 255 can be used to update and store in memory (235) a sequence of one or more optimal state and control values ​​over the prediction time horizon, and possibly other MICP solution information for the next control time step.

[0044]

number

[0045]

number

[0046]

number

[0047]

number

[0048]

number

[0049]

number

[0050]

number

[0051] Some embodiments of the present invention are based on the recognition that if MICP 270 can be formulated as an MILP, then CP 280 is a convex linear program (LP). Some embodiments of the present invention are based on the recognition that if MICP 270 can be formulated as an MIQP, then CP 280 is a convex quadratic program (QP). Some embodiments of the present invention are based on the recognition that if MICP 270 can be formulated as an MIQCQP, then CP 280 is a convex quadratically constrained quadratic program (QCQP). Some embodiments of the present invention are based on the recognition that if MICP 270 can be formulated as an MISOCP, then CP 280 is a convex quadratic cone program (SOCP).

[0052]

number

[0053] In some embodiments of the present invention, the predictive models may be deterministic, including, for example, multi-layer perceptrons, convolutional neural networks (CNNs), recurrent neural networks (RNNs), kernel regression, support vector machines, and other machine learning algorithms, or any combination of such deterministic predictive models. Alternatively, in some embodiments of the present invention, the predictive models may be probabilistic, including, for example, Bayesian neural networks, neural processes, Gaussian processes, Kriging interpolation, and other machine learning algorithms, or any combination of such deterministic and / or probabilistic predictive models.

[0054]

number

[0055]

number

[0056]

number

[0057] In some embodiments of the present invention, the modification method 310 is an iterative pre-solving-based modification method based on an iterative procedure, where each iteration performs a single pre-solving step, after which one or more discrete optimization variables are fixed to a set of predicted fixed values ​​305. In some embodiments of the present invention, the single pre-solving step itself consists of an iterative procedure of one or more pre-solving operations to reduce the number of discrete and / or continuous optimization variables, tighten the ranges of the optimization variables, and / or tighten the ranges of one or more inequality constraints. To ensure computational efficiency, the iterative procedure of the single pre-solving step then performs one or more iterations until the problem is detected as infeasible, until there is no sufficient progress between two consecutive iterations, or until a predetermined time limit is reached. Examples of pre-solving operations include domain propagation, range tightening, double fixing, implicit variable substitution, coefficient tightening, probing, and detection and removal of redundant variables and / or constraints. Additionally, each of the pre-solving operations can be performed on individual variables, individual constraints, multiple variables and / or multiple constraints.

[0058]

number

[0059] FIG. 3D shows a block diagram of a MICP solving method 260 for predicting 305 a set of fixed values ​​for the discrete optimization variables given the current problem parameter value θ 205, using this to fix 311 a first subset of the discrete variables in the MICP to the predicted values ​​output by the trained parametric function, and then performing 312 a pre-solution-based modification to fix 310 the remaining subset of the discrete variables to values ​​that are uniquely defined by the fixed values ​​of the first subset of discrete variables and are based on the constraints in the MICP, thereby increasing the probability of feasibility and optimality for the updated set of fixed values ​​of the discrete variables, and then solving 280 the optimal control structured CP approximation to calculate a feasible, but potentially suboptimal, solution vector 255 that defines the control signals 111.

[0060]

number

[0061]

number

[0062]

number

[0063]

number

[0064] Some embodiments of the present invention are based on the recognition that the offline data generation and supervised learning procedure 400 can be performed offline on a high-performance computer and therefore does not have stringent requirements on computational complexity and worst-case computation time, whereas the online variable fixing and optimal control solution procedure 420 must be performed online with stringent requirements on computational complexity and worst-case computation time, and that online procedures are typically performed on embedded microprocessors with limited memory and computational power, for example using a vehicle's embedded control unit (ECU).

[0065]

number

[0066]

number

[0067]

number

[0068]

number

[0069]

number

[0070]

number

[0071]

number

[0072]

number

[0073]

number

[0074]

number

[0075] Embodiments of the present invention are based on the recognition that iterative pre-solve-based correction methods can increase the probability of feasibility and / or optimality if the iterative correction methods remove or prune discrete variables of interest for which, for example, a machine learning-based predictor provided erroneous predictions that would have resulted in an infeasible control solution.

[0076]

number

[0077]

number

[0078]

number

[0079] Some embodiments of the present invention are based on the recognition that any single pre-solving step may detect an infeasible solution, in which case the iterative pre-solving-based correction procedure 462 can be immediately terminated, even if the correction was not successful (463), to reduce the total computation time.

[0080] In some embodiments of the present invention, each iteration of the iterative revision method performs a single pre-solving step whose goal is to reduce the number of discrete optimization variables in the MICP by fixing each removed or pruned variable to an optimal and / or uniquely feasible value. The single pre-solving step preserves feasibility and optimality, i.e., any feasible or optimal solution to the reduced MICP problem can be mapped to a feasible or optimal solution to the original MICP problem with the same objective value, and the reduced MICP problem is infeasible or unbounded if and only if the original MICP problem is infeasible or unbounded. If the single pre-solving step does not detect infeasibility and not all discrete variables are fixed, the iterative revision method selects one or more of the remaining free discrete variables to be fixed to the solution value provided by the machine learning-based predictor, and the single pre-solving step is performed in the next iteration of the iterative revision method. The iterative pre-solving-based revision method terminates after one or more iterations when all discrete variables are fixed or when infeasibility is detected.

[0081] Some embodiments of the present invention are based on the recognition that if an infeasibility is detected by an iterative pre-solve-based correction method, an alternative control solution vector can be used to change the state of the device.

[0082] In some embodiments of the present invention, to increase the computational efficiency of the iterative pre-solving-based revision method, a single pre-solving step can reuse one or more computational results from a previous single pre-solving step. In some embodiments of the present invention, to increase the computational efficiency, the number of iterations in the iterative revision method is limited by a predetermined upper limit. If the predetermined upper limit of the number of iterations is reached and not all discrete variables have been fixed, all of the remaining free discrete variables can be fixed to the solution values ​​provided by the machine learning-based predictor.

[0083]

number

[0084]

number

[0085] Some embodiments of the present invention are based on the recognition that to limit the maximum computation time of the online variable fixing and optimal control solution procedure 420 and enable real-time implementation of predictive controllers according to embodiments of the present invention, a maximum number of single pre-solving steps 520 can be performed in the iterative pre-solving-based correction method, after which all remaining free variables are fixed 540 in a machine learning-based predictive discrete solution guess.

[0086] Some embodiments of the present invention are based on the recognition that the trained parametric function approximation architecture can provide a probability or confidence for the predicted value of each discrete variable in the MICP solution, and the remaining free discrete variables that maximize the probability or confidence of the trained parametric function approximation architecture can be selected 540. Alternatively, in some embodiments of the present invention, the remaining free discrete variables can be selected randomly 540.

[0087]

number

[0088]

number

[0089] 6B shows an example 630 of detecting redundant inequality constraints and double-fixing of optimization variables in MICP problem 270 that can be used in the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435, according to some embodiments of the present invention. Some embodiments of the present invention are based on the recognition that detecting and removing redundant inequality constraints and double-fixing of optimization variables can result in additional fixing of discrete variables and / or reduce the computational cost of the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435. In some embodiments of the present invention, detecting redundant inequality constraints and double-fixing of variables 630 can be used in combination with domain propagation 600 for bound enforcement and / or in combination with one or more other pre-solving operations in the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435.

[0090]

number

[0091] 6C illustrates an example 650 of inequality constraint coefficient strengthening for a MICP optimization problem 270 that may be used in the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435, according to some embodiments of the present invention. Some embodiments of the present invention are based on the recognition that strengthening the inequality constraint coefficients may result in additional fixing of discrete variables and / or may reduce the computational cost of the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435. In some embodiments of the present invention, strengthening the inequality constraint coefficients 650 may be used in combination with domain propagation for bound strengthening 600, in combination with detection of redundant inequality constraints and double fixing of variables 630, and / or in combination with one or more other pre-solving operations in the single pre-solving step 520 of the iterative pre-solving-based revision procedure 435.

[0092]

number

[0093] Some embodiments of the present invention are based on the recognition that strengthening the inequality constraint coefficients can be used to replace one or more inequality constraints with one or more governing inequality constraints, and that the governing inequality constraints can be used to reduce the feasible search space of a relaxation problem without eliminating integer-feasible solutions of MICP.

[0094] 6D illustrates an example 670 of binary variable probing for a MICP optimization problem 270 that may be used in a single pre-solution step 520 of an iterative pre-solution-based revision procedure 435, according to some embodiments of the present invention. Some embodiments of the present invention are based on the recognition that binary variable probing 670 may provide additional fixes for discrete optimization variables and thus may increase the efficiency and / or reduce the computational cost of the single pre-solution step 520 of an iterative pre-solution-based revision procedure 435. In some embodiments of the present invention, binary variable probing 670 may be used in combination with domain propagation for range enforcement 600, in combination with detection of redundant inequality constraints and double fixation of variables 630, in combination with inequality constraint coefficient enforcement 650, and / or in combination with one or more other pre-solution operations in the single pre-solution step 520 of an iterative pre-solution-based revision procedure 435.

[0095]

number

[0096] Some embodiments of the present invention are based on the recognition that binary variable probing 670 can be performed for one or more remaining free discrete variables in a single pre-solving step 520 of the iterative pre-solving-based correction procedure 435. In some embodiments of the present invention, the number of iterations of binary variable probing 670 is limited, and the number of pre-solving operations in each iteration of binary variable probing 670 is limited, in order to limit the maximum computation time of the online variable fixing and optimal control solution procedure 420 and enable real-time realization of predictive controllers according to embodiments of the present invention.

[0097] Some embodiments of the present invention are based on the recognition that one or more pre-solving operations in a single pre-solving step 520 of an iterative pre-solving-based modification procedure 435 can result in an optimal control structured CP 440 that can be solved computationally much cheaper due to a reduction in the number of optimization variables, a reduction in the number of constraints, and / or a reduction in the feasible space of the optimization problem, e.g., by a combination of bound tightening and constraint tightening.

[0098] Some embodiments of the present invention are based on the recognition that each iteration of a single pre-solving step 520 may include one or more tailored block-sparse pre-solving operations that exploit the block-structured sparsity of the mixed integer optimal control problem (MIOCP) to perform the task defined by the problem parameters.

[0099]

number

[0100]

number

[0101]

number

[0102]

number

[0103]

number

[0104]

number

[0105]

number

[0106]

number

[0107]

number

[0108]

number

[0109]

number

[0110]

number

[0111]

number

[0112]

number

[0113]

number

[0114]

number

[0115]

number

[0116]

number

[0117]

number

[0118]

number

[0119]

number

[0120]

number

[0121]

number

[0122] For example, in some embodiments of the present invention, the training loss for the regression problem may be a binary cross-entropy loss with logit activation applied to the output layer of a parametric function approximation architecture, such as a neural network. The resulting optimization problem for computing network weights that minimize the training loss function may be solved using stochastic gradient descent, Adam, AdaGrad, RMSProp, or any other variant of a gradient-based or gradient-free optimization algorithm. In some embodiments of the present invention, the regression-based predictor 800 is used to fix only one or more of the discrete variables for which the learning-based predictor has relatively high confidence, and the reduced MIOCP must be solved to compute the remaining free discrete variables in order to compute a feasible, but potentially suboptimal, mixed-integer solution to the original high-dimensional MIOCP problem.

[0123]

number

[0124]

number

[0125]

number

[0126] Some embodiments of the present invention are based on the recognition that a subset of discrete variables can be fixed by a pre-solve-based correction method, starting with predicted values ​​of the set of discrete variables in the MICP for which the learning-based predictor has relatively high confidence, and unless infeasibility is detected by the iterative pre-solve-based correction, an approximation of the MICP with a reduced number of discrete optimization variables is constrained and solved to generate a feasible motion trajectory with an updated set of fixed values ​​for the subset of discrete variables.

[0127] In some embodiments of the present invention, an approximation of an MICP with a reduced number of discrete optimization variables can be solved using a branch-and-bound (B&B) optimization method combined with one or more tailored block-sparse pre-solving operations that exploit the block-structured sparsity of the mixed-integer optimal control problem (MIOCP) to perform a task defined by the problem parameter values. The block-sparse pre-solving operations can be used to tighten and / or speed up the solution of convex relaxations at the root node of the B&B optimization method and / or at one or more nodes of the B&B search tree by reducing the number of optimization variables, reducing the number of constraints, and tightening the bounds and constraints on the optimization variables.

[0128] In some embodiments of the present invention, a first subset of the discrete variables in the MICP are fixed to predicted values ​​output by a trained parametric function, a second subset of the discrete variables in the MICP are fixed by a pre-solve-based modification to values ​​uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints, and a third subset of the discrete variables in the MICP are selected to be free optimization variables, and an approximation of the MICP with a reduced number of discrete optimization variables is solved subject to constraints to generate a feasible motion trajectory, e.g., using a B&B optimization method combined with one or more adjusted block-sparse pre-solve operations that exploit the block-structured sparsity of the MICP problem.

[0129]

number

[0130]

number

[0131] For example, in some embodiments of the present invention, the training loss for a multi-class classification problem may be a cross-entropy loss applied to the output layer of a parametric function approximation architecture, such as a neural network. The resulting optimization problem for computing network weights that minimize the training loss function may be solved using stochastic gradient descent, Adam, AdaGrad, RMSProp, or any other variant of a gradient-based or gradient-free optimization algorithm. In some embodiments of the present invention, a classifier 820 is used to select 460 one or more discrete solution candidates that correspond to the highest confidence in feasibility and optimality, i.e., the highest values ​​for each class from the output layer of the network, and one or more of these discrete solution candidates may be optionally modified using an iterative pre-solve-based modification method 462 to compute a feasible, but potentially suboptimal, mixed-integer solution 255 to the high-dimensional MIOCP problem.

[0132]

number

[0133] Some embodiments of the present invention are based on the recognition that a trained parametric function approximation architecture, e.g., a machine learning-based predictive model, can provide a probability or confidence for one or more discrete values ​​in a discrete optimizer set at one or more time steps of a prediction time horizon, and predicted values ​​430 of the discrete variables can be calculated to maximize the probability or confidence. In some embodiments of the present invention, the predicted values ​​430 are selected based on sampling from a probability distribution, and the probability for each discrete value in the discrete optimizer set is equal to the probability or confidence provided by the trained machine learning-based predictive model. Some embodiments of the present invention are based on the recognition that multiple discrete candidate solutions can be calculated by sampling multiple times from the probability distribution provided by the trained multi-class classification network architecture for one or more discrete values ​​in the discrete optimizer set at one or more time steps of the prediction time horizon.

[0134]

number

[0135]

number

[0136]

number

[0137] FIG. 9A illustrates examples of machine learning algorithms that can be used to implement predictive models, according to some embodiments of the present disclosure. In particular, FIG. 9A encompasses various predictive models 901 that can be trained to generate predictions of solution values ​​of discrete optimization variables of a MICP problem. The predictive models may be deterministic (911) or probabilistic (913) and may rely on neural architectures 921 / 931 or kernel representations 923 / 933. Examples of deterministic predictive models include multilayer perceptrons, recurrent and / or convolutional neural networks 921, and kernel regression and support vector machines 923, among others. Examples of probabilistic predictive models include Bayesian neural networks, neural processes 931, Gaussian processes, and Kriging interpolation 933, among others. One embodiment illustrated in FIG. 9B uses a deep neural network as the predictive model.

[0138]

number

[0139]

number

[0140] While typical training methods for predictive models aim to minimize the training error of a predictive model equally in all directions, some embodiments of the present invention are based on the recognition that the training error should be minimized primarily in directions that cannot be fixed by an iterative pre-solving-based correction method. Specifically, some embodiments of the present invention are based on the recognition that predictions by a trained machine learning network 430 for particular discrete optimization variables in the MICP problem can be finely corrected by an iterative pre-solving method 435. Instead, because other predictions by a trained machine learning network 430 for particular discrete optimization variables in the MICP problem cannot be corrected by an iterative pre-solving method 435, the training error for the latter discrete optimization variables should be minimized primarily.

[0141]

number

[0142] In some embodiments of the present invention, each of the RNN architectures 960-961-962 is a single-layer or multi-layer LSTM-based or GRU-based network. Some embodiments of the present invention are based on the recognition that each of the deep neural networks 970-971-972 for extracting features from parameters can be the same neural network with the same values ​​for weights and biases. Similarly, some embodiments of the present invention are based on the recognition that each of the RNNs 960-961-962 for each time step in the prediction time horizon can be the same RNN model with the same values ​​for weights and biases. Finally, some embodiments of the present invention are based on the recognition that each of the deep neural networks 975-976 for computing outputs from hidden state values ​​can be the same neural network with the same values ​​for weights and biases.

[0143] FIG. 10A illustrates a schematic diagram of offline data generation 400 using centralized sampling according to some embodiments of the present disclosure. In particular, FIG. 10A illustrates the principle of centralized sampling for collecting sampled problem parameter values. According to some embodiments, the centralized sampler recognizes that it is desirable to generate more data samples with state values ​​located near one or more obstacles 1001 in the controlled system's environment 1011. This can explicitly minimize training loss in regions near the obstacles 1001, where the optimal control solution may change rapidly and possibly discontinuously with respect to the system's initial state. To this end, a multi-step sampling approach is implemented, in which a predetermined number of initial samples 1021 are generated using standard sampling methods, from which data tuples are extracted. Some examples of sampling methods include uniformly distributed, sparse grids, or hyper-uniformly distributed sequences defined for the target state space. Among these initial samples, some are infeasible because they overlap with obstacles. These infeasible samples 1023 are removed from the dataset because they do not contribute to training loss. After this first level of sampling, another set of samples concentrated near the obstacle is generated, and these samples 1031 are drawn from the lumped sampler. Some embodiments of the lumped sampler 1051 are further described with reference to FIG. 10B.

[0144]

number

[0145] Another embodiment of the focused sampler involves density-based importance sampling 1063 from a distribution designed to take into account the location of obstacles. According to this embodiment, the distribution over the parameter space of interest is configured, for example, so that the closer the focused sampler 1051 is to an obstacle, the higher the probability of selecting a data point. By way of example, such a distribution can be efficiently generated via kernel density estimation, and drawing samples from such a skewed distribution automatically concentrates the samples near the obstacle.

[0146] Another embodiment of focused sampling involves active learning 1065, where an initial set of training data is used to construct a learner, which then selects the next batch of samples that contain the most useful information (e.g., according to an entropy measure). By iterating through learning and batch selection, the collected data will contain parameter samples that are focused around the most informative region of parameter space.

[0147] FIG. 11A shows a schematic diagram of an example binary control-variable search tree representing a nested search space tree for integer-feasible solutions to MICP subproblems according to some embodiments of the present invention. By showing a binary search tree 1100 in a particular iteration of a mixed-integer optimization algorithm for solving MICP for a set of sampled values ​​for the problem parameters, FIG. 11A provides a schematic representation of a branch-and-bound method that can be used in the offline data generation step for training a machine-learning-based predictor to implement a MICP controller according to some embodiments of the present invention. The main idea of ​​the branch-and-bound (B&B) method is to sequentially create partitions of the original MICP problem and then solve these partitions, each corresponding to a specific region of the discrete control-variable search space. In some embodiments, the branch-and-bound method selects a partition or node and selects discrete control variables to branch this partition into smaller partitions or search spaces, resulting in a nested partition tree or search space tree.

[0148]

number

[0149]

number

[0150] FIG. 11B illustrates a block diagram of a branch-and-bound optimization algorithm for searching for an integer-feasible optimal solution of a MICP for a set of sampled problem parameter values ​​based on a nested search space tree and corresponding lower / upper bounds, according to some embodiments of the present invention. The block diagram of the branch-and-bound mixed-integer optimization algorithm illustrated in FIG. 11B can be used in an offline data generation step for training a machine learning-based predictor to implement a MIMPC controller in some embodiments. The branch-and-bound method initializes 1110 branch search tree information for a mixed-integer convex program (MICP) at the current control time step based on MICP data 1165 consisting of matrices and vectors. The initialization further uses 1110 branch search tree information and MICP solution information from previous iterations 1160 to generate a warm-start initialization for the current control time step. The main goal of the optimization algorithm is to construct lower and upper bounds for the objective value of the MICP solution. In step 1111, if the gap between the lower and upper bounds is smaller than a certain tolerance, a mixed-integer optimal control solution 1155 is found.

[0151] As long as the gap between the lower and upper bounds in step 1111 is greater than a certain tolerance and the optimization algorithm has not yet reached its maximum run time, the branch and bound method continues to iteratively search for a mixed-integer optimal control solution of MICP for the set of sampled problem parameter values ​​(1115). Each iteration of the branch and bound method begins by selecting the next node in the tree, corresponding to the next region or partition of the integer variable search space, with possible variable fixations based on a pre-solution branching technique 1115. After node selection, the corresponding integer relaxed convex problem is solved, with possible variable fixations based on a post-solution branching technique 1120.

[0152] If the integer-relaxed convex problem has a feasible solution, the resulting relaxed control solution provides a lower bound on the objective value for that particular region or partition of the integer variable search space. If, in step 1121, it is determined that the objective is greater than the currently known upper bound on the objective value of the optimal mixed-integer control solution of MICP, the selected node is pruned or removed from the branching tree (1140). However, if, in step 1121, it is determined that the objective is lower than the currently known upper bound and the relaxed control solution is integer-feasible (1125), then, in step 1130, the currently known upper bound and the corresponding estimate of the mixed-integer control solution are updated.

[0153] If the integer relaxed convex problem has a feasible solution and the objective is lower than the currently known upper bound (1121), but the relaxed control solution is not yet integer feasible (1125), the global lower bound on the objective can be updated to the minimum of the objective values ​​of the remaining leaf nodes in the branching tree (1135), and the selected node is pruned from the tree (1140). Additionally, starting from the current node, a discrete variable with fractional value is selected for branching according to a particular branching strategy (1145), and a resulting auxiliary MICP subproblem corresponding to a subregion or partition of the discrete search space of the original MICP is created and added as a child of that node in the branching tree (1150).

[0154]

number

[0155] Some embodiments are based on a branch-and-bound method using a depth-first node selection approach, which can be implemented using a last-in-first-out (LIFO) buffer. The next node to solve is selected as one of the children of the current node, and this process is repeated until the node is pruned, i.e., becomes infeasible, optimal, or is dominated by a currently known upper bound, followed by a backtracking procedure. Alternatively, some embodiments are based on a branch-and-bound method using a best-first approach, which selects the node with the smallest current local lower bound. Some embodiments employ a combination of depth-first and best-first node selection approaches, where a depth-first node selection approach is used until an integer feasible control solution is found, and then a best-first node selection approach is used in subsequent iterations of the branch-and-bound-based optimization algorithm. The motivation for the latter implementation is to aim to find an integer feasible control solution early at the start of the branch-and-bound procedure (depth-first) to allow early pruning, followed by a more greedy search for better feasible solutions (best-first).

[0156] The branch and bound method continues iterating until one or more of the following conditions are met: · The maximum processor execution time has been reached. All nodes in the branch search tree were pruned so that no new nodes could be selected to solve a convex relaxation or branch. The optimality gap between the global lower and upper bounds for the purpose of solving the MICP subproblems is smaller than the tolerance value.

[0157] 12A shows a schematic diagram of a vehicle 1201 including a predictive controller 1202 employing principles of some embodiments. As used herein, a vehicle 1201 may be any type of wheeled vehicle, such as a car, a bus, or a rover. The vehicle 1201 may also be an autonomous or semi-autonomous vehicle. For example, some embodiments control the motion of the vehicle 1201. An example of motion includes the lateral motion of the vehicle, which is controlled by a steering system 1203 of the vehicle 1201. In one embodiment, the steering system 1203 is controlled by the controller 1202. Additionally or alternatively, the steering system 1203 may be controllable by a driver of the vehicle 1201.

[0158] The vehicle may also include an engine 1206 that can be controlled by the controller 1202 or by other components of the vehicle 1201. The vehicle may also include one or more sensors 1204 for sensing the surrounding environment. Examples of sensors 1204 include a distance rangefinder, radar, lidar, and a camera. The vehicle 1201 may also include one or more sensors 1205 for sensing its current amount of motion and internal status. Examples of sensors 1205 include a global positioning system (GPS), an accelerometer, an inertial measurement unit, a gyroscope, a shaft rotation sensor, a torque sensor, a deflection sensor, a pressure sensor, and a flow sensor. The sensors provide information to the controller 1202. The vehicle may also include a transceiver 1206 that enables communication functions of the controller 1202 through wired or wireless communication channels.

[0159] 12B shows a schematic diagram of the interaction between a controller 1202, e.g., a mixed integer model predictive controller (MIMPC), and other controllers 1220 of the vehicle 1201, according to some embodiments. For example, in some embodiments, the controllers 1220 of the vehicle 1201 are a steering controller 1225 and a brake / throttle controller 1230, which control the rotation and acceleration of the vehicle 1201, respectively. In such a case, the predictive controller 1202 outputs control inputs to the controllers 1225 and 1230 to control the state of the vehicle 1201. The controller 1220 may also include a higher-level controller, e.g., a lane-keeping assist controller 1235, which further processes the control inputs of the predictive controller 1202. In either case, the controller 1220 uses the output of the predictive controller 1202 to control at least one actuator of the vehicle 1201, such as the steering wheel and / or brakes of the vehicle 1201, to control the motion of the vehicle 1201. Further, the predictive controller 1202 determines inputs to the vehicle 1201 based on the mixed integer optimal control solution, the inputs to the vehicle 1201 including one or a combination of the vehicle 1201 acceleration, vehicle 1201 engine torque, brake torque, and steering angle, and the discrete optimization variables model one or a combination of discrete control decisions, system dynamics switching, gear shifting, and obstacle avoidance constraints.

[0160] 12C shows a schematic diagram of a path and / or motion planning method for a controlled vehicle employing principles of some embodiments. Additionally, FIG. 12C shows a schematic diagram of a controlled autonomous or semi-autonomous vehicle 1250 that can compute a dynamically feasible and often optimal trajectory 1255 using embodiments of the present disclosure. The generated trajectory aims to keep the vehicle within a specific road boundary 1252 and to avoid other vehicles, controlled and / or uncontrolled, that are obstacles 1251 to this particular controlled vehicle 1250. In some embodiments, each of the obstacles 1251 can be represented by one or more inequality constraints in a time or space formulation of a constrained mixed-integer convex programming problem, including one or more additional discrete variables for each obstacle. For example, based on an embodiment configured to implement a mixed integer model predictive controller, the controlled autonomous or semi-autonomous vehicle 1250 can make discrete decisions in real time, such as, for example, to overtake another vehicle on the left or right, or alternatively, to stay behind another vehicle in the current lane of road 1252, while also making continuous decisions in real time, such as, for example, speed, acceleration, or steering inputs to control the motion of the vehicle 1250.

[0161] FIG. 12D illustrates an exemplary traffic scene for a single-vehicle or multi-vehicle decision-making module according to some embodiments. FIG. 12D illustrates a scenario with traffic consisting of one or more controlled vehicles, referred to as ego-vehicle 1271, other vehicles, similarly designated 1272, a lane 1273, designated, for example, by L6, a stop lane 1274, designated, for example, by S1, and an intersection 1275, designated, for example, by I3. For a vehicle at location 1261 with a final destination 1262, the routing module provides a series of roads, designated by arrow 1263, and a series of turns, designated by arrow 1264. Note, however, that the series of roads 1263 and the series of turns 1264 do not themselves specify the vehicle's trajectory or path. There are multiple discrete decisions to make, such as which lane to drive the vehicle in, whether the vehicle should change lanes or remain in its current lane, whether the vehicle should begin slowing down to stop in a stop lane, whether the vehicle is allowed to cross an intersection, etc. Furthermore, there are multiple sequential decisions to be made, such as a timed series of positions and orientations that the vehicle must achieve in its journey from its starting point to its destination. These decisions are highly dependent on the current traffic at the moment the vehicle reaches the corresponding position, which is generally unknown to the routing module due to the uncertainty in traffic movement and the uncertainty of the moment the vehicle reaches its position. In some embodiments of the present disclosure, a motion plan for one or more controlled ego-vehicles 1271 can be calculated by solving one or more connected mixed-integer convex programming problems, possibly using communications that enable vehicle-to-vehicle (V2V) and / or smart infrastructure system-to-vehicle (V2X) cooperation.

[0162] 13A and 13B are schematic diagrams of a spacecraft mixed-integer model predictive control problem formulation employing principles of some embodiments of the present disclosure. More specifically, FIGS. 13A and 13B show a spacecraft 1302 equipped with multiple actuators, such as thrusters 1350 and momentum exchange devices 1351. Examples of this type of momentum exchange device include reaction wheels (RWs) and gyroscopes. The spacecraft 1302 is a vehicle, vessel, or machine designed to fly in space, and its motion changes quantities such as the spacecraft's 1302 position, its velocity, and its attitude or orientation in response to commands sent to the actuators. When commanded, the actuators impart forces to the spacecraft 1302, which increase or decrease the spacecraft's 1302 velocity, thereby translating the spacecraft's 1302 position. When commanded, the actuators also impart torques to the spacecraft 1302, which rotate the spacecraft 1302, thereby changing the spacecraft's attitude or orientation. As used herein, the movement of spacecraft 1302 is determined by the operation of actuators that determine the motion of spacecraft 1302 to change such quantities.

[0163] Spacecraft 1302 flies through space along an open or closed orbital path 1360 around, between, or near one or more gravitational bodies, such as Earth 1361, the Moon, and / or other celestial planets, stars, asteroids, comets, etc. Typically, a desired or target position 1365 along the orbital path is given. A reference frame 1370 is attached to the desired position, and the frame's origin, i.e., the all-zero coordinate in that reference frame, is always the coordinate of the desired position.

[0164] Spacecraft 1302 is subject to various disturbance forces 1314. These disturbance forces may include forces that were not considered when determining the orbital path for spacecraft 1302. These disturbance forces act on spacecraft 1302, moving spacecraft 1302 away from its desired position on the orbital path. These forces may include, but are not limited to, gravitational forces, radiation pressure, atmospheric drag, a non-spherical central body, and a fuel leak. As a result, spacecraft 1302 may be at a distance 1367 away from its target position.

[0165] Due to disturbance forces, it is not always possible to maintain spacecraft 1302 at a desired position along its orbit. Therefore, it is desired that spacecraft 1302 instead remain within a window 1366 having specified dimensions 1364 around the desired location. To do so, spacecraft 1302 is controlled to move along any path 1380 that falls within the desired target window. In this example, window 1366 is rectangular, although the shape of the window may vary in different embodiments.

[0166] Spacecraft 1302 is also often required to maintain a desired orientation. For example, a reference frame 1374 fixed to the spacecraft is required to align with a desired reference frame, such as an inertial reference frame 1371 fixed relative to a distant star 1372, or a reference frame 1373 that is always oriented to point toward the Earth. However, depending on the shape of the spacecraft 1302, different disturbance forces 1314 may act non-uniformly on the spacecraft 1302, generating disturbance torques that may cause the spacecraft 1302 to rotate away from its desired orientation. To compensate for the disturbance torques, a momentum exchange device 1351, such as a reaction wheel, may be used to absorb the disturbance torques, thereby allowing the spacecraft to maintain its desired orientation.

[0167] To prevent the momentum exchange devices from saturating and thereby losing their ability to compensate for disturbance torques, their stored momentum must be unloaded, for example, by reducing the spin rate of the reaction wheels. Unloading the momentum exchange devices imparts undesirable torques to spacecraft 1302. These undesirable torques are also compensated for by the thrusters.

[0168] In some embodiments of the invention, the MIMPC controller determines inputs to the spacecraft 1302 based on a mixed integer optimal control solution using one or more equations to describe the linear or piecewise linear dynamics and / or convex constraints of the controlled system, the inputs to the spacecraft 1302 actuating one or a combination of thrusters and momentum exchange devices, and discrete optimization variables are used to model one or a combination of discrete control decisions, switching system dynamics, integer values ​​of thruster commands, and obstacle avoidance constraints.

[0169] In some embodiments of the invention, spacecraft 1302 can be modeled as a hybrid system including both continuous and discrete computing elements, and commands sent to the actuators are calculated using a mixed integer model predictive controller (MIMPC). For example, in some embodiments, commands sent to thrusters 1350 can take only a discrete set of values, resulting in a set of binary or integer control input variables for each stage in the mixed integer control horizon.

[0170] In some embodiments of the invention, the predictive controller is designed to keep spacecraft 1302 outside a particular zone 1385 of specified dimensions near the desired location along its orbit. This latter zone, which may be fixed in time or may vary over time, is often referred to as the exclusion zone 1385, for which corresponding logical inequality constraints may be modeled using an additional set of binary or integer control input variables for each stage within the mixed-integer control horizon. In this example, the exclusion zone 1385 is rectangular and located at a corner of the desired window 1366, although the shape and location of the exclusion zone within the desired target window may vary depending on the embodiment.

[0171] 14A shows a schematic diagram of a vapor compression system 1400 controlled by a controller 1460, according to some embodiments. The controller 1460 includes a predictive controller, such as a controller implementing mixed integer model predictive control (MIMPC). Components of the vapor compression system (VCS) 1400 may include an indoor heat exchanger 1420 located in an indoor space or zone 1450, an outdoor heat exchanger 1430 located in the ambient environment, a compressor 1410, and an expansion valve 1440. A heat load 1415 acts on the indoor space or zone 1450.

[0172] Additionally, the VCS 1400 may include a check valve 1455 used to direct high-pressure refrigerant exiting the compressor to either the outdoor or indoor heat exchanger, and to direct low-pressure refrigerant returning from either the indoor or outdoor heat exchanger to the compressor inlet. When high-pressure refrigerant is directed to the outdoor heat exchanger, the outdoor heat exchanger acts as a condenser, the indoor unit acts as an evaporator, and the system rejects heat from the zone to the ambient environment, which is referred to as a "cooling mode" of operation. Conversely, when high-pressure refrigerant is directed to the indoor heat exchanger, the indoor unit acts as a condenser, and the outdoor unit acts as an evaporator, capturing heat from the ambient environment and delivering it to the zone, which is referred to as a "heating mode" of operation.

[0173] FIG. 14B illustrates an example configuration of signals, sensors, and controllers used in VCS 1400, according to some embodiments. Controller 1460 reads information from sensors 1470 configured to measure various temperatures, pressures, flow rates, or other information related to the operation of the system, including measurable disturbances such as ambient air temperature. Controller 1460 can be provided with setpoints 1466 representing desired values ​​for measured signals of a process, such as a desired zone temperature. Setpoint information can be obtained from a thermostat, a wireless remote control, or an internal memory or storage medium. The controller then calculates control inputs to drive several measured outputs to those setpoints. These control inputs can include indoor unit fan speed 1480, outdoor unit fan speed 1481, compressor rotation speed 1482, expansion valve position 1483, and backflow valve position 1484. In this manner, the controller controls the operation of the vapor compression system to achieve the setpoints in the presence of disturbances 1468, such as heat loads acting on the system.

[0174] In some embodiments, the VCS 1400 can be modeled as a hybrid system that includes both continuous and discrete computing elements, and the commands sent to the actuators are calculated using a predictive controller, such as a mixed-integer model predictive controller (MIMPC). For example, in some embodiments, the commands sent to the valves and / or fans can take only a discrete set of values, resulting in a set of binary or integer control input variables for each stage in the mixed-integer control horizon.

[0175] In some embodiments, the predictive controller determines inputs to the vapor compression system based on a mixed integer optimal control solution, where the inputs to the vapor compression system include one or a combination of indoor unit fan speed, outdoor unit fan speed, compressor rotational speed, expansion valve position, and backflow valve position, and where discrete optimization variables are used to model one or a combination of discrete control decisions, switching system dynamics, and integer values ​​of commands sent to the valves and / or fans.

[0176] In some embodiments, the dynamic behavior of VCS 1400 may change rapidly or even switch at some point depending on the current state of the system and the current control input values. The resulting hybrid VCS 1400 with switching dynamics can be modeled using an additional set of binary or integer control input variables for each stage in the mixed-integer control horizon.

[0177] 15 shows a method 1500 for controlling a system, according to an exemplary embodiment. The method includes, in step 1501, accepting feedback signals including measurements of problem parameters, e.g., including the state of the system and / or the state of the system's environment. The method includes, in step 1503, solving a mixed integer optimal control problem (MIOCP) using a recursive machine learning-based prediction and iterative pre-solving-based correction method that searches for a feasible and (locally) optimal solution of the mixed integer convex programming (MIOCP) problem. In step 1505, controlling the system based on the control signals to change the state of the system.

[0178] The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, these embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code may be executed on any suitable processor or collection of processors, whether located on one computer or distributed across multiple computers. Such multiple processors may be implemented as an integrated circuit, with one or more processors in an integrated circuit component. However, a single processor may be implemented using circuitry in any suitable format.

[0179] The various methods or processes outlined herein may also be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages ​​and / or programming or scripting tools, and may be compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

[0180] Also, embodiments of the present invention may be embodied as a method, an example of which is provided. The order of operations performed as part of this method may be determined in any suitable manner. Thus, embodiments may be configured to perform operations in an order different from that illustrated, which may include performing some operations simultaneously, even though in the illustrated embodiment they are shown as a sequence of operations.

[0181] While the invention has been described in terms of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the following claims to cover all such variations and modifications as come within the true spirit and scope of the invention.

Claims

1. 1. A controller for controlling motion of a device to perform a task that changes a state of the device subject to a constraint, the controller comprising a processor and a memory having instructions stored thereon, the instructions, when executed by the processor, causing the controller to: collecting parameters of the task, including the state of the device; Evaluating a parametric function trained to input the parameters of the task and output predicted values ​​of a set of discrete variables in a mixed integer convex programming (MICP) problem for performing the task defined by the parameters; Fixing a first subset of discrete variables in the MICP to the predicted values ​​output by the trained parametric function; performing a pre-solve-based correction configured to update at least some of the predicted values ​​of a remaining subset of discrete variables in the MICP to values ​​uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints; converting the MICP to a convex programming (CP) problem based on fixed values ​​of the first subset of discrete variables and updated values ​​of the remaining subset of discrete variables; solving the CP problem subject to the constraints to generate a feasible motion trajectory for performing the task defined by the parameters; and issuing commands to the device to change the state according to the motion trajectory.

2. The controller of claim 1 , wherein the parametric function is trained to output the predicted values ​​of the set of discrete variables at one time step or multiple consecutive time steps within a prediction time horizon of the MICP.

3. 2. The controller of claim 1, wherein the parametric function is evaluated one or more times to generate multiple predicted values ​​for each discrete variable in the set of discrete variables in the MICP, resulting in multiple candidate discrete solutions, the controller performs the pre-solve-based modification for each candidate discrete solution to convert the MICP into a multiple CP problem and determine multiple motion trajectories, and the controller is further configured to select the feasible motion trajectory for performing the task from the multiple motion trajectories.

4. 4. The controller of claim 3, wherein the feasible motion trajectory is selected from the plurality of motion trajectories to be an optimal motion trajectory having a minimum objective value in a minimization problem, or an optimal motion trajectory having a maximum objective value in a maximization problem.

5. 4. The controller of claim 3, wherein the parametric function is trained based on a multi-class classification approach to output a probability or confidence for each of the predicted values ​​of each discrete variable in the set of discrete variables, and the first subset of discrete variables is selected based on the probability or confidence of the predicted values.

6. 6. The controller of claim 5, wherein a plurality of values ​​for each of the discrete variables in the MICP are selected to maximize the probability or confidence output by the trained parametric function for each set of predicted values ​​of the discrete variables.

7. 6. The controller of claim 5, wherein multiple values ​​of each of the discrete variables in the MICP are generated by sampling a probability distribution at one time step or multiple consecutive time steps within a prediction time horizon, and the probability for each set of fixed values ​​of the discrete variables in a discrete optimizer set at one time step or multiple consecutive time steps within the prediction time horizon is equal to the probability output by the trained parametric function for performing the task defined by the parameters.

8. 4. The controller of claim 3, wherein the parametric function is trained based on a regression approach to directly output successive approximations of feasible values ​​of one or more discrete variables at one time step or multiple consecutive time steps within a forecast time horizon of the MICP for performing the task defined by problem parameters.

9. The controller of claim 8 , wherein the predicted values ​​of the set of discrete variables are generated by rounding the successive approximations output by the trained parametric function to the nearest integer feasible candidate solution.

10. The controller of claim 3 , wherein the processor is at least one parallel processor, and a solution to the MICP problem is found by testing the plurality of candidate solutions in parallel to find the feasible motion trajectory.

11. To perform the pre-solve-based correction, the controller iteratively selects discrete variables into the first subset and updates the predicted values ​​in the remaining subsets of discrete variables until infeasibility is detected or until values ​​of all discrete variables that allow the MICP to be transformed into the CP problem are fixed; if said infeasibility is detected, implementing a backup control solution to change said state of said device; Otherwise, if values ​​of all discrete variables are fixed, the controller of claim 1 solves the CP problem subject to the constraints to generate the feasible motion trajectory.

12. The pre-solution-based revision iterations consist of one or more single pre-solution steps, each single pre-solution step being an iterative procedure that performs one or more iterations until a termination condition is met, each iteration of the single pre-solution step including one or a combination of pre-solution operations, the pre-solution operations being: domain propagation for range enforcement of continuous and / or discrete optimization variables based on equality and inequality constraints in the MICP for performing the task defined by problem parameters; detection and removal of redundant inequality constraints and double fixing of continuous and / or discrete optimization variables based on a cost function and based on equality and inequality constraints in said MICP; and strengthening inequality constraint coefficients to replace one or more inequality constraints with one or more governing inequality constraints, wherein the governing inequality constraints can reduce a feasible search space of a relaxation problem without eliminating integer feasible solutions of the MICP, and the pre-solving operation further comprises:

12. The controller of claim 11, comprising binary variable probing that aims to fix values ​​of one or more discrete variables by probing the feasibility of fixed values ​​of one or more discrete variables in the MICP for performing the task defined by the problem parameters.

13. 13. The controller of claim 12, wherein each iteration of the single pre-solving step includes one or more tailored block-sparse pre-solving operations that exploit block-structured sparsity of a mixed integer optimal control problem (MIOCP) to perform the task defined by the parameters.

14. The adjusted block-sparse pre-solved operation is a block-sparse forward-backward operation for domain propagation and range enforcement of continuous and / or discrete optimization variables based on equality and inequality constraints in a block-structured MIOCP for performing the task defined by the problem parameters; detection of block-sparse redundant inequality constraints based on the cost function and based on equality and inequality constraints in the block-structured MIOCP, and double fixing of continuous and / or discrete optimization variables; augmenting block-sparse inequality constraint coefficients to replace one or more inequality constraints with one or more governing inequality constraints in the block-structured MIOCP; and block-sparse binary variable probing, which aims to fix values ​​of one or more discrete variables by probing the feasibility of fixed values ​​of one or more discrete variables in said block-structured MIOCP; The controller of claim 13 may include one or a combination of:

15. 3. The controller of claim 2, wherein the parametric function is a recurrent neural network (RNN), each step of the RNN corresponding to predicting values ​​of a set of discrete variables at one time step or multiple consecutive time steps within a prediction time horizon of the MICP, and wherein sequential evaluations of the RNN result in predicted values ​​for each of the discrete variables of the MICP.

16. 3. The controller of claim 2, wherein the parametric function approximation architecture may consist of one or more layers of a feed-forward deep neural network, one or more layers of a long short-term memory (LSTM) network, one or more layers of gated recurrent units (GRUs), and / or one or more layers of a convolutional neural network (CNN).

17. 2. The controller of claim 1, wherein a first subset of discrete variables in the MICP are fixed to the predicted values ​​output by the trained parametric function, a second subset of discrete variables in the MICP are fixed through pre-solve-based modification to values ​​uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints, a third subset of discrete variables in the MICP are selected to be free optimization variables, and an approximation of the MICP with a reduced number of discrete optimization variables is solved subject to the constraints to generate a feasible motion trajectory using a branch-and-bound (B&B) optimization method combined with one or more adjusted block-sparse pre-solve operations that exploit block-structured sparsity of a mixed integer optimal control problem (MIOCP) to perform the task defined by the parameters.

18. 10. A hybrid dynamic system including the controller of claim 1, wherein control commands generated by the controller specify a target state of the hybrid dynamic system, the hybrid dynamic system being:

1. A hybrid dynamic system comprising: a tracking controller configured to generate one or more control inputs to actuators of the hybrid dynamic system to reduce an error between a current state and a target state of the hybrid dynamic system, the tracking controller being a PID controller or a model predictive controller (MPC).

19. 20. The hybrid dynamic system of claim 18, wherein the controller is a mixed integer model predictive controller (MIMPC), the MIMPC calculating control signals based on parameters of the task including current states and control commands of the system, and the MIMPC calculating a control solution including a sequence of optimal future discrete and continuous control inputs over a forecast time horizon of the hybrid dynamic system by solving a constrained mixed integer optimization problem at each control time step.

20. 2. The controller of claim 1, wherein the device is a vehicle, and the controller determines inputs to the vehicle based on a solution of the MICP, the inputs to the vehicle including one or a combination of acceleration of the vehicle, engine torque, brake torque, and steering angle of the vehicle, discrete optimization variables are used to model one or a combination of discrete control decisions, system dynamics switching, gear shifting, and obstacle avoidance constraints, and problem parameters of the task may include a current state of the vehicle, a target state or goal state, positions and / or orientations of one or more obstacles, one or more operating limits, one or more weight values ​​in an objective function, and / or one or more boundary values ​​in mixed-integer inequality constraints of a mixed-integer optimal control problem (MIOCP).

21. 2. The controller of claim 1, wherein the device is a spacecraft, and the controller determines inputs to the spacecraft based on a solution of the MICP, the inputs to the spacecraft actuating one or a combination of thrusters and momentum exchange devices, and wherein discrete optimization variables are used to model one or a combination of discrete control decisions, switching system dynamics, integer values ​​of commands for the thrusters, and obstacle avoidance constraints, and wherein problem parameters of the task may include a current state of the spacecraft, a goal state or target state, positions and / or orientations of one or more obstacles, one or more operating limits, one or more weight values ​​in an objective function, and / or one or more boundary values ​​in mixed-integer inequality constraints of an MICP.

22. 2. The controller of claim 1, wherein the device is a vapor compression system, and the controller determines inputs to the vapor compression system based on a solution of the MICP, the inputs to the vapor compression system including one or a combination of indoor unit fan speed, outdoor unit fan speed, compressor rotational speed, expansion valve position, and backflow valve position, discrete optimization variables are used to model one or a combination of discrete control decisions, switching system dynamics, and integer values ​​of the commands sent to the valves and / or the fans, and problem parameters of the task may include a current state of the vapor compression system, a target state or target state, one or more operating limits, one or more weight values ​​in an objective function, and / or one or more boundary values ​​in a MICP mixed-integer inequality constraint.

Citation Information

Patent Citations

  • Active distribution network reactive voltage coordinated operation optimization method and system

    CN108418223A

  • Mixed integer convex programming method for optimal power distribution of AC / DC parallel transmission channels

    CN109038551A

  • Model predictive control of systems with continuous and discrete elements of operations

    JP2020149677A