n=3;m=3;h=2; %初始状态及数据
m0=0;n0=0;
tic
LS=0;
LD=0;
for i=0:n
for j=0:m
if i>=j&n-i>=m-j|i==n|i==0
LS=LS+1;S(LS,:)=[i j];
end
if i+j>0&i+j<=h&(i>=j|i==0)
LD=LD+1;D(LD,:)=[i j];
end
end
end
N=15;
Q1=inf*ones(2*N,2*N);
Q2=inf*ones(2*N,2*N);
t=1;
le=1;
q=[m n];
f0=0;
while f0~=1&t<N
k=1;
sa=[];
sb=[];
for i0=1:le
s0=q(i0,:);
if f0==1
break
end
for i=1:LD
s1=s0+(-1)^t*D(i,:);
if s1==[m0,n0]
sa=[m0,n0];
sb=D(i,:);
f0=1;
break
end
for j=2:LS-1
if s1==S(j,:)
if k==1
sa(k,:)=s1;
sb(k,:)=D(i,:);
k=k+1;
break
end
if k>1
f1=0;
for ii=1:k-1
if s1==sa(ii,:)
f1=1;
break
end
end
end
if f1==0
sa(k,:)=s1;
sb(k,:)=D(i,:);
k=k+1;
break
end
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=zeros(tr,2);SB=zeros(tr,2);
for k=tr:-1:2
k1=k-1;f0=0;
sbb=Q2(:,k*2-1:k*2);
saa=Q1(:,k1*2-1:k1*2);
for i=1:2*N
saa2=saa1-(-1)^k*sbb(i,:);
for j=1:2*N
if saa2==saa(j,:)
saa1=saa2;
sbb1=sbb(i,:);
f0=1;
break
end
end
if f0==1
break
end
end
SA(k1,:)=saa1;
SB(k,:)=sbb1;
end
SA(tr,:)=[m0 n0];
SB(1,:)=[m,n]-SA(1,:);
disp '初始状态:'
X0=[m,n]
disp '状态为:'
SA
disp '决策为:'
SB
toc
没有合适的资源?快使用搜索试试~ 我知道了~
商人过河问题的MATLAB和C语言程序
共30个文件
pdb:4个
m:3个
ncb:2个
3星 · 超过75%的资源 需积分: 35 49 下载量 174 浏览量
2010-08-30
15:54:09
上传
评论 4
收藏 340KB RAR 举报
温馨提示
数学建模中经典问题商人过河问题的C语言和MATLAB源代码,绝对是自己想出来的算法,比枚举算法的时间复杂度要小得多,算法中运用了队列作为存储结构,自己感觉非常的巧妙! 希望广大朋友给我提出意见和建议Email:liang.wang.hubei@gmail.com,谢谢
资源推荐
资源详情
资源评论
收起资源包目录
商人过河C语言&MATLAB.rar (30个子文件)
商人过河
下载
商人过河.txt 2KB
chouxiang.m 2KB
businessman.m 2KB
is_save.m 149B
c语言版
businessman&servent.ncb 41KB
迷宫
magic.opt 48KB
magic.ncb 41KB
magic.dsw 518B
Debug
vc60.pdb 52KB
vc60.idb 33KB
magic.pdb 409KB
magic.ilk 192KB
magic.exe 168KB
magic.obj 7KB
magic.pch 223KB
magic.cpp 2KB
magic.plg 1KB
magic.dsp 3KB
businessman&servent.plg 272B
Debug
vc60.pdb 52KB
vc60.idb 33KB
businessman&servent.pch 215KB
businessman&servent.pdb 417KB
businessman&servent.ilk 173KB
businessman&servent.exe 168KB
businessman&servent.obj 7KB
businessman&servent.dsw 563B
businessman&servent.opt 48KB
businessman&servent.dsp 3KB
businessman&servent.cpp 3KB
共 30 条
- 1
资源评论
- 「已注销」2012-05-24里面有bug,我用的时候出现过死循环
- hsjfrancis2013-01-26有bug 貌似
wangliang3984337123
- 粉丝: 38
- 资源: 110
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功