我有一个音频处理应用程序,它接受输入音频文件,处理它,并吐出修改后的输出音频文件。这个音频处理应用程序有10-15个参数,影响它处理音频的方式,从而影响输出音频文件的内容(例如,它可能具有不同的频率响应,更响亮,更安静等)。所有这些参数都具有约束范围(例如,x0必须<1且> -1)。
输出音频文件由一个工具评估,该工具为其提供分数。此工具知道“理想”输出应该是什么样的,并相应地对输出文件进行评分。得分为1.0表示输出是理想的,即输入文件使用最佳可能的参数集进行处理。得分为0表示输出完全错误。
因此,10-15个参数及其有效范围,组合无穷无尽!我会坐在这里手动调整这些参数,直到我得到最好的解决方案。我已经检查了一些LP / MIP求解器(CBC,MS Solver Foundation,GKLP),但这些使用数学方程作为目标函数......就我所见,你不会“插入”外部评估函数
LP / MIP求解器是否是帮助参数调整的正确工具?有什么想法吗?
谢谢,
akevan
答案 0 :(得分:1)
你可以使用像模拟退火或遗传算法这样的通用启发式算法。您的评估过程将是健身/目标函数。
答案 1 :(得分:0)
如果你有目标函数,那么是LP将是理想的方法(并且会给出理想的答案);解决方案纯粹是分析性的。但是在缺少函数的情况下,您似乎正确地理解了问题变成了整数编程问题。我对整数编程知之甚少,但我相信这也是一个客观函数需要解决的问题。即使使用函数integer programs are NP-hard。
因此,您似乎需要使用蛮力来检测局部最大值,然后进行调整。我意识到这正是你不想做的事情,但这就是我想到的。
答案 2 :(得分:0)