1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
Local Solve Error withremote=False 您引用的錯(cuò)誤是因?yàn)榍蠼馄魑茨苷业浇鉀Q方案,或者因?yàn)槟?MacOS 上并且需要一些帶有g(shù)cc. 如果您使用的是 MacOS,請(qǐng)嘗試安裝gcc以獲取所需的共享庫(kù),如MacOS 上本地解決方案的 GitHub 問(wèn)題討論中所述。
brew install gcc
如果是求解器問(wèn)題,您可以在顯示求解器輸出時(shí)看到錯(cuò)誤消息:
m.solve(disp=True)
由于 IPOPT 中線性求解器的許可限制或您的本地可執(zhí)行文件沒(méi)有求解器之一,本地求解有時(shí)與遠(yuǎn)程服務(wù)器求解不同(例如,IPOPT 不適用于MacOS、ARM Linux 上的本地求解,或 x86-64 Linux)。如果請(qǐng)求的求解器選項(xiàng)不可用,則處理本地請(qǐng)求的apm可執(zhí)行文件會(huì)自動(dòng)恢復(fù)到下一個(gè)可用的求解器選項(xiàng)。您可以嘗試m.options.SOLVER=1將 APPOPT 或m.options.SOLVER=2BPOPT 作為不同的求解器。
1此外,如果要在求解器未成功找到解決方案時(shí)引發(fā)異常,則應(yīng)將調(diào)試級(jí)別保留為。否則,設(shè)置debug=0并使用m.options.APPSTATUS以確定求解器是否成功。
m.solve(disp=True,debug=0)
if m.options.APPSTATUS==0:
print('Solver failed to find a solution')
else:
print('Successful solution')
如果您可以發(fā)布一個(gè)顯示問(wèn)題的最小示例,我們可以提供有關(guān)讓您的程序在本地運(yùn)行的更具體的建議。
云計(jì)算與remote=True
公共服務(wù)器今天有幾個(gè)小時(shí)不可用,但現(xiàn)在已備份。由于 Gekko 的流行,服務(wù)器有時(shí)會(huì)因偶爾的維護(hù)活動(dòng)而超載或不可用。如果您想在云中托管自己的系統(tǒng)或作為專用服務(wù)器,專用 APMonitor 服務(wù)器可用作Linux的計(jì)算服務(wù)器或Windows的計(jì)算服務(wù)器。如果您確實(shí)創(chuàng)建了自己的服務(wù)器,請(qǐng)使用:
m = GEKKO(server='http://10.0.0.10',remote=True)
但替換10.0.0.10為服務(wù)器的 IP 地址。
添加回答
舉報(bào)