在非线性优化函数“nloptr”中传递参数

2023-12-23

我最初的问题可以在这里找到:具有任意约束的 R 优化 https://stackoverflow.com/questions/21611092/optimization-in-r-with-arbitrary-constraints/21612119#21612119

这引发了另一个问题:如何将参数传递给nloptr.
我需要最小化一个函数F(x,y,A) where xy 是向量并且A是一个矩阵,同时有约束sum(x * y) >= sum(y/3) and sum(x)=1。 我尝试过使用nloptr:

F <- function(x,y,A){
   ...
}

Gc <- function(x,y){
  return(sum(y/3) - sum(x*y))
} 

Hc <- function(x){
  retunr(1-sum(x))
}

nloptr(x0=rep(1/3,3), eval_f=F, lb = 0.05, ub = 1, eval_g_ineq = Gc, eval_g_eq = Hc, opts = list(), y=y, A=A)

我收到一个错误:'A' passed to (...) in 'nloptr' but this is not required in the eval_g_ineq function.

如果我说nloptr( ... , y, A)

I get:eval_f requires argument 'cov.mat' but this has not been passed to the 'nloptr' function.

任何建议都会很棒。谢谢


所以这里发生了几件事:

首先,目标函数,F,等式约束函数,Hc,以及不等式约束函数,Gc,所有人都必须采取相同的论点。所以通过x, y, A对于所有三个,并在不需要的地方忽略它们。

其次,你必须定义y and A某处...

第三,您必须指定要使用哪种算法。这样做与opts=list(algoritm=...)。事实证明,如果您 (a) 使用约束,并且 (b)not提供计算雅可比矩阵的函数,那么只有某些算法是合适的。在你的情况下opts=list(algorithm="NLOPT_GN_ISRES")似乎有效。

最后是默认的maxeval = 100事实证明这还不够。我必须将其设置为 100,000 才能收敛。

将所有这些放在一起,尽管有一个虚构的目标函数:

F <- function(x,y,A){  # made-up function
  # minimize scaled distance between points x and y
  sum((A[1]*x-A[2]*y)^2)
}
Gc <- function(x,y,A) return(sum(y/3) - sum(x*y))
Hc <- function(x,y,A) return(1-sum(x))

library(nloptr)
y= c(0,1,0)
A= c(10,1)
opt <- nloptr(x0=rep(1/3,3), eval_f=F, lb = rep(0.05,3), ub = rep(1,3), 
              eval_g_ineq = Gc, eval_g_eq = Hc, 
              opts = list(algorithm="NLOPT_GN_ISRES",maxeval=100000), y=y, A=A)
