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

Through recursive architecture and iterative pre-solving solution correction method, the calculation efficiency and scalability problems of the optimal control problem of high-dimensional mixed integers in mixed integer convex optimization are solved, and the calculation of fast and feasible solutions is realized.

JP2025512112AActive Publication Date: 2025-04-16MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the high-dimensional mixed integer optimal control problem in the mixed integer convex optimization problem, especially in real-time applications. The existing methods have a long calculation time and are difficult to scale to large-scale decision variables.

Method used

Recursive architecture combined with iterative pre-solving methods is adopted to use time structure to make scalable predictions in the mixed integer optimal control problem, and improve the feasibility of the results through the correction method of the pre-solving solution.

Benefits of technology

It realizes fast feasible solution calculation for the optimal control problem of high-dimensional mixed integers, improves calculation efficiency, and shows good scalability in real-time applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025512112000001_ABST
    Figure 2025512112000001_ABST
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 specifically to a recursive prediction and iterative correction method and apparatus for model predictive control of systems described by dynamics having continuous and discrete computing 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 to model a wide variety of problems, including, for example, dynamic systems with switched modes or systems with quantized actuation, problems with logic rules, temporal logic specifications or obstacle avoidance constraints. However, the resulting optimization problems are highly non-convex, since they contain variables that take on integer values ​​only, and 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). It is possible to include more general convex inequality constraints, 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 a sequence of such MIPs have been considered in the literature. These approaches can be divided into heuristic techniques that try 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 variants of the branch-and-bound (B&B) technique to optimally solve the MIP. Variations of the branch-and-bound technique have been combined with different methods of solving relaxed convex subproblems, e.g., 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 for solving 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 schemes, using approximate optimization algorithms, approximate dynamic programming, or using data-based machine learning techniques, e.g., supervised learning. The solution time of the mixed-integer optimal control problem (MIOCP) has been dramatically improved by using supervised learning to replicate optimal and feasible MIP solutions from the B&B method obtained offline and fast inference of these solutions online. Alternatively, reinforcement learning techniques have been used to learn tree search policies to speed up the B&B method, but these approaches have limited applicability in practice for real-time embedded systems because they require at least one forward pass of a predictor, e.g., a neural network, at each node of the B&B tree, and more importantly, they may still require enumeration of the complete B&B tree in the worst case.

[0005] Existing supervised learning techniques may directly approximate the mapping from the problem parameters, i.e., the current state of the controlled system and the current state of the system's environment, to the discrete variable solution of 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 learned predictor, i.e., after 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 control horizon of the MIOCP, but this is likely to lead to significant suboptimality in the realization of receding horizons. Alternatively, we can use deep neural networks to directly mimic the policy induced by the exact solver for MIOCP, and learn the value function by leveraging data obtained via offline simulations.

[0006] Existing machine learning-based approaches for computing fast MIP solutions for MIOCPs have two major drawbacks. First, learning-based prediction of MIP solutions often does not guarantee that an optimal solution, or even a feasible but suboptimal solution, will be found, i.e., there may be a high probability that the guess of the predicted solution is infeasible with respect to one or more mixed integer inequality constraints. Second, such supervised learning techniques, while effective for small-sized MIP problems, 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 sampling of the parameter space 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 objective of the systems and methods described in this invention. Summary of the Invention

[0008] Mixed integer programming (MIP) problems arise frequently in the optimal control of hybrid systems that contain 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. Supervised learning techniques have been proposed to speed up the solution of MIPs, but 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 ​​of a set of discrete variables in a MICP for performing 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 motion of the device. For example, it is recognized that replacing constrained non-convex optimization with such trained learned functions is problematic due to the nature of machine learning, where constraints need to be enforced as hard constraints. In particular, machine learning is closely related to computational statistics, which is probabilistic in nature. As a result, trained parametric functions such as neural networks are not capable of dealing with hard constraints, but rather are designed to satisfy the constraints with some probability. This concept is similar to or directly replicates the concept of soft constraints, where violation of the 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. Although such a solution can be found with very high probability, this is subject to the condition of sufficient offline training data that closely approximates the online environment, which is impractical.

