由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个优化问题
相关主题
有无这样的算法或者理论卫东大神来说说阿尔法狗横扫棋坛这事吧
请问一个基本的minimization problem有没有近似解法? (转载)对于现在machine learning有个问题,请指教
这个问题有快速算法么?CNN做NLP工程多吗?
问个算法,求两组交换元素后求和之间相差最小值DL一个基础问题:
求指教:关于汉字拆分和图像识别R语言,小笔记本,如何调参?
求计算机大神指点方向同时train segm和obj detect
并行可以降低计算复杂度??subpixel conv == transposed conv
R已经是第六大语言了....predictive analysis只能用来prediction吧?
相关话题的讨论汇总
话题: br话题: 问题话题: gurobi话题: 变量话题: np
进入Programming版参与讨论
1 (共1页)
b****u
发帖数: 1130
1
目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
约束 xi>=0
x1+x2+x3.....=1
但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
我本来想把L1约束加到目标函数中,但担心结果很不稳定。
现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
大家有没有啥推荐的方法?
g****t
发帖数: 31659
2
(log barrier etc) 牛顿法试验过了?不工作?
启发式方法的缺点是缺乏预测性。
忙两个月,结果可能是0。
梯度based method忙两个月,一般结果可以是正贡献,就是比啥也不干的好。

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

b****u
发帖数: 1130
3
最麻烦的就是 正的变量个数不能超过30个。
这个比较麻烦,其实是个混合整数规划。
而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是相当头疼的。
这方面我和你的差距估计得用光年来计算。

【在 g****t 的大作中提到】
: (log barrier etc) 牛顿法试验过了?不工作?
: 启发式方法的缺点是缺乏预测性。
: 忙两个月,结果可能是0。
: 梯度based method忙两个月,一般结果可以是正贡献,就是比啥也不干的好。

g****t
发帖数: 31659
4
你是做产品还是写论文?
如果做产品,我干半年差不多。不是一句话能说清楚。
需要边试边走。还需要改问题的定义。
这个问题从算法角度来讲,
显然是没有通用办法,而且可能是ill conditional,NP hard. 所以
技术这边要压榨business那边给更合适的问题定义。
这类似于从股市挑30个股票买,跑个什么马尔科维兹优化,难
度可想而知。
如果写论文,那就找个大学课程抄一下logbarrier吧。反正你做启发式一般最后还是要
比较优劣。
for example:
https://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Yuan_
Newton_Greedy_Pursuit_2014_CVPR_paper.pdf
www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Yuan_Newton_Greedy
_Pursuit_2014_CVPR_paper.pdf


: 最麻烦的就是 正的变量个数不能超过30个。

: 这个比较麻烦,其实是个混合整数规划。

: 而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是
相当头
疼的。

: 这方面我和你的差距估计得用光年来计算。



【在 b****u 的大作中提到】
: 最麻烦的就是 正的变量个数不能超过30个。
: 这个比较麻烦,其实是个混合整数规划。
: 而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是相当头疼的。
: 这方面我和你的差距估计得用光年来计算。

s*******g
发帖数: 187
5
Sparsity optimization 用l1是王道啊,有现成的toolbox
http://cvxopt.org/applications/nucnrm/

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

N*****r
发帖数: 94
6

这个不可以直接上L0正则吗, 现在L0也是有办法做的

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

L****8
发帖数: 3938
7
gurobi solver 这个小意思了

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

g****t
发帖数: 31659
8
你们这都是纸上谈兵。他这个问题类似于1块钱,从1000个股票里分散买30个股票。不
能short。二次型portfolio 优化什么的。
处理实际问题是很难的。


: gurobi solver 这个小意思了



【在 L****8 的大作中提到】
: gurobi solver 这个小意思了
L****8
发帖数: 3938
9
gurobi solver 找个解 易如反掌
至于是不是处理实际问题 那是lz的建模问题

【在 g****t 的大作中提到】
: 你们这都是纸上谈兵。他这个问题类似于1块钱,从1000个股票里分散买30个股票。不
: 能short。二次型portfolio 优化什么的。
: 处理实际问题是很难的。
:
:
: gurobi solver 这个小意思了
:

g****t
发帖数: 31659
10
你找出来的解是什么解?软件打印个数字就叫解吗?


: gurobi solver 找个解 易如反掌

: 至于是不是处理实际问题 那是lz的建模问题



【在 L****8 的大作中提到】
: gurobi solver 找个解 易如反掌
: 至于是不是处理实际问题 那是lz的建模问题

相关主题
求计算机大神指点方向卫东大神来说说阿尔法狗横扫棋坛这事吧
并行可以降低计算复杂度??对于现在machine learning有个问题,请指教
R已经是第六大语言了....CNN做NLP工程多吗?
进入Programming版参与讨论
w***g
发帖数: 5958
11
难道现在NP难的问题都可以易如反掌地求解了,科技发展真是日新月异。

【在 L****8 的大作中提到】
: gurobi solver 找个解 易如反掌
: 至于是不是处理实际问题 那是lz的建模问题

N*****r
发帖数: 94
12

问题是NP, 并不代表彻底不能求解啊
单纯形法也是NP吧, 大家曾经也用的很high啊

【在 w***g 的大作中提到】
: 难道现在NP难的问题都可以易如反掌地求解了,科技发展真是日新月异。
b****u
发帖数: 1130
13
目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
约束 xi>=0
x1+x2+x3.....=1
但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
我本来想把L1约束加到目标函数中,但担心结果很不稳定。
现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
大家有没有啥推荐的方法?
g****t
发帖数: 31659
14
(log barrier etc) 牛顿法试验过了?不工作?
启发式方法的缺点是缺乏预测性。
忙两个月,结果可能是0。
梯度based method忙两个月,一般结果可以是正贡献,就是比啥也不干的好。

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

b****u
发帖数: 1130
15
最麻烦的就是 正的变量个数不能超过30个。
这个比较麻烦,其实是个混合整数规划。
而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是相当头疼的。
这方面我和你的差距估计得用光年来计算。

【在 g****t 的大作中提到】
: (log barrier etc) 牛顿法试验过了?不工作?
: 启发式方法的缺点是缺乏预测性。
: 忙两个月,结果可能是0。
: 梯度based method忙两个月,一般结果可以是正贡献,就是比啥也不干的好。

g****t
发帖数: 31659
16
你是做产品还是写论文?
如果做产品,我干半年差不多。不是一句话能说清楚。
需要边试边走。还需要改问题的定义。
这个问题从算法角度来讲,
显然是没有通用办法,而且可能是ill conditional,NP hard. 所以
技术这边要压榨business那边给更合适的问题定义。
这类似于从股市挑30个股票买,跑个什么马尔科维兹优化,难
度可想而知。
如果写论文,那就找个大学课程抄一下logbarrier吧。反正你做启发式一般最后还是要
比较优劣。
for example:
https://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Yuan_
Newton_Greedy_Pursuit_2014_CVPR_paper.pdf
www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Yuan_Newton_Greedy
_Pursuit_2014_CVPR_paper.pdf


: 最麻烦的就是 正的变量个数不能超过30个。

: 这个比较麻烦,其实是个混合整数规划。

: 而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是
相当头
疼的。

: 这方面我和你的差距估计得用光年来计算。



【在 b****u 的大作中提到】
: 最麻烦的就是 正的变量个数不能超过30个。
: 这个比较麻烦,其实是个混合整数规划。
: 而且数值最优化,你要我自己实现内点法,甚至最基本的牛顿法,我还是相当头疼的。
: 这方面我和你的差距估计得用光年来计算。

s*******g
发帖数: 187
17
Sparsity optimization 用l1是王道啊,有现成的toolbox
http://cvxopt.org/applications/nucnrm/

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

N*****r
发帖数: 94
18

这个不可以直接上L0正则吗, 现在L0也是有办法做的

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

L****8
发帖数: 3938
19
gurobi solver 这个小意思了

【在 b****u 的大作中提到】
: 目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
: 约束 xi>=0
: x1+x2+x3.....=1
: 但最多只能有30个变量大于0,其余都是0 (这个最麻烦了,没这就好搞多了)
: 我本来想把L1约束加到目标函数中,但担心结果很不稳定。
: 现在打算用非传统的方法搞,比如遗传算法,模拟退火或集群算法。
: 大家有没有啥推荐的方法?

g****t
发帖数: 31659
20
你们这都是纸上谈兵。他这个问题类似于1块钱,从1000个股票里分散买30个股票。不
能short。二次型portfolio 优化什么的。
处理实际问题是很难的。


: gurobi solver 这个小意思了



