问题标签 [maximization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
33 浏览

list - 使用约束遍历 0、1 的列表

如果在某个地方得到了回答,我很抱歉,我尝试搜索,但我不知道这种问题是否有特定的名称,所以我的搜索中没有任何结果......

我有一个对象列表,这些对象中的每一个都可以被接受或拒绝。每个组合都分配了一个值,而某些组合无效。(例如,我们有 4 个对象,而对象 1 和 2 不在一起,那么每个接受对象 1 和 2 的组合都是无效的。)事先不知道哪些对象不在一起,它是仅通过查看对无法找到无效的。(例如,对象 1、2 可能一起有效,对象 2,3 有效,对象 1,3 有效,但 1,2,3 无效。)我将其建模为 0 和 1 的列表,所以现在我想遍历这些列表以一种有效的方式找到具有最大值的列表。

我的想法是像树一样遍历列表,从全零开始,然后在每一步中将零翻转为一,例如,对于 3 个对象,这给出了树

这实际上比仅列出所有 2^n 选项更糟糕,因为存在重复项,但是如果我发现它无效,我可以在每个节点处停止。保存无效的组合并保留所有已访问节点的列表,我可以确保我不会重新访问已检查的节点。(但如果他们已经被访问过,我仍然需要检查它们)

有没有更好的方法来做到这一点?

0 投票
0 回答
774 浏览

statistics - 计算正态单变量分布的 Fisher 信息矩阵

这是我发布的第一个问题,如果结构不完美,请原谅我!我一直在尝试了解 Fisher 信息,因此决定编写一个 python 脚本,该脚本为单变量正态分布的 mu 和 sigma 提供 MLE 估计。

当我假设我们知道 sigma 或 mu 时,代码给出了我所期望的,但是当我为这两个参数运行它时,我得到的 FI 矩阵与在此处输入图像描述的分析解决方案所期望的不同,此处为图像描述此处概述:https ://www.ii.pwr.edu.pl/~tomczak/PDF/[JMT]Fisher_inf.pdf

我打算用这段代码做的事情是更好地理解如何在更复杂的情况下计算 FI 矩阵,这就是为什么我从具有多个参数的最简单的情况开始。我相信问题可能出在我正在使用的功能上,但我不确定,因为我不完全理解它们。任何帮助都感激不尽!

此外,如果需要澄清,我感谢对问题结构的建设性批评!

我希望得到一些帮助以了解我为什么会出现这种行为,谢谢!这是代码:

0 投票
1 回答
110 浏览

dynamic-programming - 随着时间的推移,通过买卖土豆香料获得最大财富

假设我们有 10 美元的初始财富,我们想通过买卖土豆来赚钱,并且以一种神奇的方式,我们知道每种土豆香料每年每公斤的价格 ($)。找到最终最大财富或局部最大值的最佳算法是什么?

!!如果您有 15 美元的财富,并且您在一年内卖出了一些公斤并赚了 4 美元,那么您不能在同一年购买 19 美元的东西,他们是独立的,所以您应该有钱在卖之前买东西同一年的其他事情!

例如

起始财富:10美元

每年每公斤马铃薯香料的价格(美元):

  • 马铃薯香料 1 价格 ($) 每公斤:
    [5, 8, 7, 10, 12, 11, 14, 11, 10]

  • 马铃薯香料 2 价格 ($) 每公斤:
    [8, 8, 4, 5, 7, 15, 10, 12, 10]

  • 马铃薯香料 3 价格 ($) 每公斤:
    [4, 7, 5, 6, 10, 9, 11, 15, 11]

什么是一个好的解决方案?

可以通过以下路径生成简单的局部最大值:

  • 第一年:
    [从第一种香料购买 1 公斤(5 美元)]
    [从第三种香料购买 1.25 公斤(5 美元)]
  • 第 2 年:
    [第一种香料出售 1 公斤(8 美元)]
  • 第三年:
    [从第二种香料购买 2 公斤(8 美元)]
  • 第四年:没有
  • 第五年:没有
  • 第六年:没有
  • 第七年:没有
  • 第 8 年:
    [第三种香料销售 1.25 公斤(-15x1.25=18.75 美元)]
    [第二种香料销售 2 公斤(12x2=24 美元)]
  • 9年
    什么都没有

财富 42.75 美元(这是一个例子,肯定不是最大财富)

0 投票
0 回答
32 浏览

r - 使用最小观察范围识别数值向量中最频繁的观察

问题:

假设我有x某个距离(在 R 中)的观测值的数值向量。例如,它可能是许多人的投掷长度。

在此处输入图像描述

然后,我想定义一组S“选择器”(范围),它们尽可能多地选择我的观察结果,同时跨越尽可能小的距离(成本是 中范围的总和S)。每个选择器si范围必须至少为 3(其分辨率)。

例子:

在玩具数据中x,我可以放置s1[6;8] 中的第一个选择器,它将选择 4+2 个观测值(距离 7 和 8),使用 3 个距离并总共选择 6/15 个观测值([7;9] 将给出相同,但为简单起见,我将选择器中点置于最大频率)。接下来是添加s2[14;16](6 距离并选择 9/15)。总之,S将按照以下步骤构建:

  1. [6;8] (3, 6/15) #s1
  2. [6;8], [14;16] (6, 9/15) #s2
  3. [3;8], [14;16] (9, 12/15) #Extending s1(最便宜)
  4. [3;8], [12;16] (11, 13/15) #扩展s2
  5. [3;8], [12;16], [29;31], (14, 14/15) #s3
  6. [3;8], [12;20], [29;31], (18, 15/15) #扩展s2

当使用某个总距离(的总和S)或当某个部分的数据被 覆盖时,人们会停止迭代S。或者根据所覆盖的数据比例绘制总和S并从中做出决定。

对于非常庞大的数据(在 1,000,000 距离空间中的 100,000 次聚类观察),我可能会通过增加允许的最小步数(大于 1,也许尝试 100)和降低分辨率(大于 3,可以尝试也许1000)。

由于它相当于在density(x)最小化 x 的范围的同时最大化下面的区域,我的直觉是可以使用density()和 来近似描述的步骤(出于时间和内存考虑) optim()。也许它甚至是一个众所周知的最大化/最小化问题。

任何可以让我开始的建议将不胜感激。

0 投票
2 回答
288 浏览

python-3.x - 给定一个间距,找到数组中最大的数字总和

假设我们有一个包含一些数字的数组,并且我们得到一个值 d(其中 d >= 1),它指示某个所需的索引。我们如何找到以 d 为界的值的最大总和。这是一个例子:

将返回 4000 + 5000 = 9000(因为这两个数字之间至少有 3 的距离)。但在这种情况下:

将返回 4000 + 2500 + 5000 = 11500。

编辑:更多解释 - 我们需要在数组中找到最大可能的总和。唯一的技巧是我们不能包含小于 d 索引的数字。在第二个示例中,我们可以轻松地将所有数字相加以获得最大值,但由于我们以 d = 2 为界,我们必须选择一个数字不小于距离 2 的组合。另一个示例可能包括 3000 + 2500 + 5000 = 10500。如果您查看我的第二个解决方案 11500 > 10500,因此这不是最佳答案

0 投票
0 回答
25 浏览

python - 图像太大时意外的窗口最大化,Debian buster,Python3,tkinter

我正在开发一个 python3 应用程序来操作图像。调整图像大小是其中一项功能。当我加载接近占据整个屏幕区域(大约占总屏幕区域的 5/6 部分)的图像时,包含的顶部窗口“跳”到屏幕右侧和底部的边框(带有日期/时间的顶部系统栏, 和左任务栏保持不变)。一旦发生这种情况,即使我将图像调整为更小的尺寸,窗口也会粘在屏幕边框上。为了查明问题,我使我的程序尽可能简单,撤消了所有图像处理和大多数小部件,但问题仍然存在。在我最基本的程序中,我可以将图像加载到特定大小,而窗口不会因为其内容(图像)变得太大而出现奇怪的行为。但是在高度或宽度上多出一个像素,并且窗口会跳转到所述屏幕边框。查看程序代码和屏幕副本以更好地了解问题。由于这可能是系统配置的问题,这些是我的设置:操作系统:Linux Debian Buster、Python 3.7.3、Pillow 8.2.0

最大图像大小的屏幕截图(窗口行为符合预期)

图片尺寸过大的截图

0 投票
1 回答
143 浏览

java - 最大限度地提高您在通过阵列时获得的金额

例如,给定一个整数数组, [1 4 3 2 9 8 7 6] 每个整数代表你可以捡到的钱数。你在阵中穿梭,可以捡到钱。每次你捡到一些钱,你必须再旅行 X 量 (minInterval) 才能捡到更多的钱。- 那就是你必须等待 X 次旅行才能拿到更多的钱。给定 minInterval,您最多可以拿到多少钱。

注意:每次旅行本质上只是移动到下一个索引。你想最大化你捡到的钱的价值。

例如,如果最小间隔为 4,则最佳路径将是, 在此处输入图像描述

什么是完成此任务的好算法?这基本上是一个优化问题。

0 投票
0 回答
76 浏览

python - 对数似然估计的 Python SciPy 最大化提供了不一致的结果

我正在尝试根据 Lesmond 等计算债券流动性指标 LOT。al (1999) 和 Chen 等人。(2007 年)。因此,我需要最大化 的对数似然函数L(alpha_1_j,alpha_2_j,beta_1_j,beta_2_j,σ_j|R_j,t,∆Index)。到目前为止,我尝试使用 Python 中的 SciPy 最小化负对数似然函数来实现以下代码:

但是,参数的结果很大程度上取决于优化之前设置的初始猜测:

此外,对于真实数据,我得到不一致的估计,方差很大,这取决于初始猜测值。如何找到参数的全局优化估计?