作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用我自己的遗传算法 (GA) 来解决混合整数问题:
https://mintoc.de/index.php/Batch_reactor
我可以在 GEKKO 中加入我的求解方法吗?
就像是...
m = GEKKO()
.
.
.
m.options.SOLVER = 'my_GA'
最佳答案
GEKKO 目前仅支持基于梯度的内置求解器。如果您打算使用遗传算法 (Chapter 6 for GA overview),您可以使用 GEKKO 运行函数评估,以在不同的试验条件下返回目标值。您需要输入 m.solve()
每一代 GA 都在循环中执行命令。在 GEKKO 中,您还需要使用 m.options.TIME_SHIFT=0
不更新初始条件。这将允许在您更改设计变量(例如 MintOC 中的 T(t))时进行重复评估,以找到最佳目标函数值(例如 MintOC 中的 x2(tf))。
m = GEKKO()
# define model
x2 = m.Var()
T = m.Param()
.
.
.
m.options.TIME_SHIFT=0
m.options.IMODE = 4 # or 7
# GA loop
for i in range(generations):
T.value = [values from GA]
m.solve()
obj = x2.value[-1] # objective
# additional GA steps to decide new T values
关于python-3.x - 如何在 GEKKO 中使用自己的求解方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55625617/
我是一名优秀的程序员,十分优秀!