社区
数据结构与算法
帖子详情
如何求解多个绝对值式子总和的最小值
dianyancao
2012-05-25 11:24:56
如上式,Xi,Yi,Zi为 n 组已知数据,
求解m1, m2, m3 可以将每个绝对值式子,根据|·| > 0,|·| < 0,|·| = 0三种情形分别处理
是否有更高效的方法,求解m1, m2, m3呢?
...全文
1413
11
打赏
收藏
如何求解多个绝对值式子总和的最小值
如上式,Xi,Yi,Zi为 n 组已知数据, 求解m1, m2, m3 可以将每个绝对值式子,根据|·| > 0,|·| < 0,|·| = 0三种情形分别处理 是否有更高效的方法,求解m1, m2, m3呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dianyancao
2012-06-01
打赏
举报
回复
CSDN肿么了,回复不显示…
,还好结贴页面能显示回复
______________________________________________________________
FancyMouse ()发表于:2012-05-31 03:13:15 10 楼 得分:
这个函数是凸函数。凸函数有通用的求最值的算法,不用展开abs。
______________________________________________________________
如何不展开abs,求解最值呢,不知下面的方法是否可行?
6楼的不等式组是将绝对值式中的除m1的其余部分先当作常量,
提取出m[1]的系数得到形如:
|a[1]|*|x + r[1]| + |a[2]|*|x + r[2]| + ... + |a[i]|*|x + r[i]| + ... |a[n]|*|x + r[n]|
的式子,则只需要将-r[1] <= -r[2] <= ... <= -r[i] <= ... <= -r[n]从小到大排列,即可求解m[1]
接着将r[i]代换成b[i] * m[2] + c[i],
索引排序使得b[1] >= b[2] >= ... >= b[i] >= ... >= b[n],
索引排序将每一个(c[j] - c[i]) / (b[i] - b[j])从小到大建立 1 到 n*(n-1)/2 的 bc索引,(i < j <= n)
则每一个 bc索引 = h(i,j)对应唯一的i,j
其中bc[h(i,j)] = (c[j] - c[i]) / (b[i] - b[j])
当m[2] <= bc[h(i,j)],则r[i] <= r[j]
当m[2] >= bc[h(i,j)],则r[i] >= r[j]
接着将c[i]代换成d[i]+e[i],根据 bc索引 的数据生成 bcbc索引,(m < n <= n*(n-1)/2)
则每一个 bcbc索引 = g(m,n) 对应唯一的h(i,j)[m], h(i,j)[n]
令每一个 P[h(i,j)] = (d[j] - d[i]) / (b[i] - b[j])
索引排序使得P[h(i,j)[1]] >= P[h(i,j)[2]] >= ... >= P[h(i,j)[n*(n-1)/2]],
令每一个 Q[h(i,j)] = (e[j] - e[i]) / (b[i] - b[j])
令每一个 bcbc[g(m,n)] = (Q[h(i,j)[n]] - Q[h(i,j)[m]]) / (P[h(i,j)[m]] - P[h(i,j)[n]]) , (m < n <= n*(n-1)/2)
索引排序使得bcbc[1] <= bcbc[2] <= ... <= bcbc[n*(n-1)/2 * (n*(n-1)/2 - 1) / 2]
当m[3] <= bcbc[g(m,n)],则bc[m] <= bc[n]
当m[3] >= bcbc[g(m,n)],则bc[m] >= bc[n]
接下来就得到6楼的联动不等式组,只需要对m[3]取最多(n*(n-1)/2 * (n*(n-1)/2 - 1) / 2) + 1个区间,
即可经过递推,展开abs。
如何根据这种联动的不等式组,求得m[1],m[2],m[3]的取值区间,使得最小化Sum呢?
FancyMouse
2012-05-31
打赏
举报
回复
这个函数是凸函数。凸函数有通用的求最值的算法,不用展开abs。
FancyMouse
2012-05-31
打赏
举报
回复
这个函数是凸函数。凸函数有通用的求最值的算法,不用展开abs。
FancyMouse
2012-05-31
打赏
举报
回复
这个函数关于三个变量都是凸函数。凸函数求数值最值有通用办法的,不用展开abs。
dianyancao
2012-05-29
打赏
举报
回复
Sum = a*m1 + b*m2 + c*m3 + d
dianyancao
2012-05-29
打赏
举报
回复
hnu_0720
2012-05-28
打赏
举报
回复
不要意思,没看清楚题目。
hnu_0720
2012-05-28
打赏
举报
回复
求解m1, m2, m3 可以将每个绝对值式子,根据|·| > 0,|·| < 0,|·| = 0三种情形分别处理
第一 大于0 只要有一个绝对值不等于0就可以了。
第二 小于0 不可能发生
第三 等于0 每个绝对值都等于0才发生,解方程就可以了。
HUNTON
2012-05-28
打赏
举报
回复
应该要提供其他的条件才可能判别是否有更简便的方法吧,不然就只能根据式子的正负去展开了。
FancyMouse
2012-05-26
打赏
举报
回复
L2模算起来方便。L1模的话还是需要用到凸函数的性质去二分(有些地方似乎叫三分?)
turing-complete
2012-05-25
打赏
举报
回复
这种不等式的方程,恐怕只能采用穷举法去一一断言了,符合条件的就留下了,不过这其中可以加上一些合理的剪枝算法,能够是搜索解集的过程更快一些。
初中数学:绝对式和的
最小值
文章介绍了如何
求解
绝对值
表达式的
最小值
,特别是涉及
多个
绝对值
相加的情况。通过数轴的几何意义,解析了当变量在特定区间时
绝对值
和的
最小值
,提供了从两个到五个
绝对值
项的实例分析,并总结了解题规律。
初中数学题集锦之
绝对值
疑难题型
博客围绕数轴上动点与固定点距离和问题展开。先介绍
绝对值
几何含义,即数轴上两点距离。接着通过代数和数形结合方法
求解
某动点与两固定点距离和
最小值
,还探讨了变化问题、更复杂的多固定点距离和问题,最后提及防止误区及题型转化。
求n个数的最大数最小数c++_初中数学:绝对式和的
最小值
,掌握方法,秒出答案...
本文介绍了如何
求解
绝对值
表达式和的
最小值
问题,特别是涉及
多个
绝对值
项的情况。通过几何意义分析,得出当变量位于
绝对值
内各数之间时,和达到最小。并给出了不同数量
绝对值
项的
求解
方法和练习题,适用于初中学段的数学学习。
stata最大值
最小值
命令_听说会Stata的人,数学不会太差?
本文通过Stata演示如何使用蒙特卡洛模拟解决数学问题,如
求解
绝对值
之和的
最小值
,并介绍了随机数生成、变量赋值和框架(frame)的使用技巧。
用c#求一个数的
绝对值
一定是正数_
绝对值
基础练习
博客围绕
绝对值
展开,包含求
绝对值
相关的计算,如小于5的非负整数之和、
绝对值
小于或等于2020的整数之积;还涉及
绝对值
与数轴的关系,通过数轴上点的位置判断选项对错;此外提及
绝对值
的非负性及应用。
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章