Questions tagged «optimization»

有关需要从一组可用替代方案中选择最佳元素的问题以及解决方案。

1
我们如何快速计算未加权二部图中的最大匹配大小?
有没有一种方法可以比计算最大匹配更有效(例如更快)地计算未加权二部图中的最大匹配的大小? 这是一个长镜头,但避免此类一次性计算通常是一个有趣的问题。 动机 我要解决的问题是match-2 ,其中两组大小不同。我需要确定是否有一个覆盖较小集合中所有顶点的匹配项。知道最大匹配的大小后,我便可以检查它是否等于或小于较小集合的大小(如果有这种可能,那么只要结果为“是,就会有一个覆盖小集合的匹配项“您实际上会知道它的大小是多少,但只有在那种情况下才知道),但这并不是绝对必要的:如果有一种方法可以在不计算大小的情况下计算出答案,那对我来说是件好事。

2
什么是双标准近似算法?
什么是双标准近似算法?在数据流群集的情况下,这种情况不断出现。这与多目标优化有关吗? 这是我遇到的地方:cis.upenn.edu/~sudipto/mypapers/datastream.pdf。本文是关于k-means算法的流式版本的。论文中有参考文献,但都没有给出关于双标准近似算法的解释。我似乎也找不到在Google上能给我精确定义的任何内容。

3
用最少的移动次数匹配数字的算法
这是一种编辑距离问题,非常简单。我只是在这个问题上脑子死了,到目前为止还不能弄清楚。 给定一系列数字,例如 [3, 1, 1, 1] 如何以最少的“移动”数将所有数字最有效地转换为相同的数字?“移动”是指从数字中添加或删除一个。 在上面的示例中,最有效的举动是: [1, 1, 1, 1] 这将需要2步,将第一个数字减少两次。 给定大得多的数百个数字数组,我无法找出找到此结果的最佳方法。 我最初尝试计算四舍五入的平均值(所有值的总和除以长度),然后将其减小为计算的平均值,但是上面的示例破坏了这一点,需要4步而不是2步。 我想我可以算: 平均 模式, 中位数 并获得它们各自的编辑距离,并选择最小距离。但是,我不确定在每个实例中这是否正确。我怎么知道?

1
背包问题的变体
如果现在必须将背包中的项目数限制为常数那么在动态编程情况下如何解决背包问题?这是相同的问题(最大重量,每个商品的值均为,重量),但您只能将项添加到背包,显然需要优化背包的值。pppWWWvvvwwwppp 我们需要三维还是没有三维我们可以找到其他方法。我试图简单地在单元格中的背包中添加项目数,并在最后加上最大值,即项目数<=但这不是最佳解决方案。ppp

1
哪种算法可以计算出两组的最大选择?
给定两个整数,它们的长度可能不相等,如何通过在两个向量之间的对应数字对之间选择最大值,并在较短的向量中插入额外的零以弥补大小差异,来确定可能的最大结果? 例如,考虑以下两个向量作为输入: [8 1 4 5] [7 3 6] 插入零和结果和的选择是: [0 7 3 6] => Maximums: [8 7 4 6] => Sum is: 25 [7 0 3 6] => Maximums: [8 1 4 6] => Sum is: 19 [7 3 0 6] => Maximums: [8 3 4 6] => Sum …

2
最小化向量和的最大分量
我想了解一些有关此优化问题的信息:对于给定的非负整数,找到使表达式最小的函数ai,j,kai,j,ka_{i,j,k}fff maxk∑iai,f(i),kmaxk∑iai,f(i),k\max_k \sum_i a_{i,f(i),k} 使用不同公式的示例可能会更清楚:给您一组向量,例如 { {(3, 0, 0, 0, 0), (1, 0, 2, 0, 0)}, {(0, 1, 0, 0, 0), (0, 0, 0, 1, 0)}, {(0, 0, 0, 2, 0), (0, 1, 0, 1, 0)} } 从每个集合中选择一个向量,以便其总和的最大成分最小。例如,您可以选择 (1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + …

1
减少到TSP的连续优化问题
假设我在平面上得到了一组有限的点,并要求通过绘制两次可微分的曲线,以使其周长尽可能小。假设和,我可以将这个问题形式化为:p1,p2,..pnp1,p2,..pnp_1,p_2,..p_nC(P)C(P)C(P)pipip_ipi=(xi,yi)pi=(xi,yi)p_i=(x_i,y_i)xi&lt;xi+1xi&lt;xi+1x_i<x_{i+1} 问题1(根据Suresh的评论进行编辑)确定 参数函数,使得弧长 最小化,其中,对于所有,我们有。C2C2C^2x(t),y(t)x(t),y(t)x(t),y(t)tttL=∫[t∈0,1]x′2+y′2−−−−−−−√dtL=∫[t∈0,1]x′2+y′2dt L = \int_{[t \in 0,1]} \sqrt{x'^2+y'^2}dtx(0)=x1,x(1)=xnx(0)=x1,x(1)=xnx(0) = x_1, x(1) = x_nti:x(ti)=xiti:x(ti)=xit_i: x(t_i) = x_iy(ti)=yi)y(ti)=yi)y(t_i)=y_i) 我如何证明(或反驳)问题1是NP问题? 为什么我怀疑NP硬度 假设假设是宽松的。显然,最小弧长的功能是的Traveling Salesman旅行。也许约束只会使问题变得更加困难?p 我Ç 2C2C2C^2pipip_iC2C2C^2 上下文在MSE上发布了此问题的变体。在那里和MO都没有得到答案。考虑到解决问题并非易事,我想确定问题的难度。

