24小时热门版块排行榜    

查看: 2366  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zdy2008

新虫 (小有名气)

[求助] 一个约束规划问题求解 已有5人参与

求解这类约束规划问题有没有运算速度比较快的算法?我这里的X是6200维的向量,A是7000*6200的矩阵,lb和ub都是6200维的向量。用matlab自带的规划算法计算速度非常慢!

一个约束规划问题求解
1W(V{2MA2$BM_GU]DI2R5WY.jpg
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

suntree4152

铁虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你的目标函数是什么?假设你的目标函数为f(x), 如果以下几个条件满足,那么高效的算法是存在的(以下我给你描述的是内点法--interior point method or Nestrov-Todd method 在matlab里面的优化函数中也有这个option.):
1. f(x)是凸函数,且它的Hessian矩阵H之逆易于算出(如对角矩阵,傅里叶变换矩阵等)。
2. A 满足一定的结构如低秩序(low-rank),那么增广Hessian矩阵 H^= [H, A'; A, 0]之逆就可以通过Schur分解快速求解, 在你的描述中A是7000*6200矩阵,这是一个超定矩阵显然不符合low-rank的要求,其实你提供的这个A矩阵是包含冗余信息的, AX=b要么没解,要么有唯一解,要么可以再简化为k*6200矩阵,其中k<6200, 我怀疑你打错了,应该比如是700*6200之类。
3.最后的bound-constraints lb<X<ub,可以把该constrait替换为log-barrier penalty function: 如 x<ub 替换为 theta*log(|ub-x|).这样你原来的问题:
min f(x) s.t Ax = b, lb<x<ub            (1)
可以theta-approximated by 如下问题:
min f(x) + theta*[log(|x-lb|)+log(|ub-x|), s.t. Ax=b      (2)
在内点法运行的过程中, 参数theta (theta > 0) 逐步减少,但theta足够小时, (1)和(2)可视为等价。规划(2)也是一个凸规划, 可以用newton法来解决。
14楼2014-07-06 08:32:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

peterflyer

木虫之王 (文学泰斗)

peterflyer


【答案】应助回帖

感谢参与,应助指数 +1
恕我才疏学浅和孤陋寡闻,向楼主商榷和请教:窃以为第二式是不是写法上存在一些问题?向量的模可以比较大小,但向量本身如何比较大小呢?
2楼2014-07-05 14:11:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhenwuhuang

至尊木虫 (文学泰斗)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
zdy2008: 金币+5 2014-10-29 20:36:59
线性约束非线性规划问题的一新算法
http://www.docin.com/p-369170524.html
3楼2014-07-05 14:40:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人民海军

木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
问问题专业点,这是规划问题吗

[ 发自小木虫客户端 ]
Letbygonesbebygones.
4楼2014-07-05 18:00:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见