[0012] Since 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 of a non-convex problem into 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 the actual solving of 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 the non-convex optimization into a convex optimization, resulting in a feasible solution.

[0014] Some embodiments are based on the realization that the predicted discrete values ​​can be checked against constraints of the motion of the device that 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 and the remaining variables updated using the confidence. In this way, the feasibility of solving the MICP problem is increased without the need 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 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: collect parameters of the task including the state of the device; input the parameters of the task and evaluate a parametric function trained 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; and evaluate a first subset of the discrete variables in the MICP problem to the trained parametric function. 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 commanding the device to change the state in accordance with the motion trajectory.

[0017]

number

[0018]

number

[0019] In some embodiments of the present invention, each iteration of the iterative modification method performs a single pre-solving step that aims to reduce the number of discrete optimization variables in the MIOCP by fixing each of the removed or pruned variables to an optimal and / or uniquely feasible value. The single pre-solving step preserves feasibility and optimality, i.e., any feasible or optimal solution of the reduced MICP problem can be mapped to a feasible or optimal solution of 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. Then, if the single pre-solving step does not detect infeasibility and not all discrete variables are fixed, the iterative modification 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 modification method. The iterative pre-solving-based modification 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 infeasibility is detected by an iterative pre-solve-based correction method, an alternative control solution vector can be used to vary the state of the device.

[0021] In some embodiments of the present invention, in order 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, in order to increase the computational efficiency, the number of iterations in the iterative revision method is limited by a predetermined upper limit. When the predetermined upper limit of the number of iterations is reached and not all discrete variables are fixed, all remaining free discrete variables can be fixed to the solution value 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. The iterative procedure of the single pre-solving step then performs one or more iterations to ensure computational efficiency until the problem is detected as infeasible, until there is no sufficient progress between two consecutive iterations, or until a predefined time limit is reached. Examples of pre-solving operations include domain propagation, range tightening, double fixing, implicit variable substitution, coefficient tightening, probing, detection and removal of redundant variables and / or constraints. In addition, 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, an 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 adjusted 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 invention, a first subset of discrete variables in the MICP are fixed to predicted values ​​output by a trained parametric function, a second subset of 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 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) implementing 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 how 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. 2 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 the 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 prediction used to fix a first subset of discrete variables, followed by a 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 the 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. 13 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. 13 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 that includes 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 refinement step that includes one or more pre-solve-based iterations. [Figure 5C] FIG. 2 is a pseudocode diagram of an iterative pre-solve-based refinement procedure for computing a set of fixed values ​​for discrete variables of a MICP solution according to some embodiments of the present invention. [Figure 6A] FIG. 1 illustrates an example of domain propagation for range enforcement of MICP optimization variables, which can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 6B] FIG. 1 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. 13 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. 13 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-solved based refinement, according to some embodiments. [Figure 7B] FIG. 13 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. 13 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 revision procedure, according to some embodiments. [Figure 7D] FIG. 13 is a pseudocode diagram of an enhancement of block sparse inequality constraint coefficients corresponding to MICP discrete variables, which can be used in an iterative pre-solve-based revision procedure, according to some embodiments. [Figure 7E] FIG. 1 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. 13 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 revision 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 a 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 single-layer or multi-layer recurrent neural networks (RNNs) 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. 2 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 an integer-feasible solution of MICP for a set of sampled problem parameter values, according to some embodiments of the present invention. [Figure 11B] FIG. 2 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] FIG. 2 illustrates an exemplary traffic scene 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] FIG. 2 illustrates an example configuration of signals, sensors, and controllers 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 PREFERRED EMBODIMENTS

[0030] Some embodiments of the present disclosure provide a system and a method for controlling the operation of a system 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 represent the change in 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. In 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 the measurement 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 accepts a feedback signal 121 of the system 120 via the estimator 130, where the feedback signal 121 includes a measurement of the state of the system 120.