【在 L****8 的大作中提到】
: gurobi solver 这个小意思了
相关主题
DL一个基础问题:subpixel conv == transposed conv
R语言,小笔记本,如何调参?predictive analysis只能用来prediction吧?
同时train segm和obj detect一个算法问题
进入Programming版参与讨论
L****8
发帖数: 3938
21
gurobi solver 找个解 易如反掌
至于是不是处理实际问题 那是lz的建模问题

【在 g****t 的大作中提到】
: 你们这都是纸上谈兵。他这个问题类似于1块钱,从1000个股票里分散买30个股票。不
: 能short。二次型portfolio 优化什么的。
: 处理实际问题是很难的。
:
:
: gurobi solver 这个小意思了
:

g****t
发帖数: 31659
22
你找出来的解是什么解?软件打印个数字就叫解吗?


: gurobi solver 找个解 易如反掌

: 至于是不是处理实际问题 那是lz的建模问题



【在 L****8 的大作中提到】
: gurobi solver 找个解 易如反掌
: 至于是不是处理实际问题 那是lz的建模问题

w***g
发帖数: 5958
23
难道现在NP难的问题都可以易如反掌地求解了,科技发展真是日新月异。

【在 L****8 的大作中提到】
: gurobi solver 找个解 易如反掌
: 至于是不是处理实际问题 那是lz的建模问题

N*****r
发帖数: 94
24

问题是NP, 并不代表彻底不能求解啊
单纯形法也是NP吧, 大家曾经也用的很high啊

【在 w***g 的大作中提到】
: 难道现在NP难的问题都可以易如反掌地求解了,科技发展真是日新月异。
l*******m
发帖数: 1096
25
先用L1好了,lasso的本质就是greedy, 根据改变惩罚系数,来改变为零的变量。所以
如果greedy 产生的为零变量的序列比较稳定,你的结果就会稳定

:目标函数 f(x1, x2, x3.....). 1000个变量,二次型目标函数
:约束 xi>=0
w***g
发帖数: 5958
26
线性规划是多项式难度
整数线性规划是np难
问题难度不一样,和算法无关
单纯形法最差情况下是指数,
但是有研究表明平均意义下是多项式时间的。楼主的问题,要么用次优解,
要么尽量重新定义问题。
比如弄成网络流啥的形式,就可以解了。


:【 在 wdong (万事休) 的大作中提到: 】
b****u
发帖数: 1130
27
其实这个就是在选股。刚刚把程序调通,现在的方案是二次型优化嵌入到遗传优化当中
去。
小范围(100 选3)的结果还不错。明天多搞点数据,跑一跑。
其实我们需要很多次优解,然后再加入人工分析做最后选择。

【在 g****t 的大作中提到】
: 你是做产品还是写论文?
: 如果做产品,我干半年差不多。不是一句话能说清楚。
: 需要边试边走。还需要改问题的定义。
: 这个问题从算法角度来讲,
: 显然是没有通用办法,而且可能是ill conditional,NP hard. 所以
: 技术这边要压榨business那边给更合适的问题定义。
: 这类似于从股市挑30个股票买,跑个什么马尔科维兹优化,难
: 度可想而知。
: 如果写论文,那就找个大学课程抄一下logbarrier吧。反正你做启发式一般最后还是要
: 比较优劣。

g****t
发帖数: 31659
28
(1)
如你所知,实现梯度为基础的办法,成本颇高。不是老司机的话,软件质量存疑。
但是我认为今后ANN的成熟tool chain会在使用中代替各种乱七八糟的梯度,牛顿,海
赛矩阵的应用。
所以第一推荐你可以试下整数线性规划用ANN,BP等来求解。
也许你很容易就可以和tensorflow等接起来。
本质上就相当于绕过自己实现梯度和伪梯度计算。
这是我第一推荐的办法。tool齐备。
把整数规划什么的modeling成神经网络的文献应该是90年代就有了。
缺点是现在dl不算海塞矩阵。用adams等估计来代替。
3000变量也许海塞阵速度会好一些。但你有GPU的话。。。
(2)
你用什么写的程序?tool chain方便说一下吗?
回头我也要写个遗传算法。
(3)
wdong说的网络流也可以试一下。
尽管改定义改优化指标不一定能改出来。

【在 b****u 的大作中提到】
: 其实这个就是在选股。刚刚把程序调通,现在的方案是二次型优化嵌入到遗传优化当中
: 去。
: 小范围(100 选3)的结果还不错。明天多搞点数据,跑一跑。
: 其实我们需要很多次优解,然后再加入人工分析做最后选择。