1
将对象分布在多维数据集中,以使它们之间具有最大距离
我正在尝试使用彩色相机来跟踪空间中的多个对象。每个对象将具有不同的颜色,为了能够在每个对象之间很好地区分,我正在尝试确保分配给对象的每种颜色与其他任何对象上的任何颜色都尽可能不同。 在RGB空间中,我们有三个平面,所有平面的值都在0到255之间。在这个立方体,我想分布种颜色,以便它们之间的距离与其他尽可能。另外一个限制是,在种颜色中应包含和(或尽可能接近),因为我想确保我的所有对象采用任何一种颜色,因为背景可能是这些颜色之一。Ñ (0 ,0 ,0 )(255 ,255 ,255 )Ñ (ñ - 2 )(0 ,0 ,0 )/(255 ,255 ,255 )(0,0,0)/(255,255,255)(0,0,0) / (255,255,255)ññn(0 ,0 ,0 )(0,0,0)(0, 0, 0)(255 ,255 ,255 )(255,255,255)(255, 255, 255)ññn(n − 2 )(ñ-2)(n-2) 也许,(包括黑色和时间)不会多14左右比。ññn 在此先感谢您获得这些颜色的任何指示。

4
使用内点法找到线性编程的精确角点解
单纯形算法贪婪地走在多面体的角上,以找到线性规划问题的最佳解决方案。结果,答案永远是多面体的一角。内部点方法在多面体内部移动。结果,当多面体的整个平面最佳时(如果目标函数与该平面完全平行),我们可以在该平面的中间得到一个解。 假设我们要查找多面体的一个角。例如,如果我们想通过将其简化为线性编程来进行最大匹配,则我们不希望得到包含“该匹配包含0.34%的边缘XY和0.89%的边缘AB和...”的答案。我们想得到一个0和1的答案(由于所有角都由0和1组成,因此单纯形会给我们一个答案)。有没有办法使用内点方法来确保在多项式时间内找到精确的角点解?(例如,也许我们可以修改目标函数以偏向角落)


