第五讲优化问题详解.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
优化问题 ;;说明 若exitflag0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大数字,exitflag0表示函数不收敛于解x;lambda.lower 表示下界lb,lambda.upper表示上界ub,lambda.ineqlin表示不等式约束,lambda.eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output.iterations表示迭代次数,output.algorithm表示使用的运算规则,output.cgiterations表示PCG迭代次数(只适用于大型规划问题)。 ; 解: f=[-5,-4,-6]; A= [1 -1 1;3 2 4;3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);结果为: x = %最优解 0.0000 15.0000 3.0000 fval = %最优值 -78.0000 exitflag = %收敛 1 output = iterations: 6 %迭代次数 cgiterations: 0 algorithm: lipsol %所使用规则;lambda = ineqlin: [3x1 double] eqlin: [0x1 double] upper: [3x1 double] lower: [3x1 double] lambda.ineqlin ans = 0.0000 1.5000 0.5000 lambda.lower ans = 1.0000 0.0000 0.0000 表明:不等约束条件2和3以及第1个下界是有效的 ;二、非线性规划问题;函数 fminbnd 格式 x = fminbnd(fun,x1,x2) %返回自变量x在区间 上函数fun取最小值时x值,fun为目标函数 的表达式字符串或MATLAB自定义函数的函数柄。 x = fminbnd(fun,x1,x2,options) % options为指定优化参数选项 [x,fval] = fminbnd(…) % fval为目标函数的最小值 [x,fval,exitflag] = fminbnd(…) %xitflag为终止迭代的条件 [x,fval,exitflag,output] = fminbnd(…) % output为优化信息;说明 若参数exitflag0,表示函数收敛于x,若exitflag=0,表示超过函数估计值或迭代的最大数字,exitflag0表示函数不收敛于x;参数 output.iterations表示迭代次数,output.funccount表示函数赋值次数,output.algorithm表示所使用的算法。 ;例:计算 在区间(0,1)内的最小值。 解: [x,fval,exitflag,output]=fminbnd((x^3+cos(x)+x*log(x))/exp(x),0,1) x = 0.5223 fval = 0.3974 exitflag = 1 output = iterations: 9 funcCount: 9 algorithm: golden section search, parabolic interpolation;例:在[0,5]上求 的最小值 解:先自定义函数:在MATLAB编辑器中建立M文件为: function f = myfun(x) f = (x-3).^2 - 1; 保存为myfun.m,然后在命令窗口键入命令: x=fminbnd(@myfun,0,5) 则结果显示为: x = 3;2. 无约束多元函数最小值 多元函数最小值的标准形式为 命令 利用函数fminsearch求无约束多元函数最小值 函数 fminsearch 格式 x = fminsearch(fun,x0) %x0为初始点,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄。 x = fminsearch(fun,x0,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档