我正在寻找最佳算法来优化同时做出的决策,以便在合理的时间内找到快速的结果。simultaion 做了一些“滴答”,偶尔需要做出决定。最终达到目标状态。(如果您做出非常糟糕的决定,可能永远无法达到目标状态)
有许多许多目标状态。我想用最少的滴答声找到目标状态(一个滴答声大约相当于现实生活中的一秒。”我基本上想决定在尽可能短的时间内做出哪些决定来达到目标,
关于问题域的几点:
- 我可以立即产生一系列选择,这些选择将导致解决方案。它不会是最优的。
- 我有一个合理的启发式函数来确定什么是一个好的决定
- 我有一个合理的函数来确定从节点到目标的最小可能时间成本。
算法:
- 我需要处理这个问题大约 10 秒钟,然后给出我能给出的最佳答案。
- 我相信 A* 会为我找到最佳解决方案。问题是决策树太大了,我无法足够快地计算它。
- IDA* 会在 10 秒内给我很好的前几个选择,但我需要一条通向目标的路径。
目前我正在考虑从已知的非最佳目标路径开始,然后可能使用模拟退火并尝试在 10 秒内改进它。
什么是一个很好的算法来研究试图解决这类问题?