运行 remote = False on Windows 10 Pro 时出现 GEKKO 错误

GEKKO error when running remote = False on Windows 10 Pro

我遇到了以前在本地 运行 优化器时没有遇到过的错误。

问题:

我在 VS Code 中 运行 解决了我的优化问题,想取消执行,所以我在终端中使用了 ctrl+C window。在那之后,我无法在本地 运行 我的代码。该代码使用 remote = True 运行,但我想在本地 运行,我需要在 Win10 Pro OS 上 运行。我正在使用 Windows 10 Pro 和 python 3.7.4。我现在得到的错误是:

----------------------------------------------------------------
 APMonitor, Version 0.9.2
 APMonitor Optimization Suite
 ----------------------------------------------------------------


Error: At line 1187 of file custom.f90
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Operating system error: Not enough memory resources are available to process this command.

Memory allocation failed

Error: 'results.json' not found. Check above for additional error details

如何按照提示"compile with -ftrace=frame or -ftrace=full"?

我尝试过的:

-我已经为我的环境重新安装了所有 python 包。 -我完全删除了 python 并卸载了所有 pip 包。 -我已经安装了带有 Python 3.7.6 的 Anaconda 3 并重新安装了 gekko + 依赖项。 -我 运行 我的代码在 Ubuntu 机器上 运行ning 18.04,Anaconda3 和 Python 3.7.6 这可以 运行 在本地 m.GEKKO(远程=假)。

None 这对 windows 版本有帮助,我觉得代码应该没问题,因为它之前 运行 并且可以 运行 Linux 没有问题。

我想重申,我在 m.GEKKO(remote = True) 时没有收到此错误。所以我一定是毁了我机器上的东西?我的代码涉及一篇科学论文的实现,因此我不愿在这里分享代码。如果需要代码来重现错误,我可以通过安全通道将其发送给 gekko 开发人员。

如果您能帮助解决这个问题,我们将不胜感激。

此致, JL

即使您使用 Ctrl-C 停止了 Python 脚本,您之前的作业子进程可能仍 运行 在后台运行并在 运行 时消耗资源remote=False。如果您之前能够 运行 它,我建议您在后台使用 top 在命令终端检查 apm 是否 运行ning。您可以通过以下方式找到 apmPID

pidof apm

您可以终止(停止)具有 PID 标识符的进程,或者终止所有 apm 进程:

killall -9 apm

这应该释放 运行 下一份工作所需的资源(RAM,CPU)。 apm 可执行文件根据求解器和模型需要的内存量在 运行 时动态分配内存。如果您一直 运行 内存不足,那么我建议使用比 IPOPT(默认求解器)使用更少资源的 APOPT 求解器。您可以使用 m.options.SOLVER=1 切换到 APOPT。我不认为你对你的安装做了任何事情。如果磁盘 space 有问题,您可以清除 Gekko 问题所在的临时文件夹 m.path