GEKKO error when running remote = False on Windows 10 Pro

user3507910 :

I have encountered an error which I did not have before when running the optimizer locally.

The problem:

I was running my optimization problem in VS Code and wanted to cancel the execution, so I used ctrl+C in the terminal window. After that, I am unable to run my code locally. The code does run with remote = True, but I want to run locally and I need to run it on Win10 Pro OS. I am using Windows 10 Pro with python 3.7.4. The error I get now is:

----------------------------------------------------------------
 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

How do I "compile with -ftrace=frame or -ftrace=full" as is suggested?

What I have tried:

-I have reinstalled all python packages for my environment. -I removed python completely and uninstalled all pip packages. -I have installed Anaconda 3 with Python 3.7.6 and reinstalled gekko + dependencies. -I have ran my code on a Ubuntu machine running 18.04, Anaconda3 with Python 3.7.6 and this can run locally with m.GEKKO(remote = False).

None of this has helped for the windows version and I feel like the code should be fine, since it ran before and can run on Linux without issue.

I want to reiterate, I do NOT get this error with m.GEKKO(remote = True). So I must have ruined something on my machine? My code concerns implementation of a scientific paper and thus I hesitate to share the code here. If code is necessary to reproduce the error, I can send this via a secure channel to the gekko developers.

Would appreciate any help to resolve this.

Best regards, JL

John Hedengren :

Even though you stopped the Python script with Ctrl-C, your prior job sub-process may still be running in the background and consuming resources when running with remote=False. If you were able to run it previously, I recommend that you check if apm is running in the background with top at the command terminal. You can locate the PID of apm with:

pidof apm

You can either kill (stop) the process with the PID identifier or else kill all of the apm processes with:

killall -9 apm

This should release the resources (RAM, CPU) necessary to run your next job. The apm executable allocates memory dynamically at run-time based on how much the solver and model will need. If you are consistently running out of memory then I recommend the APOPT solver that uses fewer resources than IPOPT (default solver). You can switch to APOPT with m.options.SOLVER=1. I don't think you did anything to your installation. If disk space is an issue, you can clear out the temp folder m.path where the Gekko problem is staged.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=27759&siteId=1