基于旅行商模型的碎纸片拼接复原

对于2013 的碎片拼接问题的附件一与附件二,基于旅行商算法的碎片拼接问题,寻找最优哈密顿圈

先利用matlab计算出他的边权矩阵,再用lingo规划模型,求出最优的哈密顿圈,最终可以得到正确的排序,利用人工干预,找到 初末位置,即可还原。

matlab部分代码(求边权矩阵):

clear
close all
clc
dirname='C:\Users\Grin\Desktop\数学建模各种文档\2013年赛题\B\附件1';
files=dir([dirname,'\*.bmp']);
Num_file=numel(files);
I=cell(1,Num_file)
for k = 1:19

I{k} = imread([dirname '\' files(k).name]);
end

for k=1:19
    J(k)=graythresh(I{k});
    P{k}=im2bw(I{k},J(k));
end
for k=1:19
    [le,n]=size(P{k});
    left{k}=P{k}(:,1);
    right{k}=P{k}(:,n);
end
for k=1:19
    for n=1:19
         if n==k
       
        else
    a(n,k)=sum(abs(left{n}-right{k}));
         end
    end
end

lingo部分代码:

model:

sets:

cities/1..19/:u;

link(cit
  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值