[0032] A system 120 as referred to herein may be any machine or device controlled by some operational input signal, e.g., control signal 111 (input). The control input signal may possibly include continuous elements, such as voltage, pressure, force, torque, steering angle, speed, and temperature, and discrete elements, such as energy levels, quantized valve inputs, shifting, on / off actuation, lane selection, and obstacle avoidance decision variables. The system 120 returns some controlled output signals 103 (output), possibly including continuous elements, such as current, flow, speed, position, temperature, heading, and steering angle, and discrete elements, such as energy levels, quantized valve states, 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. The dependency on previous inputs and previous outputs is encoded in the state of the system. The operation of the system, e.g., the motion of a component of the system, may include a sequence of output values ​​generated by the system after application of some input values.

[0033] The system model 102 may include a set of mathematical equations that describe how the system output changes 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 a linear function or a piecewise linear function. 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 model and future inputs of the system, can uniquely define the future motion of the system.

[0034] The system 120 may be subject to physical limitations and specification constraints 104 that limit the range in 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 the continuous variables and one or more mixed integer equations that depend on both the 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 realization that after fixing all discrete variables to a fixed set of values ​​provided by the predictor, i.e., fixing all binary variables to either 0 or 1 and fixing 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 and the desired motion command 101 of the system 120 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 of the MICP for generating the control signal 111 using a computation time that is much shorter than the time required to solve the MICP exactly. Thus, the processor achieves high processing speed with high accuracy. The predictive controller 110 further controls the system 120 based on the control signal 111 to change the state of the system 120.

