商人安全渡河问题Matlab.docx

上传人:蓝**** 文档编号:94659792 上传时间:2023-08-04 格式:DOCX 页数:6 大小:11.21KB
返回 下载 相关 举报
商人安全渡河问题Matlab.docx_第1页
第1页 / 共6页
商人安全渡河问题Matlab.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《商人安全渡河问题Matlab.docx》由会员分享,可在线阅读,更多相关《商人安全渡河问题Matlab.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、商人过河问题的MATLAB编程clear all % 080817clc % n为商人数,m为仆人数,h为每次过河的最多人数 n=3;m=3;h=2; %初始状态及数据m0=0;n0=0;ticLS=0; % 允许的状态集合S与个数LSLD=0; %允许的决策集合D与个数LDfor i=0:nfor j=0:mif i=j&n-i=m-j|i=n|i=0LS=LS+1;S(LS,:)=i j;endif i+j0&i+j=j|i=0)LD=LD+1;D(LD,:)=i j; endendend%用搜寻法找出符合条件的渡河方案%$N=15;Q1=inf*ones(2*N,2*N);Q2=inf*

2、ones(2*N,2*N);t=1;le=1;q=m n;f0=0; %判断循环终止标记while f0=1&t1 %对重复状态删除处理f1=0;for ii=1:k-1if s1=sa(ii,:)f1=1;break endendend %if f1=0sa(k,:)=s1; sb(k,:)=D(i,:);k=k+1;breakend end end %end %end %q=sa;le=size(q,1);Q1(1:le,t*2-1:t*2)=q;Q2(1:le,t*2-1:t*2)=sb;t=t+1; end %$%在可行方案集合中逆向搜寻唯一方案%¥tr=t-1;saa1=sa;SA=

3、zeros(tr,2);SB=zeros(tr,2);for k=tr:-1:2k1=k-1;f0=0;sbb=Q2(:,k*2-1:k*2);saa=Q1(:,k1*2-1:k1*2);for i=1:2*Nsaa2=saa1-(-1)k*sbb(i,:);for j=1:2*Nif saa2=saa(j,:)saa1=saa2;sbb1=sbb(i,:);f0=1;breakendendif f0=1breakendendSA(k1,:)=saa1;SB(k,:)=sbb1;endSA(tr,:)=m0 n0;SB(1,:)=m,n-SA(1,:);%¥disp 初始状态:X0=m,ndisp 状态为:SAdisp 决策为:SBtoc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