访问目标函数 Gekko 外部函数中的决策变量值

2024-01-08

我需要访问目标函数之外的决策变量。我有以下内容。

tc_var = {}
for index in index_f_a:
    tc_var[index] = m.Var(value=25, name='tc_var_{}'.format(index), lb=15, ub=45, integer=False)

def k1(i, z, j, a):
    a_dif = tce[(i, z, j, a)] - tc_var[(i, j)].VALUE
    return a_dif if a_dif > 0 else 0


m.Minimize(m.sum([k1(i, z, j, a)*KCA for i, z, j, a in index_f_h_a_v]))

在另一个问题中,有人告诉我们在目标中使用 .value 仅使用初始值。我怎样才能以正确的方式做到这一点(访问价值决策)?

谢谢。

如果我不使用 .value,则会出现以下错误:

解决了

def k1(i, z, j, a):
    d = m.Var(lb=0)
    s = m.Var(lb=0)
    m.Minimize(1e-3*s)
    m.Equation(d == (tce[(i, z, j, a)] - tc_var[(i, j)])*KCA + s)
    return d

m.Minimize(
m.sum([k1(i, z, j, a) for i, z, j, a in index_f_h_a_v]))

对于条件语句,请使用m.if3()函数如:

def k1(i, z, j, a):
    d = m.Intermediate(tce[(i, z, j, a)] - tc_var[(i, j)])
    a_dif = m.if3(d,0,d)
    return a_dif

这添加了一个二元决策变量,因此APOPT解算器(m.options.SOLVER=1)必须用于求解混合整数解。如果有许多二元决策变量,则求解可能需要更长的时间。另一种方法是使用松弛变量s以便d保持积极的态度,例如:

def k1(i, z, j, a):
    d = m.Var(lb=0)
    s = m.Var(lb=0)
    m.Minimize(1e-3*s)
    m.Equation(d==tce[(i, z, j, a)] - tc_var[(i, j)]+s)
    return d

这种方法的问题在于最小化s可能会干扰其他竞争目标。这1e-3可以通过调整来调整优化问题。

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

