如何解决线性规划 - 问题 - Python Gekko
我最近在学习 Python Gekko,我对线性编程非常陌生,所以请原谅我对某些主题的无知。
我后来知道这叫做半连续变量。我的问题如下
- 是否可以将上述条件转化为线性方程
- 无论如何,Gekko 是否支持半连续变量,因为我在文档中找不到任何相关信息。
解决方法
您可以使用 if3()
函数来强制执行该约束。该函数使用二进制变量作为切换条件,因此它将问题从线性规划 (LP) 问题转换为混合整数线性规划 (MILP) 问题。
from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt
m = GEKKO()
p = m.Param(np.linspace(0,50))
y = m.if3(p-20,p)
m.options.IMODE=2
m.solve()
# plot solution
plt.plot(p.value,'r-',lw=3)
plt.plot(y.value,'b.-')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。