“int '对象不可下标”

2024-04-02

我开始学习GEKKO。现在,我正在解决一个 knapsak 问题来学习,但是这次我收到错误“int 'object is not subscriptable”。你能看一下这段代码吗?问题的根源是什么 我应该如何定义 1.10 矩阵?

from gekko import GEKKO    
import numpy as np

m = GEKKO(remote=False)
x = m.Var((10),lb=0,ub=1,integer=True)
#x = m.Array(m.Var,(1,10),lb=0,ub=1,integer=True)
v=np.array([2, 2, 7, 8, 2, 1, 7, 9, 4, 10])
w=np.array([2, 2, 2, 2, 2, 1, 6, 7, 3, 3])
capacity=16

for j in range(10):
           m.Maximize(v[j]*x[j])

for i in range(10):
        m.Equation(m.sum(x[i]*w[i])<=capacity)

m.options.solver = 1
m.solve()
#print('Objective Function: ' + str(m.options.objfcnval))
print(x)

我的第二个问题是MATLAB中有一个名为“showproblem()”的函数。 GEKKO有这个功能吗?

感谢帮助。 根据答案的新问题。 我可以在这里写这种风格吗(不行,如果我能做到,请写工作风格)(我想写这种风格,因为我认为这种风格更容易理解。),

for i in range(10):
    xw = x[i]*w[i] 
    m.Equation(m.sum(xw)<=capacity)

而不是这个。

xw = [x[i]*w[i] for i in range(10)]
m.Equation(m.sum(xw)<=capacity)

这是解决 gekko 中混合整数问题的修改版本。

from gekko import GEKKO    
import numpy as np

m = GEKKO(remote=False)
x = m.Array(m.Var,10,lb=0,ub=1,integer=True)
v=np.array([2, 2, 7, 8, 2, 1, 7, 9, 4, 10])
w=np.array([2, 2, 2, 2, 2, 1, 6, 7, 3, 3])
capacity=16

for j in range(10):
    m.Maximize(v[j]*x[j])

xw = [x[i]*w[i] for i in range(10)]
m.Equation(m.sum(xw)<=capacity)

m.options.solver = 1
m.solve()
print('Objective Function: ' + str(-m.options.objfcnval))
print(x)

你的问题表述很接近。您只需要定义一个列表xw用于形成容量约束的。 如果您想使用循环而不是列表理解,那么我建议使用以下内容而不是xw = [x[i]*w[i] for i in range(10)].

xw = []
for i in range(10):
    xw.append(x[i]*w[i])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“int '对象不可下标” 的相关文章

