找回密码
 注册
查看: 2218|回复: 0

R语言 Rsolnp包 gosolnp()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-9-28 22:14:43 | 显示全部楼层 |阅读模式
gosolnp(Rsolnp)
gosolnp()所属R语言包:Rsolnp

                                         Random Initialization and Multiple Restarts of the solnp solver.
                                         随机初始化和多次启动的solnp解算器。

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

When the objective function is non-smooth or has many local minima, it is hard to judge the optimality of the solution, and this usually depends critically on the starting parameters. This function enables the generation of a set of randomly chosen parameters from which to  initialize multiple restarts of the solver (see note for details).
当目标函数的非光滑或有许多局部极小,这是很难判断的最优的解决方案,而这通常取决于关键的启动参数。此功能可以生成一组从中随机选择的参数初始化多个求解器,重新启动(有关详细信息,请参阅附注)。


用法----------Usage----------


gosolnp(pars = NULL, fixed = NULL, fun, eqfun = NULL, eqB = NULL, ineqfun = NULL, ineqLB = NULL, ineqUB = NULL,
LB = NULL, UB = NULL, control = list(), distr = rep(1, length(LB)), distr.opt = list(), n.restarts = 1,
n.sim = 20000, parallel = FALSE, parallel.control = list(pkg = c("multicore", "snowfall"), cores = 2), rseed = NULL, ...)



参数----------Arguments----------

参数:pars
The starting parameter vector. This is not required unless the fixed option is also used.  
的起始参数矢量。这不是必须的,除非固定选项也可用于。


参数:fixed
The numeric index which indicates those parameters which should stay fixed instead of being randomly generated.  
表示应保持固定的参数,而不是随机产生的数字索引。


参数:fun
The main function which takes as first argument the parameter vector and returns a single value.  
作为第一个参数的函数,该函数的参数向量,返回单个值。


参数:eqfun
(Optional) The equality constraint function returning the vector of evaluated equality  constraints.  
(可选)等式约束函数返回的向量评估等式约束。


参数:eqB
(Optional) The equality constraints.  
(可选)等式约束。


参数:ineqfun
(Optional) The inequality constraint function returning the vector of evaluated inequality  constraints.  
(可选)不等式约束函数返回的向量评估的不等式约束。


参数:ineqLB
(Optional) The lower bound of the inequality constraints.  
(可选)的下界不等式约束。


参数:ineqUB
(Optional) The upper bound of the inequality constraints.  
(可选)的上界的不等式约束。


参数:LB
The lower bound on the parameters. This is not optional in this function.  
对参数的下界。在这个函数中,这是不可选的。


参数:UB
The upper bound on the parameters. This is not optional in this function.  
上界的参数。在这个函数中,这是不可选的。


参数:control
(Optional) The control list of optimization parameters. The eval.type option in this control list denotes whether to evaluate the function as is and exclude inequality violations in the final ranking (default, value = 1), else whether to evaluate a penalty barrier function comprised of the objective and all constraints (value = 2). See solnp function documentation for details of the remaining control options.  
(可选)控制的优化参数列表。 eval.type选项控制列表在此表示是否要评估的功能是排除不平等冲突的最终排名(默认值= 1),否则是计算罚款的目的和屏障功能包括所有的约束(值= 2)。剩余的控制选项的详细信息,请参阅solnp函数的文档。


参数:distr
A numeric vector of length equal to the number of parameters, indicating the choice of distribution  to use for the random parameter  generation. Choices are uniform (1), truncated normal (2), and normal (3).  
甲数值向量的长度等于参数的数目,表示分布的选择要使用的随机参数生成。选择是均匀的(1),截断正常(2),以及正常的(3)。


参数:distr.opt
If any choice in distr was anything other than uniform (1), this is a list equal to the length of the parameters with sub-components for the mean and sd, which are required in the truncated normal and normal distributions.  
在distr,如果没有选择任何其他比均匀的(1),这是一个列表的长度等于与子组件的均值和标准差,这是需要的截断的正常和正态分布的参数。


参数:n.restarts
The number of solver restarts required.  
求解器重新启动需要的数量。


参数:n.sim
The number of random parameters to generate for every restart of the solver. Note that there will always be significant rejections if inequality bounds are present. Also, this choice should also be motivated by the width of the upper and lower bounds.  
每次重新启动求解器,生成的随机参数的数量。请注意,总是会有显着的拒绝,如果存在不平等界限。此外,这种选择也应受到激励的宽度的上限和下限。


参数:parallel
Whether to make use of parallel processing on multicore systems.  
是否利用多核系统上的并行处理。


参数:parallel.control
The parallel control options including the type of package for performing the parallel calculations  ("multicore" for non-windows O/S and "snowfall" for all O/S), and the number of cores to make use of.  
并行控制选项,包括包的类型进行并行计算(多核非Windows O / S和“降雪”,所有的O / S),核心数量的利用。


参数:rseed
(Optional) A seed to initiate the random number generator, else system time will be used.  
(可选)种子,启动随机数生成器,否则系统时间将被使用。


参数:...
(Optional) Additional parameters passed to the main, equality or inequality functions  
(可选)附加参数传递给主,平等或不平等的功能


Details

详细信息----------Details----------

