abraham_du
我想用R来解一个Bellman Function,所以要用到递归形式的函数,请问用R如何写?
就象时间序列那样的形式,后一期的函数值是前一个时期变量的一个函数.
还有,有没有人用解过Bellman形式的动态规划问题?是不是用constrOptim命令就足够了?
abraham_du
还有,box constrained problem是什么意思?不懂
rtist
只要注意变量scoping,就像写任何一个通常意义上的递归函数即可。我不觉得在这点上R有什么特殊的。
box constrained是指每个参数的取直范围都在某一个闭区间内。
abraham_du
还有请问斑竹,在constrOptim函数中,约束条件中的ui和ci究竟指什么?是不是把通常意义下的约束条件写成矩阵形式后对应的变量前的系数和其他常数项?
还请斑竹用R写一个具体递归的函数,我不太会写.
真心诚意请教.
rtist
[quote]引用第3楼abraham_du于2007-08-23 09:56发表的“”:
还有请问斑竹,在constrOptim函数中,约束条件中的ui和ci究竟指什么?是不是把通常意义下的约束条件写成矩阵形式后对应的变量前的系数和其他常数项?
还请斑竹用R写一个具体递归的函数,我不太会写.
真心诚意请教.[/quote]
约束条件中的ui和ci究竟指什么?:====
ui%*%you_parameters>=ci
i.e., linear constraints
还请斑竹用R写一个具体递归的函数,我不太会写.====
search my post on matrix power in this board
rtist
[quote]引用第0楼abraham_du于2007-08-23 03:32发表的“请问如何用R写一个递归的(recursive)函数?[and constrOptim()]”:
还有,有没有人用解过Bellman形式的动态规划问题?是不是用constrOptim命令就足够了?[/quote]
如果你确定可以用dynamic programming的话,那么就不要用constrOptim,后者是用来解更困难的问题的算法,在dynamic programming可以求解的情况下,表现反而不好。
abraham_du
谢谢斑竹的解答.
[quote]引用第5楼rtist于2007-08-24 01:48发表的“”:
如果你确定可以用dynamic programming的话,那么就不要用constrOptim,后者是用来解更困难的问题的算法,在dynamic programming可以求解的情况下,表现反而不好。[/quote]
我的DP问题因为有很复杂的约束条件,所以想到用constrOptim函数,斑竹这样讲是不是还有更好的办法?
rtist
[quote]引用第6楼abraham_du于2007-08-24 09:35发表的“”:
我的DP问题因为有很复杂的约束条件,所以想到用constrOptim函数,斑竹这样讲是不是还有更好的办法?
[/quote]
I don't know what's your problem, and I don't think I have time/expertise to play with any specific optimization problems. But constrOptim can only handle "linear" constraints. If your constraints are complicated, probably it cannot work on that(depending on what do you mean by "complicated constraints").
And if you know there are existing algorithms for your problem, use it, instead of relying on constrOptim.
abraham_du
我的问题的目标函数和约束条件都不是线性的,但是我选择用DFP算法,所以约束条件最后还是线性的,这个倒不是太大的问题,主要是约束条件很多,而且都涉及到动态问题,所以将约束条件直接代到目标函数有些困难,用s.t 来表示显得方便,也整洁.