0

让我看看我是否可以在没有图片的情况下充分描述这个问题。

假设我有两个变量都线性影响速度,a 和 b。随着 a 的增加,速度线性增加,反之亦然。b- 也是如此,随着它的增加,速度线性增加,反之亦然。现在假设已经确定了随时间变化的速度,并且是一个很好的平滑样条曲线,称为 v(t)。我们还知道给定时间 v = f(a,b),其中 f 是一些基本的线性函数,可根据 a 和 b 确定 v。最后,我们有一些成本函数 c(a,b,t),它定义了特定时间的成本以及 a 和 b 的值。

我要做的是绘制一个成本最小化样条曲线,其中每个点在特定时间确定 a 和 b,硬条件是 f(a,b,t) = v(t) 始终存在,并且我们试图最小化 c(a,b,t) 的软条件。如果您将其展平为二维,a 在一个轴上,b 在另一个轴上,在特定时间,您会看到为了满足硬约束,我们必须在 ab 平面中有一条线be on,但是我们应该在哪条线上放置一个点取决于成本函数。

如果成本函数很简单,这将是一个相对容易解决的问题——在每个 t 处,只需确定 a 和 b 以最小化成本,然后就可以完成。但是,成本可能会在保留边界处突然变化(例如,对于 t >= 5,a < 0.6 的成本会急剧增加),我希望我的样条能够预测到这一点并在我们到达 t = 之前开始增加 a 5、这样才能顺利进行。

对我来说,它崩溃的地方是我能找到的所有样条公式都需要 n 空间中的固定点。他们可能不会通过这些点,但他们确实需要它们。我的案例不需要样条通过 [a,b,t] 中的特定点,但确实需要它们通过特定 t 值的线(其余的是最小化)。有没有办法通过查看导数等将这个问题简化为基本样条问题?

本文描述了如何解决类似的问题,但它似乎要求样条曲线通过点而不是线进行最佳拟合。http://www.cs.berkeley.edu/~ravir/dspline.pdf

感谢您的任何帮助,您可以提供。

4

1 回答 1

0

可能我自己已经弄清楚了——因为我可以在任何时间点 t,给定 a,很容易解决 b,给定我知道 v(t),这将问题简化为只选择一个“a”来最小化 c(a ,b) 在任何给定的 t。我可以使用我当时提供的链接上的过程,通过选择一些离散点(只需找到每个这些点的绝对最小值)并让算法选择其余的。如果我事先知道这些成本的极端不连续点发生在哪里(我确实知道),我可以专门将点放置在那里的局部最小值处,以提示样条曲线提前开始转动。

不知道这对除了我自己以外的任何人是否有意义。享受。

于 2013-10-04T20:55:14.433 回答