楼主: Gsir
1500 0

[程序分享] Rdonlp2求解非线性规划时迭代初始值怎么求?求大神指点程序错误!!! [推广有奖]

  • 0关注
  • 0粉丝

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-7-1
最后登录
2018-7-2

3论坛币
请问各位Rdonlp2函数求解非线性规划时迭代值怎么确定?为什么我的函数编出来之后答案和预期差别很大?
求大神指点一下哪里出错,感恩!

附函数如下(其中的迭代值p是我自己随便编的,F,D是两个已经确定对的自定义函数):

> fn<-function(par){
+ x1<-par[1];x2<-par[2];x3<-par[3];x4<-par[4];x5<-par[5];x6<-par[6];x7<-par[7];x8<-par[8];x9<-par[9];x10<-par[10];x11<-par[11];x12<-par[12];x13<-par[13]
+ F(x1)*x1-D(x1)+F(x2)*x2-D(x2)+F(x3)*x3-D(x3)+F(x4)*x4-D(x4)+F(x5)*x5-D(x5)+F(x6)*x6-D(x6)+F(x7)*x7-D(x7)+F(x8)*x8-D(x8)+F(x9)*x9-D(x9)+F(x10)*x10-D(x10)+F(x11)*x11-D(x11)+F(x12)*x12-D(x12)+F(x13)*x13-D(x13)
+ }
> library(Rdonlp2)
> par.l<-c(rep(0,13))
> par.u<-c(rep(16000,12),15445)
> A<-matrix(c(1,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,1,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,1,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,1,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,1,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,1,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,1,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,1,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,1,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,1,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,1,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,1,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,1,
+ 1,1,1,1,1,1,0,0,0,0,0,0,0),nrow=14,byrow=TRUE)
> lin.l<-c(rep(0,14))
> lin.u<-c(rep(16000,12),15445,56000)
> p<-c(rep(10,13))
> ret<-donlp2(par=p,fn=fn,par.u=par.u,par.l=par.l,A=A,lin.l=lin.l,lin.u=lin.u)
> ret$par.
NULL
> ret$par
[1] 10 10 10 10 10 10 10 10 10 10 10 10 10



关键词:非线性规划 自定义函数 函数求解 线性规划 非线性
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 18:45