# 模型预测控制：随机打靶（Random Shooting）

> 来源：https://dqn.cn/tools/mpc-random-shooting ｜ 作者：DQN.CN 编辑部 ｜ 发布：2026-11-01 ｜ 更新：2026-11-01 ｜ 许可：CC BY-NC-SA 4.0（文字）/ MIT（代码）

> （此处为交互工具，请在网页中使用：https://dqn.cn/tools/mpc-random-shooting）

## 滚动时域

MPC 在每个时间步求解

$$
a_{t:t+H-1}^* = \arg\min_{a_{t:t+H-1}} \sum_{h=0}^{H-1} c(s_{t+h}, a_{t+h}), \quad s_{t+h+1} = f(s_{t+h}, a_{t+h})
$$

然后只执行 $a_t^*$，到下一个状态再重新求解。随机打靶用最朴素的办法求这个优化：随机猜 N 个答案，挑最好的。

## 可以试试

- N = 10：轨迹抖动明显，有时会擦到障碍物。
- H = 3：看不到障碍物后面的目标，会贴着障碍物走。
- 点“同等计算量对比”：同样 200 条样本，CEM 通常更快到达。

## 相关教程

- [模型预测控制](https://dqn.cn/advanced/mpc)
- [全部交互工具](https://dqn.cn/tools/)