w***g
发帖数: 5958
29
选股就不用纠结最优解了啊,你很可能有系统性问题,最优也没用。

:其实这个就是在选股。刚刚把程序调通,现在的方案是二次型优化嵌入到遗传优化当
中去。
:小范围(100 选3)的结果还不错。明天多搞点数据,跑一跑。
b****u
发帖数: 1130
30
我现在就用用python包。 二次型优化就用CVXOPT,还行,不过要把初值和精度弄好了
,否则会给出很搞笑的结果。
遗传算法就套用DEAP包。我这个不用上生产线,内部用,估计就是给几个还行的次优解
,然后调调参数,再打打嘴炮。
其实基本就是个玩具。

【在 g****t 的大作中提到】
: (1)
: 如你所知,实现梯度为基础的办法,成本颇高。不是老司机的话,软件质量存疑。
: 但是我认为今后ANN的成熟tool chain会在使用中代替各种乱七八糟的梯度,牛顿,海
: 赛矩阵的应用。
: 所以第一推荐你可以试下整数线性规划用ANN,BP等来求解。
: 也许你很容易就可以和tensorflow等接起来。
: 本质上就相当于绕过自己实现梯度和伪梯度计算。
: 这是我第一推荐的办法。tool齐备。
: 把整数规划什么的modeling成神经网络的文献应该是90年代就有了。
: 缺点是现在dl不算海塞矩阵。用adams等估计来代替。

相关主题
今天的学习成果请问一个基本的minimization problem有没有近似解法? (转载)
每年cvpr aaai上那么多算法文章这个问题有快速算法么?
有无这样的算法或者理论问个算法,求两组交换元素后求和之间相差最小值
进入Programming版参与讨论
g****t
发帖数: 31659
31
你们的组织,two language dilemma怎么办?
R/matlab/Python cpp/c 吗?
我们是不同的组。matlab. Python Etc 加上C.
算法和developer分开。但是
developer不是算法的developer。算法的人
又开发的不是可以做developing的算法。
经常崩溃。
一崩溃我就休息半年。


: 我现在就用用python包。 二次型优化就用CVXOPT,还行,不过要把初值
和精度
弄好了

: ,否则会给出很搞笑的结果。

: 遗传算法就套用DEAP包。我这个不用上生产线,内部用,估计就是给几个
还行的
次优解

: ,然后调调参数,再打打嘴炮。

: 其实基本就是个玩具。



【在 b****u 的大作中提到】
: 我现在就用用python包。 二次型优化就用CVXOPT,还行,不过要把初值和精度弄好了
: ,否则会给出很搞笑的结果。
: 遗传算法就套用DEAP包。我这个不用上生产线,内部用,估计就是给几个还行的次优解
: ,然后调调参数,再打打嘴炮。
: 其实基本就是个玩具。

b****u
发帖数: 1130
32
我们R/matlab/vbs/python/java/scala/go/js 都有。
一团糟,我现在让他们尽可能多用python,这样维护或者需要上production的时候都会
比较方便。

【在 g****t 的大作中提到】
: 你们的组织,two language dilemma怎么办?
: R/matlab/Python cpp/c 吗?
: 我们是不同的组。matlab. Python Etc 加上C.
: 算法和developer分开。但是
: developer不是算法的developer。算法的人
: 又开发的不是可以做developing的算法。
: 经常崩溃。
: 一崩溃我就休息半年。
:
:
: 我现在就用用python包。 二次型优化就用CVXOPT,还行,不过要把初值

1 (共1页)
进入Programming版参与讨论
相关主题
predictive analysis只能用来prediction吧?求指教:关于汉字拆分和图像识别
一个算法问题求计算机大神指点方向
今天的学习成果并行可以降低计算复杂度??
每年cvpr aaai上那么多算法文章R已经是第六大语言了....
有无这样的算法或者理论卫东大神来说说阿尔法狗横扫棋坛这事吧
请问一个基本的minimization problem有没有近似解法? (转载)对于现在machine learning有个问题,请指教
这个问题有快速算法么?CNN做NLP工程多吗?
问个算法,求两组交换元素后求和之间相差最小值DL一个基础问题:
相关话题的讨论汇总
话题: br话题: 问题话题: gurobi话题: 变量话题: np