• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab-整数规划(非线性规划之蒙特卡洛法(随机取样法))

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
首先编写M 文件mengte.m 定义目标函数f 和约束向量函数g,程序如下:
function [f,g]=mengte(x);%定义目标函数f和约束向量函数g f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3)-x(4)-2*x(5); g=[sum(x)-400 x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800 2*x(1)+x(2)+6*x(3)-200 x(3)+x(4)+5*x(5)-200];注:文件名一定要与定义的函数名一致!
编写M文件mainint.m如下求问题的解:
rand(\'state\',sum(clock)); p0=0; tic %tic表示计时的开始,toc表示计时的结束 for i=1:10^6 x=99*rand(5,1) %rand函数产生0-1之间的随机数,表明了0=<xi<=99 x1=floor(x); %floor朝负无穷方向取整 x2=ceil(x); %ceil朝正无穷方向取整 [f,g]=mengte(x1); if sum(g<=0)==4 if p0<=f x0=x1;p0=f; end end [f,g]=mengte(x2); if sum(g<=0)==4 if p0<=f x0=x2;p0=f; end end end x0,p0 toc

 

MATLAB中四个取整函数具体使用方法如下:

Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
通过matlab计算卫星位置发布时间:2022-07-18
下一篇:
黄聪:Delphi 中的 XMLDocument 类详解(14) - 遍历 XML 文件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap