- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学实验12
中国人工智能第十二届学术年会 基于MATLAB的数学实验 综合实验十二 注意:Matlab中,产生参数为 的指数分布的命令为exprnd( ) 例 顾客到达某商店的间隔时间服从参数为0.1的指数分布 指数分布的均值为1/0.1=10。 指两个顾客到达商店的平均间隔时间是10个单位时间.即平均10个单位时间到达1个顾客. 顾客到达的间隔时间可用exprnd(10)模拟。 系统的假设: 顾客源是无穷的; 排队的长度没有限制; 到达系统的顾客按先后顺序依次进入服务, 即“先到先服务”。 clear i=2; w=0; x(i)=exprnd(10); c(i)=x(i); b(i)=x(i); while b(i)=480 y(i)=unifrnd(4,15); e(i)=b(i)+y(i); w=w+b(i)-c(i); i=i+1; x(i)=exprnd(10); c(i)=c(i-1)+x(i); b(i)=max(c(i),e(i-1)); end i=i-2; t=w/i; m=i Clear,cs=100; for j=1:cs j w(j)=0; i=2; x(i)=exprnd(10); c(i)=x(i); b(i)=x(i); while b(i)=480 y(i)=unifrnd(4,15); e(i)=b(i)+y(i); w(j)=w(j)+b(i)-c(i); i=i+1; x(i)=exprnd(10); c(i)=c(i-1)+x(i); b(i)=max(c(i),e(i-1)); end i=i-2; t(j)=w(j)/i; m(j)=i; end pt=0; pm=0; for j=1:cs pt=pt+t(j); pm=pm+m(j); end pt=pt/cs, pm=pm/cs % mylp.m function z=mylp(x) %目标函数 z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2); %转化为求最小值问题 % lpconst.m function lpc=lpconst(x) %约束条件 if 3*x(1)+x(2)-10=0.5 3*x(1)+x(2)-10=-0.5 %约束条件的误差为 lpc=1; else lpc=0; end Clear,k1=0;k2=0;k3=0; for i=1:200 i, R1=rand if R1=0.5 R2=rand if R2=3/6 k1=k1+1; else if R25/6 k3=k3+1; else k2=k2+1; end end else k1=k1+1; end end E=(k2+k3)/200;E1=(0*k1+1*k2+2*k3)/200;rand(n); 模拟一日 模拟100日 用蒙特卡洛法解非线性规划问题 基本假设 试验点的第j个分量xj服从[aj ,bj]内的均匀分布. 符号假设 求解过程 先产生一个随机数作为初始试验点,以后则将上一个试验点的第j个分量随机产生,其它分量不变而产生一新的试验点.这样,每产生一个新试验点只需一个新的随机数分量.当KMAXK或PMAXP时停止迭代. 框 图 初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数 xj=aj+R(bj-aj) j=1,2,…,n j=0 j=j+1,p=p+1 PMAXP? Y N xj=aj+R(bj-aj) gi(X)≥0? i=1,2…n Y N jn? f(X)≥Q? Y N X*=X,Q=f(X) k=k+1 kMAXK? Y N 输出X,Q,停止 Y N 在Matlab软件包中编程,共需三个M-文件: randlp.m, mylp.m, lpconst.m. 主程序为randlp.m. % randlp.m function [sol,r1,r2]=randlp(a,b,n) %随机模拟解非线性规划 debug=1;a=0; %试验点下界 b=10; n=1000; %试验点上界%试验点个数 r1=unifrnd(a,b,n,1); %n1
文档评论(0)