1

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

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

文件“C:\ProgramData\Anaconda3\lib\site-packages\gekko\gekko.py”,第 2024 行,在解决 raise ImportError('Results files not found. APM did not find a solution or the server is unreachable.')

ImportError:未找到结果文件。APM 未找到解决方案或服务器无法访问。

4

1 回答 1

2

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

默认情况下,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)服务器

如果您想在 Windows中设置 APMonitor本地服务器或在 Linux中设置本地服务器(例如在您的业务 LAN 上),那么您可以更改默认服务器位置并仍然运行remote=True但将服务器选项更改为本地服务器地址. 该地址127.0.0.1localhost如果您在运行 Gekko 客户端的同一台计算机上运行服务器。

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

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

3. 云计算(默认)

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

Gekko 计算模式总结

  1. 本地计算 (with remote=False)
  2. 边缘计算(本地局域网上的服务器server=address,,,remote=True
  3. 云计算(外部服务器,默认为remote=True
于 2019-08-23T16:16:35.467 回答