随机推荐

  • Redux actions/reducers 与直接设置状态

    我是 Redux 新手 我无法理解操作和减速器与直接修改存储的组件的价值 在 Redux 中 您的 React 组件不会直接更改存储 相反 他们发送一个动作 有点像发布一条消息 然后 reducer 处理该操作 有点像消息订阅者 并更改状态
  • 如何让 Angular Material 图标在我的 Angular 应用程序中显示轮廓?

    我目前有
  • Microsoft SQL Server 数据工具包未正确加载

    我的 VS 2013 安装的所有内容似乎都工作正常 除非我右键单击服务器资源管理器中的表 我正在尝试使用数据工具来查看 MS SQL 数据库中的表 这是当我右键单击 VS 2013 时弹出的消息 The Microsoft SQL Serv
  • 在 MySQL 中选择随机行

    我正在开发一个测验网站 并且我有一个存储所有问题的数据库 有不同类型的测验 如数学 科学 历史等 所有问题都存储在一张表中 我的问题表如下所示 questions qno int type int question qno是主键 并且typ
  • 在 C# 中绘制视频

    我正在制作一个应用程序 允许用户应用某些工具来分析视频和图像 我需要帮助 了解如何在表单中加载到 Windows Media Player 的视频上实际绘制 写入并能够将其保存 它需要能够让用户徒手绘制并在其上绘制形状 提前致谢 克里斯 使
  • 如何根据最接近(或最近)的时间戳合并两个数据帧

    假设我有一个数据框 df1 其中包含 A 和 B 列 A 是时间戳列 例如 unixtime B 是某个值的列 假设我还有一个数据框 df2 其中包含 C 和 D 列 C 也是一个 unixtime 列 D 是包含一些其他值的列 我想模糊m
  • 如何从Nuget包中选择目标框架

    我正在使用 NuGet 包 其中包含 2 个目标框架的程序集 net45 和 netstandard1 5 我的项目针对的是net471 因此与netstandard1 5兼容 当我添加包时 它从 net45 文件夹复制 dll 如何强制
  • 如何在 Rails 3 中使用 AJAX 请求实现重定向响应?

    我有一个简单的场景 我想请求一个页面 请求格式为AJAX 如果该请求的控制器 操作逻辑中有一些错误 我想重定向到错误页面 问题是重定向不是 JavaScript 响应类型 所以我不确定它是否有效 如果没有错误 那么我希望通过适当的 Java
  • 属性的名称应该与其类型相同吗?

    我有时会看到这样写的代码 public class B1 public class B2 private B1 b1 public B1 B1 get return b1 set b1 value 即类 B2 有一个名为 B1 的属性 该属
  • APEX_MAIL.SEND 函数无法工作,尽管它没有给出任何错误

    必须从以下地址发送电子邮件oracle apex using APEX MAIL SEND 方法 我正在使用代码 BEGIN apex mail send p to gt email protected cdn cgi l email pr
  • 集合运算的复杂性

    这就是我正在做的 字符串一 某个字符串 字符串二 某个字符串 我想知道字符串中的所有字符one and two它们应该按第一串中的顺序排列 我编写了一个 Java 程序 它通过使用 Collections 对两个集合执行设置操作 我想知道执
  • 组件定义 React 中 Babel 语法错误

    我只是遵循这些解释 https babeljs io blog 2015 06 07 react on es6 plus https babeljs io blog 2015 06 07 react on es6 plus 其中提到 The
  • app.set('port', port) '类型错误:未定义不是函数'。初学者,需要思路

    我是一名业余爱好者 正在学习使用 Node js 进行构建 我一直在按照教程创建我的第一个 Node js 应用程序 它工作得很好 直到我输入 npm start 日志是 C node nodeteest3 bin www 16 TypeE
  • std::invoke 为什么不处理函数重载

    我正在尝试一些 C 17 功能并遇到了 std invoke 然后我尝试了这段代码 include
  • 动态数组占用的“真实”内存大小是多少?

    Example procedure Test var AText array of AnsiChar begin SetLength AText 7 end Question 的实际尺寸是多少AText占用内存 是7 其长度的基数大小 即7
  • PHP - session_unset 是否取消注册 $_SESSION 变量?

    Does session unset http php net manual en function session unset php取消注册所有 SESSION 变量 或者是否必须手动清除注册到 SESSION 数组中的每个变量unse
  • 使用命令式绑定时的 Azure Functions 测试

    到目前为止 我已经能够为 Azure Functions 设置单元测试 并且效果很好 然而 对于我当前的项目 我需要使用动态或命令式绑定 https learn microsoft com en us azure azure functio
  • SQL Server Management Studio 中的宏

    有没有办法在SSMS中实现文本编辑宏 我会 例如喜欢将代码转换为如下所示 但只需按键 而不是冗长的正则表达式搜索和替换 This INSERT INTO TABLE fieldOne fieldTwo VALUES
  • Learning Swift:顶层不允许使用表达式

    我正在学习斯威夫特 我遇到了一个无法解决的问题 import UIKit func helloword str String print str helloword say I use helloword say 但 Xcode 告诉我错误
  • “int '对象不可下标”

    我开始学习GEKKO 现在 我正在解决一个 knapsak 问题来学习 但是这次我收到错误 int object is not subscriptable 你能看一下这段代码吗 问题的根源是什么 我应该如何定义 1 10 矩阵 from g