访问目标函数 Gekko 外部函数中的决策变量值 的相关文章

  • 如何使用 NumPy 的广播来加速相关性计算?

    我正在尝试利用NumPy 广播 https docs scipy org doc numpy user basics broadcasting html和后端数组计算可显着加快此功能 不幸的是 它的扩展性不太好 所以我希望能够大大提高它的性
  • 在 .NET 中,mystring.Length == 0 或 mystring == string.Empty 哪个最好? [复制]

    这个问题在这里已经有答案了 可能的重复 检查字符串内容 字符串长度与空字符串 https stackoverflow com questions 10230 checking for string contents string lengt
  • 在现代复杂游戏中实现成就系统

    如今创建的许多游戏都带有自己的成就系统 奖励玩家 用户完成某些任务 stackoverflow 上的徽章系统是完全相同的 但有一些问题我无法找到好的解决方案 成就系统必须始终留意某些事件 想想一款提供 20 到 30 个成就的游戏 例如 战
  • 如何用 numpy 在 Cython 中表示 inf 或 -inf ?

    我正在用 cython 逐个元素构建一个数组 我想存储常量np inf or 1 np inf 在某些条目中 然而 这将需要返回 Python 进行查找的开销inf 有没有libc math相当于这个常数 或者其他一些可以轻松使用的值 相当
  • 优化 Web 应用程序开发策略

    如今 许多网络应用程序正在使用它们自己无法使用的 API 或代码 并且通常使用效率低下 我想到了一些谷歌地图混搭 对于 php asp 后端 HTML javascript 尤其是现在所有的 AJAX 存在许多潜在的瓶颈 问题 低效率和双重
  • 为什么在比较范围内的数字时会在汇编代码中发生分支?

    我正在读书this https stackoverflow com questions 17095324 fastest way in c to determine if an integer is between two integers
  • 使用 :first 优化 jQuery 选择器

    我有过这样的感觉 class first 运行速度比 class 所以任何时候我都知道只有一个 class在子集中 我已经使用了它 Does first使查询运行得更快 还是没有必要 这实际上取决于浏览器 first http api jq
  • C++ 中的编译器指令重新排序优化(以及阻碍它们的因素)

    我已将代码缩减为以下内容 这在保留我感兴趣的编译器输出的同时 尽可能简单 void foo const uint64 t used uint64 t ar 100 for int i 0 i lt 100 i ar i some globa
  • 了解 Tensorflow 中的 while 循环

    我正在使用用于 Tensorflow 的 Python API https www tensorflow org api docs python 我正在努力实施罗森布罗克函数 https www sfu ca ssurjano rosen
  • 读取 CSV 文件单列的更快方法

    我正在尝试阅读一个列CSV文件至R尽快 我希望将标准方法将列放入 RAM 所需的时间减少 10 倍 我的动机是什么 我有两个文件 一个叫Main csv这是 300000 行和 500 列 其中一个称为Second csv即 300000
  • 预取双类成员需要转换为 char*?

    我有一个正在使用的课程 mm prefetch 预先请求包含 double 类型的类成员的缓存行 class MyClass double getDouble return dbl other members double dbl othe
  • 使用 PuLP 进行线性优化,变量附加条件

    我必须用 Pull 解决 Python 中的整数线性优化问题 我解决了基本问题 现在我必须添加额外的约束 有人可以帮助我用逻辑指示器添加条件吗 逻辑限制是 如果 A gt 20 则 B gt 5 这是我的代码 from pulp impor
  • 在 Ruby 中构建字符串时,为什么铲运算符 (<<) 优于加等于 (+=)?

    我正在通过 Ruby Koans 进行工作 The test the shovel operator modifies the original string公案中about strings rb包括以下评论 Ruby 程序员倾向于使用铲子
  • 如何分析Android应用程序的电池使用情况并对其进行优化?

    我想分析我的应用程序的电池使用情况 我的意思是应用程序的各个部分 例如 广播接收器 监听器 服务等 使用多少电池 我需要一个详细的列表 从列表中 我想优化电池的使用 方法与使用内存分析器类似 http android developers
  • Scipy 最小化 fmin - 语法问题

    我有一个函数 它接受多个参数 一个数组和两个浮点数 并返回一个标量 浮点数 现在我想通过改变两个参数来最小化这个函数 两个浮点数 该数组在函数内部 解包 然后使用其内容 数组和浮点数 如何使用 SciPy 的 fmin 函数来完成此操作 我
  • 初始化 HashMap 的最佳方法

    我通常会这样做 HashMap
  • 使用 lpSolve 优化 R 团队名单

    我是 R 新手 有一个想要解决的特定幻想运动队优化问题 我见过其他帖子使用 lpSolve 来解决类似的问题 但我似乎无法理解代码 下面的示例数据表 每个球员都在一个球队中 扮演着特定的角色 有薪水 并且每场比赛都有平均得分 我需要的限制是
  • 澄清创建临时表的连接顺序

    我在 mysql 中有一个大型查询 涉及将多个表连接在一起 它太慢了 所以我做了 解释 发现它正在创建一个临时表 我怀疑它占用了大部分执行时间 我找到了一些相关资料 mysql 文档 http dev mysql com doc refma
  • 优化mysql中日期类型字段的查询

    我目前准备了以下查询 select sum amount as total from incomes where YEAR date 2019 and MONTH date 07 and incomes deleted at is null
  • 确定向量中是否存在元素的最有效方法

    我有几种算法取决于确定元素是否存在于向量中的效率 在我看来 这 in 这相当于is element 应该是最有效的 因为它只返回一个布尔值 在测试了几种方法之后 令我惊讶的是 这些方法是迄今为止效率最低的 以下是我的分析 随着向量大小的增加

