gpt4 book ai didi

gekko - 在 python 中运行 APMonitor nlc 示例时出现 HTTP 错误

转载 作者:行者123 更新时间:2023-12-05 07:08:57 26 4
gpt4 key购买 nike

我一直对学习 MPC 控制很感兴趣,我想尝试在这里找到的 nlc python 示例:

http://apmonitor.com/wiki/index.php/Main/PythonApp

当我运行初始演示示例时,出现 HTTP 错误。我能够通过将 apm.py 文件中的“http”实例更改为“https”来运行演示示例,类似于此处发现的问题:

https://github.com/olivierhagolle/LANDSAT-Download/issues/33

我一直在尝试运行 nlc 示例,但我遇到了同样的错误(如下所示)。但是,将“http”的实例更改为“https”似乎不再有帮助。

*追溯(最近一次调用): 文件“C:\Users\veli95839\Documents\Python\Scripts\example_nlc\nlc.py”,第 88 行,位于 响应 = apm_meas(服务器、应用程序、x、值) 文件“C:\Users\veli95839\Documents\Python\Scripts\example_nlc\apm.py”,第 607 行,在 load_meas f = urllib.request.urlopen(url_base,params_en) 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第 222 行,在 urlopen 中 返回 opener.open(url, data, timeout) 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第 531 行,打开 响应 = meth(请求,响应) 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第 640 行,在 http_response 中 响应 = self.parent.error( 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第569行,错误 返回 self._call_chain(*args) 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第 502 行,在 _call_chain 中 结果 = func(args) 文件“C:\Users\veli95839\Documents\Python\lib\urllib\request.py”,第 649 行,在 http_error_default 引发 HTTPError(req.full_url,代码,消息,hdrs,fp)urllib.error.HTTPError:HTTP 错误 503:服务不可用

如果有人遇到过类似的问题,请告诉我!

谢谢,

克莱尔

最佳答案

如果您的计算机未连接到 Internet 或在您运行测试时服务器不可用,您可能会收到该错误。您可以安装 local APM server (for Windows or Linux)以避免任何中断。另一种选择是切换到 Python gekko它使用相同的底层 APM 引擎,但可以通过 remote=False 在本地运行。这里也是一样MPC example in Python gekko .

Python gekko MPC

from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt

m = GEKKO(remote=False)
m.time = np.linspace(0,20,41)

# Parameters
mass = 500
b = m.Param(value=50)
K = m.Param(value=0.8)

# Manipulated variable
p = m.MV(value=0, lb=0, ub=100)
p.STATUS = 1 # allow optimizer to change
p.DCOST = 0.1 # smooth out gas pedal movement
p.DMAX = 20 # slow down change of gas pedal

# Controlled Variable
v = m.CV(value=0)
v.STATUS = 1 # add the SP to the objective
m.options.CV_TYPE = 2 # squared error
v.SP = 40 # set point
v.TR_INIT = 1 # set point trajectory
v.TAU = 5 # time constant of trajectory

# Process model
m.Equation(mass*v.dt() == -v*b + K*b*p)

m.options.IMODE = 6 # control
m.solve(disp=False,GUI=True)

# get additional solution information
import json
with open(m.path+'//results.json') as f:
results = json.load(f)

plt.figure()
plt.subplot(2,1,1)
plt.plot(m.time,p.value,'b-',label='MV Optimized')
plt.legend()
plt.ylabel('Input')
plt.subplot(2,1,2)
plt.plot(m.time,results['v1.tr'],'k-',label='Reference Trajectory')
plt.plot(m.time,v.value,'r--',label='CV Response')
plt.ylabel('Output')
plt.xlabel('Time')
plt.legend(loc='best')
plt.show()

如果您想获得有关非线性或线性模型预测控制的 APM Python 或 gekko 的更多信息,请访问 series of tutorials with the Temperature Control Lab (TCLab) .

具有解决方案的高级控制实验室

  1. 数字孪生模型开发
    • 实验 A - 单加热器建模
    • 实验 B - 双加热器建模
  2. 具有参数和状态估计的机器学习
    • 实验 C - 参数估计
    • 实验 D - 经验模型估计
    • 实验 E - 混合模型估计
  3. 模型预测控制
    • 实验 F - 线性模型预测控制
    • Lab G - 非线性模型预测控制
    • 实验 H - 使用 MPC 进行移动地平线估计

这些练习教授如何进行第一性原理或经验建模、状态估计和预测控制。下面是来自 Lab H 的组合移动地平线估计和模型预测控制的示例。

MHE and MPC for the TCLab

关于gekko - 在 python 中运行 APMonitor nlc 示例时出现 HTTP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61784546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com