Fortran Coder

标题: Fortran程序 标准化,有偿,RMB5000 [打印本页]

作者: xyd1515    时间: 2015-11-17 21:58
标题: Fortran程序 标准化,有偿,RMB5000
本帖最后由 xyd1515 于 2015-11-18 19:08 编辑

我有一个 Fortran程序,是一个Professor80年代写的,运行起来没任何问题,大部分程序也能看得懂。问题是好多subroutine我们现在不怎么用,而且他的inpute很随意,没有任何标准在里面,包括date 输入,参数的变动。我想把它标准化,最好能做成一个package 或者 library,使用起来简单明了的那种。

整个程序大概1w行,刨除说明部分,可能8000行左右,是关于宏观经济,有很多loop 和 optimization, 应该不难,有问题可以一起做。我不知道怎么上传文件,感兴趣的朋友发email联系我,我的email: xuyongdeng@hotmail.com    qq/wetchat: 119238914.
这是我们项目中的一部分, 有项目基金支付.  不太难的话支付5000元, 如果太难或者花费时间太多, 可以再行商量价格.




作者: pasuka    时间: 2015-11-18 08:32
具体公式都是现成的话,还不如用Matlab或R重写一遍,1w行的F77代码改写到Matlab或R的话,通常不会超过2k行
相比之下,可读性、易用性会好很多
作者: aliouying    时间: 2015-11-18 12:23
改写代码还是比较容易的,如果仅仅是改成自由格式,去掉一些老掉牙的语法的话,工作量不大
作者: xyd1515    时间: 2015-11-18 19:47
多谢楼上两位的回复。第一步是在Fortran里改代码,因为Fortran中用的optimization 是 Powell's hybrid method,我搜了一下,Matlab里好像没有现成的。如果能在Matlab里这个,能在Matlat重写写出,那是最好了,毕竟matlab易用,我用matlab也比较多。

我上传文件到教授的个人网站 http://www.patrickminford.net/Fortran。 请二位看一看,如果愿意做的话请联系我,谢谢。

作者: xyd1515    时间: 2015-11-18 19:54
对了,我上传的Fortran主程序,还有一个Manuel, 稍后在上传。
作者: pasuka    时间: 2015-11-19 08:42
xyd1515 发表于 2015-11-18 19:47
多谢楼上两位的回复。第一步是在Fortran里改代码,因为Fortran中用的optimization 是 Powell's hybrid meth ...

年轻人,做事情的态度不能这么粗糙啊~明明已经有现成饭可吃,怎么能熟视无睹呢?

明明Matlab的优化工具箱已经有这个函数嘛
The Levenberg-Marquardt and trust-region-reflective methods are based on the nonlinear least-squares algorithms also used in lsqnonlin. Use one of these methods if the system may not have a zero. The algorithm still returns a point where the residual is small. However, if the Jacobian of the system is singular, the algorithm might converge to a point that is not a solution of the system of equations (see Limitations).

By default fsolve chooses the trust-region dogleg algorithm. The algorithm is a variant of the Powell dogleg method described in [8]. It is similar in nature to the algorithm implemented in [7]. See Trust-Region Dogleg Method.
The trust-region-reflective algorithm is a subspace trust-region method and is based on the interior-reflective Newton method described in [1] and [2]. Each iteration involves the approximate solution of a large linear system using the method of preconditioned conjugate gradients (PCG). See Trust-Region Reflective fsolve Algorithm.
The Levenberg-Marquardt method is described in references [4], [5], and [6]. See Levenberg-Marquardt Method.
Optimization Problem Setup
Equation Solving Algorithms
References

[1] Coleman, T.F. and Y. Li, "An Interior, Trust Region Approach for Nonlinear Minimization Subject to Bounds," SIAM Journal on Optimization, Vol. 6, pp. 418-445, 1996.

[2] Coleman, T.F. and Y. Li, "On the Convergence of Reflective Newton Methods for Large-Scale Nonlinear Minimization Subject to Bounds," Mathematical Programming, Vol. 67, Number 2, pp. 189-224, 1994.

[3] Dennis, J. E. Jr., "Nonlinear Least-Squares," State of the Art in Numerical Analysis, ed. D. Jacobs, Academic Press, pp. 269-312.

[4] Levenberg, K., "A Method for the Solution of Certain Problems in Least-Squares," Quarterly Applied Mathematics 2, pp. 164-168, 1944.

[5] Marquardt, D., "An Algorithm for Least-squares Estimation of Nonlinear Parameters," SIAM Journal Applied Mathematics, Vol. 11, pp. 431-441, 1963.

[6] Moré, J. J., "The Levenberg-Marquardt Algorithm: Implementation and Theory," Numerical Analysis, ed. G. A. Watson, Lecture Notes in Mathematics 630, Springer Verlag, pp. 105-116, 1977.

[7] Moré, J. J., B. S. Garbow, and K. E. Hillstrom, User Guide for MINPACK 1, Argonne National Laboratory, Rept. ANL-80-74, 1980.

[8] Powell, M. J. D., "A Fortran Subroutine for Solving Systems of Nonlinear Algebraic Equations," Numerical Methods for Nonlinear Algebraic Equations, P. Rabinowitz, ed., Ch.7, 1970.

See Also

fzero | lsqcurvefit | lsqnonlin | optimoptions


再去翻翻GSL的手册第36章 Multidimensional Root-Finding
36.9 References and Further Reading

The original version of the Hybrid method is described in the following articles by Powell,

M.J.D. Powell, “A Hybrid Method for Nonlinear Equations” (Chap 6, p 87–114) and “A Fortran Subroutine for Solving systems of Nonlinear Algebraic Equations” (Chap 7, p 115–161), in Numerical Methods for Nonlinear Algebraic Equations, P. Rabinowitz, editor. Gordon and Breach, 1970.
The following papers are also relevant to the algorithms described in this section,

J.J. Moré, M.Y. Cosnard, “Numerical Solution of Nonlinear Equations”, ACM Transactions on Mathematical Software, Vol 5, No 1, (1979), p 64–85
C.G. Broyden, “A Class of Methods for Solving Nonlinear Simultaneous Equations”, Mathematics of Computation, Vol 19 (1965), p 577–593
J.J. Moré, B.S. Garbow, K.E. Hillstrom, “Testing Unconstrained Optimization Software”, ACM Transactions on Mathematical Software, Vol 7, No 1 (1981), p 17–41


作者: xyd1515    时间: 2015-11-21 00:59
pasuka 发表于 2015-11-19 08:42
年轻人,做事情的态度不能这么粗糙啊~明明已经有现成饭可吃,怎么能熟视无睹呢?

明明Matlab的优化工具 ...

请问愿意帮忙吗?报酬可议。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2