1
噪声函数的数学优化
令是一个相当不错的函数(例如,连续,可微,局部最大值不太多,凹面等)。我想找到的最大值:值使尽可能大。F:Rd→ Rf:Rd→Rf:\mathbb{R}^d \to \mathbb{R}X ∈ [R d ˚F (X )FffX ∈ řdx∈Rdx \in \mathbb{R}^dF(x )f(x)f(x) 如果我有一个程序可以根据自己选择的任何输入精确地评估,则可以使用标准的数学优化技术:爬坡,梯度下降(井,梯度上升)等。但是,在我的应用程序中,我没有准确评估。相反,我有一种方法来估计的值。Ffff (x )F(x )f(x)f(x)F(x )f(x)f(x) 特别地,给定任何和任何,我有一个预言器将输出的估计值,并且其预期误差约为。此oracle调用的运行时间与成正比。(它是通过一种模拟实现的;模拟的精度随试验次数的平方根增加,因此我可以选择运行多少试验,因此可以选择所需的精度。)一种估算我想要的准确度的方法,但是我想要的估算值越准确,则花费我的时间就越长。ε ˚F (X )ε 1 / ε 2Xxxεε\varepsilonF(x )f(x)f(x)εε\varepsilon1 / ε21/ε21/\varepsilon^2 给定嘈杂预言,是否有任何技术可以尽可能有效地计算的最大值?(或者,更确切地说,找到一个近似的最大值。)在此模型中是否存在爬坡,梯度下降等的变体?˚FFffFff 当然,我可以固定一个很小的值,并使用此oracle进行爬山或梯度下降,并始终保持相同的。但是,这可能会不必要地造成效率低下:我们可能不需要在起点附近进行如此精确的估算,而当您在解决方案中进行归零时,在终点附近进行精确度更为重要。那么,有什么方法可以利用我动态地控制估计精度的能力,从而使优化过程更有效吗?以前有没有研究过这种问题?εεε\varepsilonεε\varepsilon

2
这个组合优化问题是否与任何已知问题相似?
问题如下: 我们有一个二维的数字数组/网格,每个数字代表某种“收益”或“利润”。我们也有两个固定整数和(分别表示“宽度”和“高度”。)和一个固定整数。wwwhhhnnn 现在,我们希望在网格上覆盖尺寸为矩形,以使这些矩形中的单元格值的总和最大化。nnnw×hw×hw \times h 下图是一个二维网格的示例,上面覆盖了两个这样的矩形(图片未展示最佳解决方案,只是其中和一种可能的覆盖)w=h=2w=h=2w = h = 2n=2n=2n = 2 矩形不能相交(否则,我们只需要找到一个矩形的最佳位置,然后将所有矩形放在该位置即可。) 在上面的示例中,单元格中值的总和为−2+4.2+2.4+3.14+2.3−1.4+1−3.1−2+4.2+2.4+3.14+2.3−1.4+1−3.1-2 + 4.2 + 2.4 + 3.14 + 2.3 -1.4 + 1 - 3.1 这是否类似于组合优化中的任何已知问题?这样我就可以开始阅读并尝试找到解决方法。 那些感兴趣的人还有更多背景知识: 到目前为止,我仅有的想法是贪婪算法(它将找到第一个矩形的最佳位置,然后找到第二个矩形的不重叠位置等)或某种元启发式方法,例如遗传算法。 实际上,我希望使用具有大约一百万个单元和数万(甚至数十万)个矩形的网格来解决此问题,尽管没有必要在短时间内解决它(即对于该算法需要花费数小时甚至数天的时间。)我不希望找到确切的解决方案,但是我想得到一个在这些限制条件下尽可能好的解决方案。 干杯!

4
从不同的棍子上砍下相等的棍子
您有个任意长度的棍子,不一定是整数。ññn 通过切割一些木棍(一次切割可切割一根木棍,但我们可以根据需要进行多次切割),您希望得到木棍,使得:k &lt; nķ&lt;ñk<n 所有这些棒的长度相同;ķķk 所有的至少与其他所有条一样长。ķķk 请注意,执行切割后,我们获得了。Çn + Cñ+Cn + CCCC 您将使用哪种算法以使必要切割的次数最少?那是什么号码? 例如,取和任何。可以使用以下算法:Ñ ≥ 2k = 2ķ=2k=2Ñ ≥ 2ñ≥2n\geq 2 按长度的降序对摇杆进行排序,以使。大号1个≥ 大号2≥ ... ≥ 大号ñ大号1个≥大号2≥…≥大号ñL_1\geq L_2 \geq \ldots \geq L_n 如果则将木棒#1切成两等份。现在有两个长度为棒,其长度至少等于其余的棒。大号1 / 2 2 ... Ñ大号1个≥ 2 大号2大号1个≥2大号2L_1\geq 2 L_2大号1个/ 2大号1个/2L_1 / 22 … n2…ñ2 \ldots n 否则(),将木棒#1切成两个不等长的和。现在有两个长度为棒,长度大于,其他两个棒为。L 2 L …

3
接线长度最小化
我的问题是这样的: 我有一个物理布局,以图形表示。节点表示导线可以锚固的钩子/管道,而“边缘”是导线可以通过的两个节点之间的可能连接。 有一些特殊的节点,称为分离器,从中可以将单根导线拆分为2根或更多至k根。目前可以将k取为常数,但是每个节点的k都不同。并非所有节点都是拆分器。 有一种电源可以从中伸出电线。它是源。电线必须连接到n个接收器。 一条边可以沿任意方向穿过任意数量的导线。 总导线长度必须最小化。 图形,平面或欧几里得的性质未知。 示例:下面是一个示例网络。节点以数字命名,并且边的权重等于1。源是Node1,接收器是Node5,Node9和Node13。在情况1中,Node6是Splitter节点。在情况2中,Node6和Node4是拆分器节点。分离器节点的k = 3,即,它可以接一根线并将其分成三根线。 案例1。仅一个拆分器节点。在Node6上拆分很有意义。 情况2。两个分离器节点。在Node4而不是Node6上拆分很有意义。 我正在寻找不同的策略来找到针对此问题的通用解决方案。与手头的问题相比,此处呈现的图的比例较小。该图是静态的,不能更改(我的意思是解决方案不应建议任何新的边缘或建议新的拆分器位置)。也欢迎任何引用有关此类问题的研究论文的参考。 案例3。两个分离器节点。在Node4和Node14处拆分很有意义。请注意,这种情况下边缘8-12、6-10和10-11的边缘权重已更改。在这种情况下,重要的是从Node14分离后重新布线。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.