随机推荐

  • read.csv 在 R 中警告“EOF 在引用的字符串中”,但在 EXCEL 中成功读取

    我尝试读取从下载的 csv 文件here https d396qusza40orc cloudfront net repdata 2Fdata 2FStormData csv bz2 我用下面的代码阅读 storm data read cs
  • 网络爬虫的典型礼貌因素?

    网络爬虫的典型礼貌因素是什么 除了始终遵守robot txt 禁止 和非标准 抓取延迟 但是 如果站点没有指定显式的抓取延迟 则默认值应该设置为多少 我们使用的算法是 If we are blocked by robots txt Make
  • RazorEngine 中的 using-Statement(没有 MVC 中的 HtmlHelper)

    我使用的是 RazorEngine 没有 MVC 框架 这意味着我没有用于创建模板的 HtmlHelper 没关系 反正我不需要它的任何方法 但我需要创建自己的方法 例如 BeginForm 现在这些都是用 HtmlHelper ViewC
  • 在 Chrome 上将 drawImage 与 Canvas 结合使用非常慢

    我一直在尝试使用drawImage 将SVG 文件的大量实例绘制到画布上 通过使用 SVG 作为源创建单个图像元素 然后对画布上的每个实例使用 drawImage 我希望即使有大量实例也可以非常快速地在画布中生成合成图像 就性能而言 这在
  • nt!KeWaitForSingleObject 不带参数

    我目前正在尝试调试系统死锁 但我很难理解这一点 Child SP RetAddr Args to Child Call Site fffff880 035cb760 fffff800 02ecef72 00000000 00000002 f
  • C++ SQL数据库比较[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 合并特定日期范围内的 Pandas DataFrame

    我有 2 个数据框 一个为Invoice Data另一个用于Promotion Dates Invoice Data数据框 LocationNo InvoiceDate InvoiceAmount A 01 Jul 20 79 B 01 J
  • 在 Firefox 中的新选项卡中打开链接

    我正在开发一个 Firefox 扩展 如何才能在新标签页中打开网页上的所有链接 这通常是 Firefox 中处理新链接的可配置选项 因此它们可能会用它覆盖您的扩展 然而 The code a href http www example co
  • Django自递归外键过滤器查询所有子项

    我有一个带有自引用外键关系的模型 class Person TimeStampedModel name models CharField max length 32 parent models ForeignKey self null Tr
  • ios UIImage 超出 UIImageView 边框

    这里黑色边框显示 UIImageView 的父 UIView 红色边框显示 UIImageView 我正在从服务器下载图像 但图像超出了 UIImageView 区域 如图所示 我正在以编程方式进行此操作 任何帮助将不胜感激 我在下面添加代
  • C# FTP,如何检查路径是文件还是目录?

    我有一个包含一些 FTP 路径的数组 如下所示 ftp ip 目录 目录1 ftp ip 目录 目录2 ftp ip 目录 文件 txt ftp ip 目录 directory3 ftp ip 目录 another file csv 如何确
  • 标准 C 中是否有推荐的整数类型来存储函数指针

    C99标准有uintptr t 一个推荐的整数类型 用于将数据指针 指向对象的指针 转换为 但我没有找到等效的整数类型来存储函数指针 是我忽略了吗 特定的编译器可以定义这样的类型 即使它不在标准中 但编译器更有可能声明函数指针可以存储在 例
  • 圆形鱼眼图像扭曲为平面图像

    截至 2015 年 11 月 12 日更新 我将 PanoTools 插件与 Photoshop 和 Hugin 一起使用 并使用了所有这些参数 最终我找到了满足我最低要求的投影 HFOV 和图像输出尺寸参数 参数 Processed Ou
  • ActiveX (COM) 控件在被其父控件关闭时进行清理的正确方法是什么?

    我遇到的问题是 我的 net 控件在包装以供 ActiveX 使用时无法正确清理 当我尝试关闭 SDK 的测试容器应用程序 TstCon32 exe 时 默认行为会使它作为无 GUI 进程运行 我最初通过谷歌找到的解决方法是覆盖 WndPr
  • 在 Ruby 中反转哈希值

    我如何反转哈希中的元素 保持相同的值和键 但反转它们在哈希中的顺序 Like so 4 gt happiness 10 gt cool lala gt 54 1 gt spider 并将其转换为 1 gt spider lala gt 54
  • PHP 在文本区域中回显时显示 \r\n 字符

    我的数据正在读取从数据库 文本 保存的数据 我的问题是它也有这些字符 r n 我怎样才能阻止这些字符的显示 在将数据库文本放入文本区域之前 调用 nl2br 函数作为参数 r n 字符是 ASCII 不可见 字符 编码回车和换行 http
  • Android 主屏幕小部件(图标、标签 - 样式)

    我正在尝试创建一个可以放置在 Android 主屏幕上的图标 小部件 1 个单元 x 1 个单元 该小部件的外观和行为与 Android 中的其他标准快捷方式完全相同 它将有一个图标 在该标签下有一个标签 可以使用轨迹球 可突出显示 选择它
  • Web 应用程序和 API 在同一个 Laravel 项目中?

    我正在尝试找出构建我即将开始的新项目的最佳方法 我们目前有一个网络应用程序和一个移动应用程序 它们都通过 API 提供数据 目前 Web 应用程序是在安装 CodeIgniter 时完成的 而 API 是在单独安装 CodeIgniter
  • webview 从输入字段打开相机,无需文件选择器

    我的个人应用程序快完成了 就是按下输入字段 用相机拍照并将其上传到外部php服务器 最后一部分工作正常 我只是无法让它按照我想要的方式工作 当我按下网络视图 外部源 中的输入字段时 我会看到名为 图像选择器 的菜单 其中包含选项 相机和文档
  • 访问目标函数 Gekko 外部函数中的决策变量值

    我需要访问目标函数之外的决策变量 我有以下内容 tc var for index in index f a tc var index m Var value 25 name tc var format index lb 15 ub 45 i