我有N可伸缩的方形瓷砖(按钮),需要放在固定大小的矩形表面(工具箱)内.我想以相同的尺寸呈现按钮.
我怎样才能解决瓷砖的最佳尺寸,这将提供瓷砖覆盖的矩形表面的最大区域.
language-agnostic algorithm user-interface geometry maximize
我想动画一个小部件(QPushButon)来移动我的应用程序屏幕.为此,我创建了一个新按钮并使用QPropertyAnimation类和按钮的属性"几何",我将其从上到下移动.问题是该按钮带有关闭,最小化,最大化按钮等.我不希望它们在那里,也不希望小部件附带的边框.我该怎么办 ?
Width在最大化窗口时,屏幕的属性似乎不会更新为完全最大化的宽度.如果我调整大小,一切正常,但不是最大化时.
我的代码如下:
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
UpdateColumns();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
UpdateColumns();
}
private void UpdateColumns()
{
ColumnCount = Math.Round(Width/150);
statusBarItemColumnCount.Content = ColumnCount;
button1.Content = ColumnCount + " " + Width;
}
private void Window_StateChanged(object sender, EventArgs e)
{
UpdateColumns();
}
Run Code Online (Sandbox Code Playgroud) 我试图找到可以最大化我的总和值的最佳组合,但它必须在 2 个特定约束下,因此我假设线性规划将是最合适的。
问题是这样的:一些教育世界事件希望聚集世界上最聪明的青少年学生。每个州都对 10 万名学生进行了以下考试:“数学”、“英语”、“计算机”、“历史”、“物理”……并且在每次考试中都获得了 0-100 分。
每个州都被要求从经过测试的 100K 学生中发送他们最好的 10K 参加此次活动。
您作为法国代表,被要求从您所在国家/地区的 10 万名学生中选出前 1 万名学生。为此,您需要优化它们的 MAX VALUE 以获得最佳的 TOTAL SCORE。
但是有两个主要限制:
1- 从总共 10K 选择的学生中,您需要分配特定的学生,这些学生将仅在上述 5 个科目中的 1 个特定科目上进行测试。所需的分配是: ['MATH': 4000, 'ENGLISH':3000,'COMPUTERS':2000, 'HISTORY':750,'PHYSICS':250]
2- 每个“考试科目”的分数必须有不同的权重。对于 exp:97 是数学在历史上的价值超过 97。wheights 是:['数学':1.9,'英文':1.7,'计算机':1.5,'历史':1.3,'物理':1.1]
我的解决方案: 我尝试使用 PULP (python) 作为 LP 库并正确解决了它,但运行时间超过 2 小时。 你能找到更好(更快、更简单……)的方法来解决它吗? 有一些 NUMPY LP 函数可以用来代替,也许会更快?它应该是一个简单的优化问题,因为我让它变得太慢和复杂。 -- 解决方案只需要在 Python 中
例如,让我们小规模地看一下同一问题:有 30 名学生,您只需要选择 15 名学生,这将为我们提供与以下学科分配需求相关的最佳组合。所需的分配是- ['数学':5,'英文':4,'计算机':3,'历史':2,'物理':1]
这是所有 30 名学生及其成绩:
运行算法后,输出解决方案将是:
这是我原始问题的完整代码(10 万名学生):
import pandas as pd
import numpy as …Run Code Online (Sandbox Code Playgroud) 我有一个N阶多项式(其中N是偶数).对于x减/加无穷大,该多项式等于负无穷大(因此它具有最大值).我现在正在做的是通过使用polyder然后找到N-1阶多项式的根来获取多项式的导数.roots函数在Matlab中返回N-1个解.然后我选择真正最大化多项式的真根.问题是我正在更新我的多项式,并且在每一步我使用上述过程来找到最大化器.因此,root函数需要花费太多的计算时间才能使我的应用程序变慢.有没有办法在Matlab或提出的算法中以计算有效的方式实现这种最大化(即只找到一个解决方案而不是N-1解决方案)?谢谢.
编辑:我还想知道Matlab中是否有一个例程只返回真实的根,而不是
roots返回所有真实/复杂的根.
我是R的新手,我正在尝试为Excel中的Solver编写一个脚本.在下面的数据中,我列出了工作类型为AE的工人.每个工人都有工资和生产率.我想要做的是找到10个工人的最大产量,累计工资<100,000.限制是我需要总共10个工人,我需要2个来自工作类型AD,1个来自E,以及1个任何类型.
我用optim,IpSolve等搜索并搜索了一种方法,但是由于我的知识有限,我没有太多运气.
谢谢您的帮助!
Name Pos Salary Producton
Joe A 12001 13.1
Jim A 17753 23.5
Jill A 11447 14.8
Brian A 11447 14.8
Sally B 2171 1.2
Nancy B 4537 2.1
Francis B 2840 1.8
Ace B 2840 1.8
Bill C 3818 1.6
Ted C 11447 0.1
Henry C 2000 1.1
Kyle C 3818 1.6
Sam D 11447 0.1
Trevor D 2000 1.1
John D 4317 11.7
Jerome D 2000 1.1
Rebecca E 3818 1.6
Sunny E 11447 0.1
Britt …Run Code Online (Sandbox Code Playgroud) r mathematical-optimization solver maximize integer-programming
Pyomo 中多目标优化的任何示例?
我正在尝试最小化 4 个目标(非线性),并且我想使用 pyomo 和 ipopt。还可以访问 Gurobi。
我想看一个非常简单的例子,其中我们尝试针对决策变量列表(不仅仅是一个维度,可能是一个向量)针对两个或多个目标(一个最小化和一个最大化)进行优化。
我拥有的 Pyomo 书(https://link.springer.com/content/pdf/10.1007%2F978-3-319-58821-6.pdf)没有提供任何线索。
给定一个整数 n 叉树,任务是找到子序列的最大和,其约束是序列中的 2 个数字不应共享树中的公共边。示例: 1 / \ 2 5 / \ 3 4 最大非相邻和 = 3 + 4 + 5 = 12 以下是http://www.geeksforgeeks.org/maximum-sum-such-中概述的算法的错误扩展没有两个元素相邻?
def max_sum(node, inc_sum, exc_sum):
for child in node.children:
exc_new = max(inc_sum, exc_sum)
inc_sum = exc_sum + child.val
exc_sum = exc_new
inc_sum, exc_sum = max(max_sum(child, inc_sum, exc_sum),
max_sum(child, inc_sum, inc_sum - node.val))
return exc_sum, inc_sum
Run Code Online (Sandbox Code Playgroud)
但我不确定返回时交换 exc_sum 和 inc_sum 是否是实现结果的正确方法,以及如何跟踪可能导致最大总和的可能总和,在本例中,左子树中的最大总和是(1+3+4),而导致最终最大值的总和是(3+4+5),那么应该如何跟踪(3+4)呢?是否应该将所有中间金额存储在表中?
当用户调整程序窗口(Winforms)的大小和位置时,他们希望看到窗口处于相同的位置,即使在关闭并重新打开程序之后也是如此。我所做的就是存储表单的宽度、高度、Location.X 和 Location.Y 属性,并在程序重新打开时将它们设置回来。
问题是当窗口最大化时,宽度、高度、X、Y 不是指非最大化的宽度/高度/X/Y,而是指最大化尺寸。
因此,当用户将窗口最大化,关闭并重新打开程序,然后继续取消最大化窗口时,它不会返回到原始位置/大小,而是停留在完整大小/位置。
那么,在某些事件执行后,如果不使用拼凑来存储变量,如何获取窗口最大化时的非最大化位置和大小呢?
我试图在 wpf 窗口中禁用最大化容量(不是最大化按钮),但到目前为止没有成功。
我使用的是 WindowStyle="none" 的窗口,但是当我将窗口拖动到屏幕的最顶部时,操作系统“最大化”窗口(顺便说一句,这非常糟糕)。
我上传了 3 张图片来展示到底发生了什么。
(但是,由于我没有 10 声望,所以我必须发布链接。抱歉。我不能放全部 3 个链接,只能放其中 2 个,但第一个只是窗口工作正常)
期间:
