数学建模社区-数学中国

标题: 蒙特卡罗方法解线性规划 [打印本页]

作者: warmsnowman    时间: 2012-6-16 20:28
标题: 蒙特卡罗方法解线性规划
求蒙特卡罗方法解线性规划详细的步骤和程序代码% l+ C) r' m0 R! g

作者: liwenhui    时间: 2012-6-25 17:05
它的核心思想是构造一个“摸球”的马尔可夫过程,目前国内好像没这方面的书籍出版,英文的书籍倒是有。
作者: warmsnowman    时间: 2012-6-28 12:25
liwenhui 发表于 2012-6-25 17:05 . X# {, G" v! y
它的核心思想是构造一个“摸球”的马尔可夫过程,目前国内好像没这方面的书籍出版,英文的书籍倒是有。
" N4 `  T' n% n7 T
我后来是在线性规划的约束条件下产生随机数然后代入价值函数中求值。
  e0 F+ Q9 J- l0 J7 O3 i, o你说的“构造一个“摸球”的马尔可夫过程”,我有点难以理解。能不能给出个例子具体说明下。谢谢
作者: liwenhui    时间: 2012-6-28 12:48
本帖最后由 liwenhui 于 2012-6-28 12:55 编辑 % T0 {! W+ F* h; b
warmsnowman 发表于 2012-6-28 12:25 9 o' I/ ]) t( C- ^. m' S
我后来是在线性规划的约束条件下产生随机数然后代入价值函数中求值。
3 t4 I' O  N8 }+ `你说的“构造一个“摸球”的马尔可 ...

3 |* _8 s9 }) f) f( s& O' {3 Y" a* ]' y  x# b) N( Q. k  X
这个过程一两句话说不清楚,我看能不能找到相关的资料给你看看。
% u+ v% S% P- t/ s$ X- @/ N用蒙特卡罗方法可以求解线性方程组、偏微分方程等,其主要思路俱是构造马尔可夫过程。( P( t6 }5 e: Y' s
# l( N$ S1 w( f) H0 J  F
你的思路其实是“随机搜索”爬山法' y! b5 t7 e, r! O& q, Z  q- ^3 U
如果目标函数只有个极值的话它能收敛到最优解,但是如果有多个极值,它只能收敛到局部解。
. ^3 o# J9 e0 X7 N( I9 k; O1 N. k; ?+ E对于多元情况,你如何产生随机数?是“多维联合分布"产生还是单独地一个一个地产生随机数?
( l* |) t& r$ S我在知网上面见过类似的论文,是一些老师写的,我感它他们的理论推导不够,不能保证全局最优
4 X' M" m& C1 @6 K) q. P; ~其实,有类似的算法来求最优值,并且保证结果的收敛,它就是“模拟退火过程”,我一直想证明5 ~; [1 j( a, y, Z2 m% V
模拟退火过程与MCMC方法的等价性。
作者: warmsnowman    时间: 2012-6-29 09:52
liwenhui 发表于 2012-6-28 12:48 + `) @3 F3 W2 u# ?- H
这个过程一两句话说不清楚,我看能不能找到相关的资料给你看看。9 u  M/ M) n# [' ~# S
用蒙特卡罗方法可以求解线性方程组、 ...
+ h! \) J* [1 p; s% y1 o+ D
多元的情况,产生随机数也是方便的吧,比如取分布都是独立同分布。(这样也就是一个一个产生的了)1 F: ?8 S" X0 ~7 d3 F

! i  D; s: Y  b; L0 u; |  }的确我那样做的话,不能保证是全局最优的
作者: liwenhui    时间: 2012-6-29 17:28
线性规划最好用单纯型迭代,不必要使用蒙特卡罗方法! G, j. C+ F; [$ N
每个方法都其实用范围,如果为了结果的准确性的话就选用最合适的方法
6 I6 g/ u% ?, B' K$ d当人,如果为了探索而得到标新立异的方法话,另当别论。
作者: warmsnowman    时间: 2012-6-29 21:59
liwenhui 发表于 2012-6-29 17:28   J5 k5 U" d( O3 M( C
线性规划最好用单纯型迭代,不必要使用蒙特卡罗方法
: d* S6 f2 a: N2 H) W2 y$ G每个方法都其实用范围,如果为了结果的准确性的话就选 ...

2 |8 A8 k; i8 F7 i8 U( y9 P那是当然,在实际应用中如果有针对性的算法就用针对性的算法最好。% V: m. H  L3 \0 Q, X7 Y
但我这是只是想研究拓展下蒙特卡罗的用法,看下他在其他方面的应用,说不定有新的发现




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5