opt$solution
# [1] 0.2990463 0.4004237 0.3005300
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在非线性优化函数“nloptr”中传递参数 的相关文章

  • 将强化的 data.frame 转换回 sf 对象

    五十斯塔特包提供了一张很棒的美国地图 其中有夏威夷和阿拉斯加 如下图所示 对象五十 州已经得到加强 可以与 ggplot2 一起使用 但是 我想使用 geom sf 将其绘制为 sf 对象 作为一个更普遍的问题 将强化的 data fram
  • Rscript 正在绘制 PDF

    我有一个简单的R http en wikipedia org wiki R 28programming language 29脚本 当它通过 Rscript exe 运行时 默认情况下它会绘制为 PDF 文件 我希望脚本打开一个绘图窗口 我
  • 为什么 ggplot2 图例不结合手动填充和缩放值?

    预期行为 如果我用 ggplot2 创建一个绘图并使用单独的形状和填充比例来描绘数据 我希望图例会在 白色 填充点 看起来是空心的 和 黑色 填充点 看起来不空洞的 在下面的示例代码中 Windows 的图例项应为白色空心点 Linux 的
  • 如何在不指定数据集的情况下调整函数

    我有一个函数 基本上可以过滤SPV行 如下所示 请注意 我这样做return coef lt function df1 idd dmda CategoryChosse 然而 我不希望df1作为函数的参数 而是函数的属性df1数据集 在本例中
  • 循环遍历列并将字符串长度添加为新列

    我有一个包含多列的数据框 并且希望为每个列输出一个单独的列 其中包含每行的长度 我试图迭代列名称 并为每列输出一个附加有 length 的相应列 例如 col1 col2 将转到 col1 列2 col1 长度 列2 长度 我正在使用的代码
  • 在 R 中使用两个 for 循环创建矩阵/数据框

    这是我在 SO 上的第一篇文章 所以请友善 我的问题与这个问题隐约相关 R中的双for循环创建矩阵 https stackoverflow com questions 44376020 double for loop in r creati
  • lme4:如何指定 2 个与随机截距的相关性,而不添加随机斜率之间的相关性

    重新发布自stats stackexchange com https stats stackexchange com q 195385 33560 我试图在 R 的 lme4 包中指定一个模型 其中随机截距和随机斜率之间有 2 个相关性 但
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • 中断、保存并稍后继续循环的最佳方法

    事情是这样的 我有一个需要几天时间才能运行的循环 我想中断循环 检查进度 然后稍后继续 目前 我正在使用以下内容 for i in 1 100000 Sys sleep i 2 5 print i write csv i i csv 我检查
  • 替换为 NA

    我有一个包含条目的数据框 看来这些值没有被视为 NA 因为 is na 返回 FALSE 我想将这些值转换为 NA 但找不到方法 Use dfr dfr
  • 有没有办法将字母扩展到超过 26 个字符,例如 AA、AB、AC...?

    我大部分时间都使用字母来表示我的因素 但今天我尝试超过 26 个字符 LETTERS 1 32 期待有自动递归因式分解 AA AB AC 但很失望 这只是字母的限制还是有办法使用其他函数来获取我正在寻找的内容 702够吗 LETTERS70
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw
  • 添加不同的标签以在 ggplot R 中的堆积条形图中显示总计?

    我的问题有点类似 如何添加文本标签以显示ggplot中堆叠比例条的每个条中的总数n https stackoverflow com questions 65201095 how to add text label to show total
  • 两个闪亮的操作按钮

    我正在编写一个闪亮的函数 其中包含两个操作按钮 这两个按钮是左右按钮 单击时可以帮助绘图移动 第一次单击时 这两个按钮都工作正常 当我重新单击它们时 就会出现问题 无论我单击哪个按钮 它都会在两个范围之间来回弹跳 我猜可能是 右 和 左 按
  • 根据感兴趣的特定单词绘制高度相关的单词[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试绘制一个单词的最高相关性 例如 我想绘制 鲸鱼 一词的最高十个相关性的图表 有人可以帮我执行类似的命令吗 如果有帮助的话我已经安装
  • 是否可以在 R 中创建自定义 pch 形状?

    R 中的许多绘图函数都使用图形参数pch指定数据点的形状 根据R 文档 https www rdocumentation org packages graphics versions 3 6 2 topics points 有 26 个矢量
  • 根据第二个数据帧中的匹配创建新列

    如果有两个数据框 top3df http dpaste com 1709875 and qw qw lt structure list id structure 1 25 Label c w01 w02 w03 w04 w05 w06 w0
  • 如何对plot_ly()图表进行分面?

    Using ggplot2 and plotly制作交互式散点图facet wrap library ggplot2 library plotly g lt iris gt ggplot aes x Sepal Length y Sepal
  • 在 R 中高效加载稀疏矩阵

    我在将数据有效加载到 R 中的稀疏矩阵格式时遇到问题 这是我当前策略的 不完整 示例 library Matrix a1 Matrix 0 5000 100000 sparse T for i in 1 5000 a1 i idxOfCol

随机推荐

  • 代码顺序和性能

    我想找到哪个更快 结构与数组 因此 我编写了一段 GO 代码 其中将 4 个 int 值 1 2 3 和 4 写入结构体的成员 然后写入长度为 4 的数组 我试图找出写入所需的时间 Case1 首先 我将值写入结构体 然后写入数组 在这里我
  • 为什么顺风找不到我的动态类?

    所以我尝试根据对象数组动态加载类 div item name div 我检查了浏览器上的元素面板 类属性加载正确 但 css 没有 为什么会这样 任何帮助将不胜感激 Tailwind 生成一个仅包含项目中使用的类的 CSS 文件 它无法识别
  • 使用 pecl oauth 为 LTI Outcomes 服务构建主体签名的 oauth xml 请求

    我正在使用 pecl oAuth 库 是否可以构建一个如下所示的正文签名的 oauth 请求 POST http www imsglobal org developers BLTI service handle php HTTP 1 0 H
  • 真正最小的口齿不清

    要使一种语言成为图灵完备且是 lisp 变体 所需的最小原语集是什么 看起来像 car cdr 和一些流量控制以及 REPL 的东西就足够了 如果有这样的清单就好了 假设只有 3 种数据类型 整数 符号和列表 就像 picolisp 中一样
  • 在android studio中创建AVD时出错

    我是 android studio 的新手 我的问题是当我尝试创建 AVD 时它的显示 未知错误 有关详细信息 请参阅 idea log 我正在 Windows 8 上工作 删除目录 home android avd 中的所有文件和文件夹
  • 奇怪的 Python Selenium 按钮点击行为

    我试图点击的部分 ul class btns right li a href class expand all View All Cards a li ul 我想很简单 但我似乎错过了一些东西 问题现在在页面下方更新了一点 xpath 不是
  • Docker compose 将本地目录映射到 dockerfile 卷

    我正在使用 Apache MySql Docker compose 设置 这一切都很好 然而 由于这是本地开发 因此问题出现了 Web 容器指向本地文件夹 而我需要 Apache 拥有该文件夹的权限 Using RUN mkdir www
  • WordPress:WP_Query 如何应用自定义帖子类型的搜索条件

    我有一个自定义帖子类型 photo 并且需要使用各种条件搜索与标题或描述与搜索关键字匹配的照片 包含LIKE search term 以 开始LIKE search term 等等 我有以下查询 但这不会根据 search term 请指引
  • Cython nogil 与 ThreadPoolExecutor 没有提供加速

    我假设如果我使用 Cython 编写代码nogil指令 这确实会绕过 gil 我可以使用ThreadPoolExecutor使用多个核心 或者 更有可能的是 我在实施过程中搞砸了一些事情 但我似乎不知道是什么 我使用 Barnes Hut
  • 使用 React-leaflet version3 的传单地图上的自定义按钮

    我是 React typescript 的新传单学习者 想要在地图上创建自定义按钮 单击该按钮后 将出现一个弹出窗口 我看到了很多例子 但它们都是基于旧版本的 我也尝试创建自己的例子 但没有成功 该文档也没有提供太多帮助 即使是功能性自定义
  • 我应该为这个带有 websockets 的 web 应用程序使用什么解决方案。活动MQ?

    我目前正在开发一个网络应用程序 它需要一个 websocket 连接来接收来自服务器的事件通知 客户端被分成组 并且组中的所有客户端必须接收相同的事件通知 我认为 ActiveMQ 可能可以支持这种模型 为每组客户端使用不同的队列 使用 s
  • 将 Oracle 外连接转换为 SQL Server

    我在将此 Oracle SQL 转换为 SQL Server 时遇到问题 这是查询 SELECT CM ModuleID CM ModuleDescription CM ImageIndex CASE WHEN CMAC ClassID I
  • 使用 Android 意图共享图像

    我正在尝试通过这样的共享意图来共享图像 Intent sharingIntent new Intent android content Intent ACTION SEND sharingIntent setType image png s
  • 如何使用 Pandas 从一个文件读取多个数据集?

    我有一个文件 其中包含由行分隔的多组数据 它看起来像 country1 0 9 1 3 2 9 1 1 country2 4 1 3 1 0 2 我想使用 Pandas 将整个文件读入多个数据帧 其中每个数据帧对应一个国家 地区 有什么简单
  • 如何从BroadcastReceiver获取数据到Activity?

    我编写了 SMS 应用程序 并为其编写了 BroadcastReceiver 我想从 BroadcastReceiver 获取数据到我的 Activity 中 那么如何获取它 我的广播接收器代码如下 public class SmsRece
  • Rails - 根据用户选择动态设置 time_zone

    感谢您对我的新网站功能之一的帮助 这是关于动态时区 根据要求用户可以从一组预定义时区 例如 us zones 中进行选择 当用户选择区域时 整个站点应设置 更新为时区 然而 目前新的时区还没有更新到 Apache 中 并且时区的更新仅在服务
  • 如果 ID 为数字,Bootstrap 手风琴将无法工作

    将 Bootstrap 升级到 4 2 1 版本后出现问题 在这个版本中 当我使用id 12 in accordion它不起作用 在以前的版本中 它可以很好地使用id 12 有任何想法吗 div div class card div cla
  • wait 命令不会等待子进程完成 c cpp c++

    我正在尝试编写一个 C 程序 该程序创建一个子进程 运行一个命令并将输出通过管道返回到父进程正在运行的命令的输入 我让父级执行 wait NULL 或 wait void pid 命令 但它不等待 这是代码 include
  • 尝试了解 CanActivate 和 CanActivateChild 之间的区别

    所以 我试图通过使用警卫来保护通往几条路线的通道 我正在使用以下路线来执行此操作 const adminRoutes Routes path admin component AdminComponent canActivate AuthGu
  • 在非线性优化函数“nloptr”中传递参数

    我最初的问题可以在这里找到 具有任意约束的 R 优化 https stackoverflow com questions 21611092 optimization in r with arbitrary constraints 21612