24小时热门版块排行榜    

查看: 2357  |  回复: 13

人民海军

木虫 (职业作家)

引用回帖:
5楼: Originally posted by zdy2008 at 2014-07-05 21:49:12
别动不动就职责别人,好吧!到底是不是规划你动脑筋想想,或者在网上查查,或者把运筹学的书找出来看看,实在不行就来找我~~~...

AX=b这叫线形规划?你的运筹老师真悲哀

[ 发自小木虫客户端 ]
Letbygonesbebygones.
11楼2014-07-05 22:12:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

u2007

木虫 (正式写手)

【答案】应助回帖

引用回帖:
10楼: Originally posted by zdy2008 at 2014-07-05 22:11:58
是线性的,用matlab做过,但运行很慢~~~...

那就用IBM ILOG CPlex求解吧,再不行,可根据问题的特点设计算法求解近似最优解
12楼2014-07-05 22:26:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lbb122400

金虫 (小有名气)

lindo或lingo,或者cplex
13楼2014-07-06 01:02:37
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 zdy2008 的主题更新
信息提示
请填处理意见