使用 GEKKO 的无法访问的服务器。到底是怎么回事?

Unreachable server working with GEKKO. What is going on?

我正在尝试 运行/使用 GEKKO 求解我的模型。昨天它工作正常,但今天我收到服务器错误。

Pyomo 是否需要连接到服务器,或者我可以在没有服务器连接的情况下使用它建模?

File "C:\ProgramData\Anaconda3\lib\site-packages\gekko\gekko.py", line 2024, in solve raise ImportError('Results files not found. APM did not find a solution or the server is unreachable.')

ImportError: Results files not found. APM did not find a solution or the server is unreachable.

您收到错误消息是因为解决方案不成功,或者是因为服务器或与服务器的 Internet 连接不可靠。如果这是一个失败的解决方案,那么当您设置 disp=True 并解决 m.solve(disp=True) 时,您会看到一些诊断信息。如果是网络连接问题或者服务器问题那么你可以尝试切换到不依赖网络连接的本地模式。

默认情况下,Gekko 将问题发送到具有 64 个 CPU 和 64 GB RAM 的计算服务器。解决问题后,将解决方案发送回 Python 脚本并继续执行脚本。如果您想 运行 没有 Internet 连接,请在创建新模型时使用选项 remote=False

1.没有互联网连接的本地计算

m = GEKKO(remote=False)

本地可执行文件可用于 MacOS、Windows、Linux 和 Linux ARM(例如 Raspberry Pi),但求解器选项更有限。如果 Internet 连接有问题,本地选项更好。

2。局域网 (LAN) 服务器

如果你想设置一个 APMonitor local server in Windows or a local server in Linux(比如在你的企业局域网上),那么你可以更改默认服务器位置并且仍然 运行 和 remote=True 但是服务器选项更改为本地服务器地址。地址 127.0.0.1localhost 如果您 运行 在您 运行 连接 Gekko 客户端的同一台计算机上连接服务器。

m = GEKKO(remote=True,server='http://127.0.0.1')

Gekko 被设置为客户端/服务器配置,允许公司仅维护和升级有限数量的计算服务器。假设有 100 个应用程序 运行ning 在炼油厂或风电场的单个涡轮机中。每个 Gekko 应用程序客户端都驻留在操作单元中,但连接到计算服务器以求解和检索解决方案。如果 Gekko 计算服务器在中央系统上升级,那么所有应用程序都会自动使用最新版本。当不应在公司外部共享数据和模型时,需要本地选项。该模型已被 Gekko 混淆,但许多公司对在没有 NDA 的情况下发布专有信息有严格的规定。

3。云计算(默认)

使用远程选项(默认)的优点之一是有更多可用的求解器选项无法与本地服务器或本地可执行文件一起分发。

Gekko 计算模式总结

  1. 本地计算(remote=False
  2. 边缘计算(本地局域网上的服务器,server=addressremote=True
  3. 云计算(外部服务器,默认为remote=True