循环时间越来越长

时间:2016-03-15 10:33:14

标签: excel vba excel-vba

我正在运行一个宏ProblemSetUp(),它使用Solver()迭代地调用第二个For loopProblemSetUp()宏读取工作表数据,根据迭代次数i选择正确的数据,并设置Solver()处理的优化问题。

每次迭代我都有相同的优化问题结构和属性(变量,参数,约束等);只有输入数据的值会发生变化。

由于某些无法解释的原因,随着我的增加,迭代会花费越来越多的时间。在需要相同(低)时间量的5-6次迭代之后,持续时间作为i的函数线性增加。

这显示在attached chart

我观察到Solver()总是需要或多或少相同的执行时间。但是,似乎从Solver()转换回ProblemSetUp()是问题,并导致处理时间增加。

当我主动点击正在运行的excel实例的屏幕时,如果宏等待"等待"对于下一次迭代 - 然后立即进行转换。这可以在附图中看到个人计算时间的下降。

如果用户必须积极帮助excel完成工作,那么实现流程自动化毫无意义。

我不知道这是从哪里来的。有关如何解决的猜测吗?

0 个答案:

没有答案