我尝试使用scipy.optimze.minimize求解器(内德-米德)来优化壁虎模拟的参数。 这到底有没有可能? 我的想法是将GEKKO对象交给求解器,但这导致了一个错误: TypeError: float() argument must be a string or a number, not 'GEKKO' 但是如果不交出对象,我就无法启动GEKKO解算器。 附件是一个简单的代码版本,什么都不做,这是有意义的,只是为了技术上的理解,也许还会显示我所做的错误。 from scipy.optimize import minimize
from numpy.random i
我正在尝试建立这个生理模型。我想模拟运动员的恢复,这类似于电动汽车的充电状态。我不确定如何限制100%的SoC。 我遇到的问题是,这个问题变得非常大,因为我需要获取以前的Soc来测量当前的SoC。此外,我不确定如何对放电速率与充电速率不同的事实进行建模。谢谢 #discharging
W'Exp = (P - CP) * dt
soc = soc - W'Exp
#If the Power for the data point is below CP or CV, W' is re
我的优化模型有效,但是主变量(Pre)的初始值不同,它给出了不同的答案!不是最理想的!但这应该有一个答案。我不明白为什么!
try:
from pip import main as pipmain
except:
from pip._internal import main as pipmain
pipmain(['install','gekko'])
from gekko import GEKKO
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
在GLPK中,是否可以将解决方案扩展到多个相等的成本变量? 假设我在myprog中有这段代码: from pymprog import *
begin()
loads = var('loads', 3)
load_cost = par('load_cost', [10, 10, 10])
sum (loads[i] for i in range(len(loads))) >= 200
for i in range(len(loads)) :
loads[i] <= 100
minimize (sum (load_cost[i] *
我试过这段代码,但似乎出了问题。Normaly (z.value)必须返回一个数字,但在我的示例中,它返回一个数组。有人能帮忙吗?
from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt
xm = np.array([0,1,2,3,4,5])
ym = np.array([0.1,0.2,0.3,0.5,0.8,2.0])
m = GEKKO()
x = m.Param(value=xm)
a = m.FV()
a.STATUS=1
y = m.CV(value=ym)
y.FSTATUS=1
z
我在gekko-python中定义max函数时遇到了问题。
sum函数运行良好,但当我创建另一个函数时,只需将sum替换为max,然后抛出以下错误:
这是我使用的脚本的描述(包括模型、一些数据和结果)
#Model
import numpy as np
from gekko import GEKKO
import numpy as np
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
m = GEKKO() # Initialize gekko
m.options.SOLVER
我正在尝试安装,但得到以下错误:
node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v48-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.13 and node@6.9.4 (node-v48 ABI) (falling back to source compile with node-gyp)
C:\Us
我有这个简单的产品组合线性规划,Pulp和Gekko的结果有很大的不同,,,但是结果都是,都是有效的。
我想知道为什么和如何使用两个求解器得到完全相同的结果?
有一个简单的产品组合示例:
假设x1是汽车玩具1的数量,x2是汽车玩具2的数量( ->决策变量)。
汽车玩具1价格为2美元,汽车玩具2价格为1美元( ->目标函数)。
约束1是以小时表示的工作时间限制,约束2是以单位表示的零件库存限制。
我想知道哪辆汽车要制造,以使我的利润最大化,受这两方面的限制。
# Import
from gekko import GEKKO
# Local server used
m = GEKKO
我正在做天气数据模拟,在四个变量中有四个方程。还有许多其他的参数,但它们的价值是提供的。我正在使用GEKKO优化器并得到这个错误。我对编程很陌生。请帮帮忙。我已尽力提供尽可能多的资料。
# all libraries
from scipy.integrate import quad
import numpy as np
# all input parameters are as below
h = 1000 # height of air slab in meters
ps = 100000 # surface presuure in pascals
ph = 88000 # pressure
我有一个非线性系统,它有二次输入(操纵变量,MV)。为了使用GEKKO对该系统进行MPC模拟,我定义了以下函数来处理二次输入: def NTVin(T, u):
n = T.shape[0]
Tntv = zeros(n)
u2 = zeros_like(u, dtype = float64)
for i in range(len(u2)):
u2[i] = copy(u[i].VALUE)
for i in range(n):
Tntv[i] = dot(dot(u2, T[i,:,:]), u2)
retu
这是关于一个正确的编程模型,因为它有时会给出解决方案,但有时(即使是简单的优化问题)我也会遇到目录问题。 from gekko import GEKKO
m = GEKKO()
x = m.Var()
y = m.Var()
m.Equations([3*x+2*y==1, x+2*y==0])
m.solve(disp=False)
print(x.value,y.value) 打印的错误消息为: Error: 'results.json' not found. Check above f
我试图通过限制我想要使用的非零变量的数量来优化这个方程。x,z,w继续返回为0数字 from gekko import GEKKO
m = GEKKO()
# creates the variables
x = m.sos1([0,2])
z = m.sos1([0,3])
w = m.sos1([0,4])
# use sign2 to define a new variable
y = m.sign2(x)
t = m.sign2(z)
v = m.sign2(w)
# Equation
m.Equation(y+t+v<=2)
m.Equation(x+z+w>=5)
#o
我计划使用GEKKO来解决一个动态生产调度问题,该问题涉及到供应、过程、消耗过程流以及若干步骤之间的延迟(存储)。我想把地平线上的目标最大化。然而,在某些时间步骤中,对某些单元操作的处理能力可能有预定义的限制.虽然我可以使用fix(var,val,pos)函数在pos中完全修复变量,但是在UPPER端约束它更好地表示了我想要完成的任务,并且在某些场景中可能会产生不同的解决方案。
下面是一些玩具问题代码,这些代码还不包含动态):
"""
Simple toy problem to test flexibillity of limiting MV's at cert