[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 illustrates 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 the output 103 of the system 120 follow 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 the 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 a random access memory (RAM), a read only memory (ROM), a 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, which computes a high-level control signal 111, and a tracking controller 115, which aims to track the high-level control signal 111 and compute 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, which computes 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 the 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, so that the computational complexity required to solve the optimal control problem is relatively small. 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 require 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, whereas a relatively slower 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 has low computational cost.

[0042] 2A illustrates a block diagram of a system and method for mixed integer model predictive control (MIMPC) implementing 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 state or goal 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 future optimal discrete and continuous control inputs over a prediction time horizon of 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 invention, the 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 that can be read from memory (210). This concept is called a warm or hot start of the optimization algorithm and can reduce the amount of computation required for the MIMPC controller in some embodiments of the invention. Similarly, the 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 MICP270 can be formulated as an MILP, then CP280 is a convex linear program (LP). Some embodiments of the present invention are based on the recognition that if MICP270 can be formulated as an MIQP, then CP280 is a convex quadratic program (QP). Some embodiments of the present invention are based on the recognition that if MICP270 can be formulated as an MIQCQP, then CP280 is a convex quadratically constrained quadratic program (QCQP). Some embodiments of the present invention are based on the recognition that if MICP270 can be formulated as an MISOCP, then CP280 is a convex quadratic constrained quadratic program (SOCP).

[0052]

number

[0053] In some embodiments of the 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 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 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 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. The iterative procedure of the single pre-solving step then performs one or more iterations to ensure computational efficiency until the problem is detected as infeasible, until there is no sufficient progress between two successive iterations, or until a predefined time limit is reached. Examples of pre-solving operations include domain propagation, range tightening, double fixing, implicit variable substitution, coefficient tightening, probing, detection and removal of redundant variables and / or constraints. In addition, 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 a current problem parameter value θ 205, using this to fix a first subset of the discrete variables in the MICP to the predicted values ​​output by the trained parametric function (311), and then performing a pre-solve-based correction (312) to fix the remaining subset of the discrete variables to values ​​that are uniquely defined by the fixed values ​​of the first subset of the discrete variables and 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 (310), and then computing a feasible, but potentially suboptimal, solution vector 255 that defines the control signals 111 based on solving the optimal control structured CP approximation (280).

[0060]

number

[0061]

number

[0062]

number

[0063]

number

[0064] Some embodiments of the present invention are based on the realization 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 solving procedure 420 needs to be performed online with stringent requirements on computational complexity and worst case computation time, and the online procedure is typically performed on an embedded microprocessor with limited memory and computational power, e.g. using an embedded control unit (ECU) of a vehicle.

[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 the iterative pre-solve-based correction method can increase the probability of feasibility and / or optimality if the iterative correction method removes or prunes discrete variables of interest for which a machine learning based predictor provided erroneous predictions that would have resulted in an infeasible control solution, for example.

[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 terminated immediately, 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 that aims to reduce the number of discrete optimization variables in the MIOCP by fixing each of the removed or pruned variables to an optimal and / or uniquely feasible value. The single pre-solving step preserves feasibility and optimality, i.e., any feasible or optimal solution of the reduced MICP problem can be mapped to a feasible or optimal solution of 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. Then, 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 infeasibility is detected by an iterative pre-solve-based correction method, an alternative control solution vector can be used to vary 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 are fixed, all of the remaining free discrete variables can be fixed to the solution value provided by the machine learning based predictor.

[0083]

number

[0084]

number

[0085] Some embodiments of the present invention are based on the recognition that in order to bound the maximum computation time of the online variable fixing and optimal control solution procedure 420 and enable real-time realization of a predictive controller 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 refinement method, after which all remaining free variables are fixed 540 in the 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 for which the probability or confidence of the trained parametric function approximation architecture is maximized 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 illustrates an example 630 of detection of redundant inequality constraints and double fixing of optimization variables in a 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 detection and removal of 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, detection of redundant inequality constraints and double fixing of variables 630 can be used in combination with domain propagation 600 for bounds 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 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 strengthening of inequality constraint coefficients can obtain additional fixings 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, strengthening of inequality constraint coefficients 650 can 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 to MICP.

[0094] 6D illustrates an example 670 of binary variable probing for a MICP optimization 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 binary variable probing 670 can obtain additional fixes of discrete optimization variables and thus can increase the efficiency 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, binary variable probing 670 can be used in combination with domain propagation for range enforcement 600, in combination with detection of redundant inequality constraints and double fixing of variables 630, in combination with enforcement of inequality constraint coefficients 650, 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.

[0095]

number

[0096] Some embodiments of the present invention are based on the recognition that binary variable probing 670 may 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 solving procedure 420 and enable real-time realization of a predictive controller 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 the iterative pre-solving based revision procedure 435 can result in an optimal control structured CP 440 that can be computationally much cheaper to solve 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., due to a combination of bound tightening and constraint tightening.

[0098] Some embodiments of the present invention are based on the recognition that each iteration of the 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 a 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 of 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 the 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 in which the learning-based predictor has relatively high confidence, and the reduced MIOCP needs to be solved to compute the remaining free discrete variables in order to compute a feasible, but possibly 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 from 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 solved under constraints to generate a feasible motion trajectory with a set of updated fixed values ​​for the subset of discrete variables.

[0127] In some embodiments of the invention, an approximation of a 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 adjusted 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 convex relaxations 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 invention, a first subset of discrete variables in the MICP are fixed to predicted values ​​output by a trained parametric function, a second subset of 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 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 value 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 a predicted value 430 of the discrete variable can be calculated to maximize the probability or confidence. In some embodiments of the present invention, the predicted value 430 is 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 a plurality of 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 a 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 multi-layer perceptrons, recurrent and / or convolutional neural networks 921, as well as kernel regression and support vector machines 923, etc. Examples of probabilistic predictive models include Bayesian neural networks, neural processes 931, Gaussian processes, and Kriging interpolation 933, etc. 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 the 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 iterative pre-solving based correction methods. Specifically, some embodiments of the present invention are based on the recognition that predictions by the trained machine learning network 430 for certain discrete optimization variables in the MICP problem can be finely corrected by the iterative pre-solving method 435. Instead, since other predictions by the trained machine learning network 430 for certain discrete optimization variables in the MICP problem cannot be corrected by the iterative pre-solving method 435, the training error for the latter discrete optimization variables should be primarily minimized.

[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 deep neural network 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 RNN 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 deep neural network 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 shows a schematic diagram of an 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 is based on the recognition that it is required to generate more data samples with state values ​​whose positions are close to one or more obstacles 1001 in the environment 1011 of the controlled system. This allows explicitly minimizing the training loss in regions close to the obstacles 1001, where the optimal control solution may change fast and possibly discontinuously with respect to the initial state of the system. For this purpose, a multi-step sampling approach is implemented, where 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 uniform distribution, sparse grid, or hyper-uniform distribution sequences defined for the target state space. Among these initial samples, some samples are infeasible since they overlap with obstacles, and these infeasible samples 1023 are removed from the dataset since they do not contribute to the 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 concentrated sampler 1051. Some embodiments of the concentrated sampler 1051 are further described with reference to FIG.

[0144]

number

[0145] Another embodiment of the focused sampler includes 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, such 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 methods, and drawing samples from such a skewed distribution automatically focuses the samples near obstacles.

[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 iterative learning and batch selection, the collected data will contain parameter samples concentrated around the most informative regions of parameter space.

[0147] FIG. 11A shows a schematic diagram of an example of a binary control variable search tree representing a nested search space tree for an integer feasible solution of a MICP subproblem according to some embodiments of the present invention. FIG. 11A shows a schematic representation of a branch-and-bound method that can be used in an offline data generation step for training a machine learning based predictor to realize a MIMPC controller in 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 the MIOCP for a set of sampled values ​​for the problem parameters. 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 partition corresponding to a particular 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 an integer-feasible optimal solution of 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 realize 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) the branch search tree information and information of the MICP solution from the previous iteration 1160 to generate a warm start initialization for the current control time step. The main objective of the optimization algorithm is to construct a lower bound and an upper bound for the objective value of the MICP solution. In step 1111, if the gap between the lower bound and the upper bound 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 larger 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 1115 for a mixed integer optimal control solution of the MICP for the set of sampled problem parameter values. 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 fixes based on a pre-solution branching technique 1115. After node selection, the corresponding integer relaxed convex problem is solved, with possible variable fixes 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 the MICP, then 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), then the global lower bound of 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 a 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 realized using a last-in-first-out (LIFO) buffer. The next node to be solved is selected as one of the children of the current node, and this process is repeated until the node is pruned, i.e., until it becomes infeasible, optimal, or dominated by a currently known upper bound, followed by a backtracking procedure. Instead, some embodiments are based on a branch-and-bound method using a best-first approach, which selects the node that currently has the smallest local lower bound. Some embodiments employ a combination of the 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 to allow early pruning (depth-first), and then perform a more greedy search for better feasible solutions (best-first).

[0156] The branch and bound method continues to iterate 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 have been pruned such that no new nodes can 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, the 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 the 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 may 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 the sensors 1204 include distance range finders, radar, lidar, and cameras. The vehicle 1201 may also include one or more sensors 1205 for sensing its current amount of motion and internal status. Examples of the 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 include a transceiver 1206 that enables the communication functions of the controller 1202 through wired or wireless communication channels.

[0159] 12B illustrates 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 1220, 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, where the inputs to the vehicle 1201 include one or a combination of the vehicle 1201 acceleration, the vehicle 1201 engine torque, the brake torque, and the 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 the principles of some embodiments. Moreover, FIG. 12C shows a schematic diagram of a controlled autonomous or semi-autonomous vehicle 1250 for which a dynamically feasible and often optimal trajectory 1255 can be calculated by using an embodiment 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, i.e., these vehicles 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 side, or alternatively, to stay behind another vehicle in the current lane of the 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 a traffic of one or more controlled vehicles, referred to as ego-vehicle 1271, other vehicles, similarly indicated as 1272, a lane 1273, illustratively indicated as L6, a stop lane 1274, illustratively indicated as S1, and an intersection 1275, illustratively indicated as I3. For a vehicle at a position 1261 with a final destination 1262, the routing module provides a set of roads, indicated as arrow 1263, and a set of turns, indicated as arrow 1264. However, it should be noted that the set of roads 1263 and the set of turns 1264 do not themselves specify the trajectory or path of the vehicle. There are multiple discrete decisions to make, such as which lane to drive the vehicle in, whether the vehicle should change lanes or stay in the current lane, whether the vehicle should start to slow down to stop at 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 sequence 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 typically unknown to the routing module due to the uncertainty of traffic movement and the uncertainty of the moment the vehicle reaches its position. In some embodiments of the present disclosure, a motion plan can be calculated for one or more controlled ego-vehicles 1271 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 the principles of some embodiments of the present disclosure. More specifically, FIG. 13A and 13B show a spacecraft 1302 with multiple actuators, such as thrusters 1350 and momentum exchangers 1351. Examples of this type of momentum exchanger include reaction wheels (RW) and gyroscopes. The spacecraft 1302 is a vehicle, vessel, or machine designed to fly in space, whose movements change quantities such as the position of the spacecraft 1302, its velocity, and its attitude or orientation, depending on commands sent to the actuators. When commanded, the actuators apply forces to the spacecraft 1302, which increase or decrease the velocity of the spacecraft 1302, thus translating the position of the spacecraft 1302, and when commanded, the actuators also apply torques to the spacecraft 1302, which rotate the spacecraft 1302, thereby changing the attitude or orientation of the spacecraft. As used herein, the movement of the spacecraft 1302 is determined by the operation of actuators that determine the motion of the spacecraft 1302 to change such quantities.

[0163] The spacecraft 1302 flies through space along an open or closed orbital path 1360 around, between, or near one or more gravitational bodies, such as the 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 origin of the frame, i.e., the all-zero coordinates in that reference frame, is always the coordinate of the desired position.

[0164] The spacecraft 1302 is subject to various disturbance forces 1314. These disturbance forces may include forces that were not considered in determining the orbital path for the spacecraft 1302. These disturbance forces act on the spacecraft 1302 to move the spacecraft 1302 away from a 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, the spacecraft 1302 may be at a distance 1367 away from the target position.

[0165] Due to disturbance forces, it is not always possible to maintain spacecraft 1302 at a desired location 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 in shape, 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 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, which may result in disturbance torques that cause the spacecraft 1302 to rotate out of its desired orientation. To compensate for the disturbance torques, momentum exchange devices 1351, such as reaction wheels, may be used to absorb the disturbance torques, allowing the spacecraft to maintain its desired orientation.

[0167] To prevent the momentum exchange devices from becoming saturated and thereby losing their ability to compensate for disturbance torques, their stored momentum must be unloaded, for example by slowing down the spin rate of the reaction wheels. Unloading the momentum exchange devices imparts undesirable torques to the spacecraft 1302. Such 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, where the inputs to the spacecraft 1302 actuate one or a combination of thrusters and momentum exchange devices, and where 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, the spacecraft 1302 can be modeled as a hybrid system including both continuous and discrete computing elements, and the commands sent to the actuators are calculated using a mixed integer model predictive controller (MIMPC). For example, in some embodiments, the commands sent to the 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 the spacecraft 1302 outside a particular zone 1385 with specified dimensions near the desired location along the orbit. The 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 in 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 that is used to direct high pressure refrigerant exiting the compressor to either the outdoor unit heat exchanger or the indoor unit heat exchanger, and direct low pressure refrigerant returning from either the indoor unit heat exchanger or the outdoor unit heat exchanger to the inlet of the compressor. When high pressure refrigerant is directed to the outdoor unit heat exchanger, the outdoor unit heat exchanger acts as a condenser and the indoor unit acts as an evaporator, and the system rejects heat from the zone to the surrounding environment, which is referred to as a "cooling mode" of operation. Conversely, when high pressure refrigerant is directed to the indoor unit heat exchanger, the indoor unit heat exchanger acts as a condenser and the outdoor unit heat exchanger acts as an evaporator, taking heat from the surrounding environment and pumping this heat into the zone, which is referred to as a "heating mode" of operation.

[0173] FIG. 14B illustrates an example of a configuration of signals, sensors, and controllers used in the VCS 1400, according to some embodiments. The controller 1460 reads information from sensors 1470 configured to measure various temperatures, pressures, flow rates, or other information regarding the operation of the system, including measurable disturbances, such as ambient air temperature. The controller 1460 can be provided with setpoints 1466 that represent desired values ​​of 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 cause several measured outputs to be at their 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 such that the setpoints are achieved 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 valves and / or fans can only take on 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 rotation speed, expansion valve position, and backflow valve position, and where the 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 the VCS 1400 may change rapidly or even switch at some point in time 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 illustrates a method 1500 for controlling a system, according to an exemplary embodiment. The method includes, at step 1501, accepting feedback signals including measurements of problem parameters, e.g., including a state of the system and / or a state of an environment of the system. The method includes, at 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 (MICP) problem. At step 1505, controlling the system based on the control signals to change the state of the system.

[0178] The above-described embodiments of the invention may be implemented in any of numerous ways. For example, the 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 in one computer or distributed across multiple computers. Such multiple processors may be implemented as an integrated circuit, where one or more processors are within an integrated circuit component. However, a processor may be implemented using circuitry in any suitable format.

[0179] Also, the various methods or processes outlined herein may be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. In addition, 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 invention may be embodied as a method, an example of which is provided. The order of operations performed as part of the 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] Although 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. It is therefore the object of the following claims to cover all such variations and modifications which 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 a predicted value 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 ​​that are uniquely defined by the fixed values ​​of the first subset of discrete variables and the constraints; converting the MICP into 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 feasible motion trajectories for performing the task defined by the parameters; and commanding the device to change the state in accordance with 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, and the controller performs the pre-solved-based refinement for each candidate discrete solution to convert the MICP into a multiple CP problem and determine a multiple motion trajectories, and the controller is further configured to select the feasible motion trajectory from the multiple motion trajectories for performing the task.

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 ​​of 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 a time step or multiple consecutive time steps within the prediction time horizon, and the probability for each set of fixed values ​​of the discrete variables in a discrete optimizer set at a time step or multiple consecutive time steps within the prediction time horizon is equal to the probability of being 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 a time step or multiple consecutive time steps within the prediction time horizon of the MICP for performing the task defined by the 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 functions to nearest integer feasible candidate solutions.

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 candidate solutions in parallel to find the feasible motion trajectory.

11. To perform the pre-solve-based modification, 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 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 back-up control solution to cause a change in said state of said device; Otherwise, if values ​​of all discrete variables are fixed, the CP problem subject to the constraints is solved to generate the feasible motion trajectory.

12. The pre-solving based revision iterations consist of one or more single pre-solving steps, each single pre-solving step being an iterative procedure that performs one or more iterations until a termination condition is met, each iteration of the single pre-solving step comprising one or a combination of pre-solving operations, the pre-solving 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 the problem parameters; detection and removal of redundant inequality constraints and dual fixing of continuous and / or discrete optimization variables based on a cost function and based on equality and inequality constraints in said MICP; and augmenting an inequality constraint coefficient to replace one or more inequality constraints with one or more governing inequality constraints, the governing inequality constraints being capable of reducing a feasible search space of a relaxation problem without eliminating integer feasible solutions of the MICP, the pre-solving operation further comprising:

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 adjusted 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 augmentation 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 said cost function and based on equality and inequality constraints in said block-structured MIOCP, and dual fixing of continuous and / or discrete optimization variables; augmenting the 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 the prediction time horizon of the MICP, and wherein sequential evaluation of the RNN results in predicted values ​​of 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 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 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, e.g., using a branch-and-bound (B&B) optimization method combined with one or more adjusted block-sparse pre-solving operations that exploit block-structured sparsity of a mixed integer optimal control problem (MIOCP) for performing the task defined by the parameters.

18. 2. A hybrid dynamic system including a controller as claimed in 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. 2. The controller of claim 1, 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 future optimal 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, and 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 the 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 the 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 fan speed, outdoor fan speed, compressor rotation speed, expansion valve position, and backflow valve position, and 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 fans, and the problem parameters of the task may include a current state of the vapor compression system, a target state or goal state, one or more operating limits, one or more weight values ​​in an objective function, and / or one or more boundary values ​​in a mixed-integer inequality constraint of an MICP.

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