Given a set of lower and upper bounds, the function generates, for those parameters not set as fixed, random values from one of the 3 chosen distributions. Depending on the eval.type option of the control argument, the function is either directly evaluated for those points not violating any inequality constraints, or indirectly via a penalty barrier function jointly comprising the objective  and constraints. The resulting values are then sorted, and the best N (N = random.restart) parameter  vectors (corresponding to the best N objective function values) chosen in order to initialize the  solver.
给定一组的上界和下界,该函数产生,对于那些未设置为固定的,从一个的3个选择的分布的随机值的参数。根据eval.type control参数选项,该功能可以直接评估这些点没有违反任何不等式约束,或间接通过共同的目标和约束包括罚款屏障功能。产生的值,然后排序,选择的最佳的N(N = random.restart)的参数向量(对应的最佳的N个目标函数值),以初始化解算器。


值----------Value----------

A list containing the following values:
一个列表,其中包含以下值:


参数:pars
Optimal Parameters.
最优参数。


参数:convergence
Indicates whether the solver has converged (0) or not (1).
指示是否在求解器收敛(0)或(1)。


参数:values
Vector of function values during optimization with last one the value at the optimal.
在优化过程中最后一个值的最佳向量的函数值。


参数:lagrange
The vector of Lagrange multipliers.
拉格朗日乘子向量。


参数:hessian
The Hessian at the optimal solution.
的Hessian的最优解。


参数:ineqx0
The estimated optimal inequality vector of slack variables used for  transforming the inequality into an equality constraint.
最佳估计数不平等向量的松弛变量,用于改造成一个等式约束的不平等。


参数:nfuneval
The number of function evaluations.
功能评估。


参数:elapsed
Time taken to compute solution.
所需的时间来计算的解决方案。


参数:start.pars
The parameter vector used to start the solver
用于启动求解器的参数向量


注意----------Note----------

The choice of which distribution to use for randomly sampling the parameter space should be driven by the user's knowledge of the problem and confidence or lack thereof of the parameter distribution. The uniform distribution indicates a lack of confidence in the location or dispersion of the parameter, while the truncated normal indicates a more confident choice in both the location and dispersion. On the other hand, the normal indicates perhaps a lack of knowledge in the upper or lower bounds, but some confidence in the location and dispersion of the parameter. In using choices (2) and (3) for distr, the distr.opt list must be supplied with mean and  sd as subcomponents for those parameters not using the uniform (the examples section hopefully clarifies the usage).
其中分配给用于随机采样的参数空间的选择应驱动的问题和信心或缺乏它们的参数分布由用户的知识。均匀分布表明缺乏信心的地点或分散的参数,而截断正常显示的位置和分散在一个更加自信的选择。另一方面,正常表示也许知识缺乏的上限或下限,但有些信心的参数的位置和分散。在使用选择(2)和(3)distr,distr.opt列表必须提供与mean和sd不使用这些参数的子组件的统一(示例一节中希望澄清的使用)。


(作者)----------Author(s)----------



Alexios Ghalanos and Stefan Theussl<br>
Y.Ye (original matlab version of solnp)




参考文献----------References----------

linear programming, PhD Thesis, Department of EES Stanford University, Stanford CA.<br> Hu, X. and Shonkwiler, R. and Spruill, M.C. Random Restarts in Global Optimization, 1994, Georgia Institute of technology, Atlanta.

实例----------Examples----------


## Not run: [#不运行:]
# Distributions of Electrons on a Sphere Problem[球体上的电子分布问题]
# Given n electrons, find the equilibrium state distribution (of minimal Coulomb potential) [给定n个电子,找到平衡态分布(最小的库仑势)]
# of the electrons positioned on a conducting sphere. This model is from the COPS benchmarking suite.[导电球定位在电子。这个模型是由COPS基准测试。]
# See http://www-unix.mcs.anl.gov/~more/cops/.        [见http://www-unix.mcs.anl.gov/ /警察/。]
        gofn = function(dat, n)
        {
               
                x = dat[1:n]
                y = dat[(n+1)2*n)]
                z = dat[(2*n+1)3*n)]
                ii = matrix(1:n, ncol = n, nrow = n, byrow = TRUE)
                jj = matrix(1:n, ncol = n, nrow = n)
                ij = which(ii<jj, arr.ind = TRUE)
                i = ij[,1]
                j = ij[,2]
                #  Coulomb potential[库仑势]
                potential = sum(1.0/sqrt((x[i]-x[j])^2 + (y[i]-y[j])^2 + (z[i]-z[j])^2))
                potential
        }
       
        goeqfn = function(dat, n)
        {
                x = dat[1:n]
                y = dat[(n+1)2*n)]
                z = dat[(2*n+1)3*n)]
                apply(cbind(x^2, y^2, z^2), 1, "sum")
        }
       
        n = 25
        LB = rep(-1, 3*n)
        UB = rep(1,  3*n)
        eqB = rep(1, n)
        ans = gosolnp(pars  = NULL, fixed = NULL, fun = gofn, eqfun = goeqfn, eqB = eqB, LB = LB, UB = UB,
                        control = list(outer.iter = 100, trace = 1), distr = rep(1, length(LB)), distr.opt = list(),
                        n.restarts = 2, n.sim = 20000, rseed = 443, n = 25)
        # should get a function value around 243.813[应该得到一个函数值约243.813]

## End(Not run)[#(不执行)]

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-27 17:45 , Processed in 0.023497 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表