R语言求解线性规划和非线性规划_第1页
R语言求解线性规划和非线性规划_第2页
R语言求解线性规划和非线性规划_第3页
R语言求解线性规划和非线性规划_第4页
R语言求解线性规划和非线性规划_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章线性规划与非线性规划例1max z=10x1+5x2s.t.5x1+2x2<=83x1+4x2=9x1+x2>=1x1,x2>=0首先可化为标准形式:min-z=-10x1-5x2s.t.5x1+2x1<=8-x1-x2<=-13x1+4x2=9x1,x2>=0library(Rglpk)obj<-c(-10,-5)mat<-matrix(c(5,2,-1,-1,3,4),3,2,T)dir<-c("<=","<=","==")rhs<-c(8,-1,9)Rglpk_solve_LP(obj,mat,dir,rhs)#直接求解library(Rglpk)obj<-c(10,5)mat<-matrix(c(5,2,1,1,3,4),3,2,T)dir<-c("<=",">=","==")rhs<-c(8,1,9)Rglpk_solve_LP(obj,mat,dir,rhs,max=T)非线性规划求解(Rdonp2)例2有如下的条件约束最优化问题:min(z=x2siny+y2cosx)'-100<x<100-100<y<1002<x+y<1<3x一y<3xy=2sinxcosy<3library(Rdonlp2)p=c(10,10) #迭代初始值#对求解问题进行描述min(z=x2siny+y2cosx)fn=function(x){x[1]人2*sin(x[2])+x⑵人2*cos(x[1])}#对x,y值域描述-100<x<100-100<y<100##par.l和par.u分别为约束的左边和右边par.l=c(-100,-100);par.u=c(100,100)##目标值域#对线性约束进行描述2<x+y1<3x-y<3A=matrix(c(1,1,3,-1),2,byrow=TRUE)##线性约束系数lin.l=c(2,1);lin.u=c(+Inf,3)##分别为约束的左边和右边#对非线性约束进行描述xy=2sinxcosy<3nlcon1=function(x){x[1]*x[2] ##公式x*y}nlcon2=function(x){sin(x[1])*cos(x[2]) ##公式sin(x)*cos(y)}##两个非线性约束的左右边##x*y=2等价于2<=x*y<=2

nlin.l=c(2,-Inf);nlin.u=c(2,0.6)#将参数输入donlp2函数中进行求解##输入参数第一行:x,y值域及目标函数##输入参数第二行:线性约束条件##输入参数第三,四行:非线性约束条件ret=donlp2(p,fn,par.u=par.u,par.l=par.l,A,lin.l=lin.l,lin.u=lin.u,nlin=list(nlconl,nlcon2),nlin.u=nlin.u,nlin.l=nlin.l)##输出结果ret$parret$par例3解下列二次规划7 '7if(x)=+ —两兀2—2Xj—6兀2*SJ.Xx^rX2<2,丿一兀]+2兀2兰2,2xi+x2<3.xx>0? >0+x1x1-[26]x1x2」xL2」二次规划的优化问题,这是一种特殊形式的非线性约束优化问题。二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。想要用quadprog包求解二次规划,我们需要同时转化我们的目标函数和约束条件为矩阵形式。quadprog包默认是求解最小化问题,目标函数二次,约束一次。所以,我们的约束条件默认的形式也就是AX>=bvec。通常我们需要把一些原来是求极大值的问题或者<=约束通过乘以负号来转化library(quadprog)Dmat<-matrix(c(1,-1,1,2),2,2,T)Dmatdvec<-c(2,6)A<-matrix(-c(1,1,-1,2,2,1),3,2,T)Abvec<-c(-2,-2,-3)Amat<-t(A)sol<-solve.QP(Dmat,dvec,Amat,bvec)sol参数Dmat表示海赛矩阵参数dvet表示一阶向量,和Dmat的维数要相对应。参数Amat表示约束矩阵,默认的约束都是>=。参数bvet表示右边值,由向量,和Amat的维数要相对应。参数meq表示从哪一行开始Amat矩阵中的约束是需要被当作等式约束的。例4假设以决策变量x1、x2、x3分别表示甲、乙、丙、丁4种肥料的用量,得线性规划模型"minz=0.04x+0.15x+O.lx+0.125xTOC\o"1-5"\h\z1 2 3 4s.t0.03x+0.3x+0.15x>321 2 4< 0.05x+0.2x+0.1x=241 3 40.14x+0.07x<421 4x,x,x,x>0/r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论