2018-11-03数模日记

今天上午继续学图论,想明白了人狼羊过河问题,
即:

2018-11-03数模日记_第1张图片
Screen Shot 2018-11-03 at 4.20.33 PM.png

2018-11-03数模日记_第2张图片
Screen Shot 2018-11-03 at 4.20.41 PM.png

了解了最短路算法, Dijkstra算法
但不是很懂数学表达,以及在matlab中的应用
比如下面的ppt:
2018-11-03数模日记_第3张图片
Screen Shot 2018-11-03 at 4.27.58 PM.png

2018-11-03数模日记_第4张图片
Screen Shot 2018-11-03 at 4.28.04 PM.png

2018-11-03数模日记_第5张图片
Screen Shot 2018-11-03 at 4.28.13 PM.png

2018-11-03数模日记_第6张图片
Screen Shot 2018-11-03 at 4.28.21 PM.png

2018-11-03数模日记_第7张图片
Screen Shot 2018-11-03 at 4.28.27 PM.png

2018-11-03数模日记_第8张图片
Screen Shot 2018-11-03 at 4.28.33 PM.png

2018-11-03数模日记_第9张图片
Screen Shot 2018-11-03 at 4.28.40 PM.png

2018-11-03数模日记_第10张图片
Screen Shot 2018-11-03 at 4.28.47 PM.png

2018-11-03数模日记_第11张图片
Screen Shot 2018-11-03 at 4.28.52 PM.png

2018-11-03数模日记_第12张图片
Screen Shot 2018-11-03 at 4.28.58 PM.png

2018-11-03数模日记_第13张图片
Screen Shot 2018-11-03 at 4.29.03 PM.png

然后学习了子图的概念,分为点和边,
然后关于 完全m叉树有如下结论及应用:
2018-11-03数模日记_第14张图片
Screen Shot 2018-11-03 at 4.35.46 PM.png

2018-11-03数模日记_第15张图片
Screen Shot 2018-11-03 at 4.35.53 PM.png

然后学了了连通度的概念,包括顶点割,割点等,尚不是很清晰,希望在要用时好好梳理。
接下来是生成树,树形图的概念,以及最优树的算法(Kruskal),最小树形图的算法(有些难),在课的最后介绍了欧拉图(由七桥问题引出)
2018-11-03数模日记_第16张图片
Screen Shot 2018-11-03 at 4.40.45 PM.png

2018-11-03数模日记_第17张图片
Screen Shot 2018-11-03 at 4.40.58 PM.png

2018-11-03数模日记_第18张图片
Screen Shot 2018-11-03 at 4.41.03 PM.png

2018-11-03数模日记_第19张图片
Screen Shot 2018-11-03 at 4.41.08 PM.png

下午

罚函数外点法求解非线性方程最优解

学到的matlab知识有:fminsearch(),常用function定义函数,用函数句柄使用@
参见 罚函数外点法求解非线性方程最优解

碎纸片题目

前期分析[理解问题,做什么,建模思路]

-> 写前期分析报告
总体目标,关键词分析,条件与数据分析,疑点,建模思路(方向),任务1:xxx
比如本题中:
关键词分析:复原模型,人工干预干预方式时间节点
深入分析:复原模型-> 两张图片能否拼接在一起?->二元决策,0-1规划
算法-> 直接求解优化模型算法
人工干预->自动拼接算法中止后
条件与数据分析
19张图片->每张一个矩阵->研究各个矩阵第一列和最后一列(72列)之间的相似性。 黑白->如果转为二值图像(0-1矩阵),较为合理

(标题要明了,思路简单完整)
任务一:将碎纸片图片转换为0-1矩阵(数据预处理)
任务二:碎纸片边缘相似度指标建模(指标化)
任务三:碎纸片拼接复原的0-1整数规划模型
matlab文件处理参考代码

function testmain1
% 图片文件的读取
d='/Users/Elaine/Desktop/数模/遗传算法/cumcm2013problems-碎纸片拼接-B题/B/附件1 ';
c=0;
list=dir(d); %list(i).name为该目录下的文件名
for i=1 : length(list)
    filename = list(i).name;
    if length(filename)<=2 %忽略.和..
        continue;
    end
    c = c+1;
    pos = find(filename==' . ');
    no = str2num(filename(1:pos-1))+1;
    p = imread([d,'\',filename]);
    real_p{no} = p; %存储原始图片数据
end
% 图片数据矩阵二值化方法
function r=binit(p)
v = fix(255/2);
v= 112.5;
idx1 = find(p>=v);;
idx2 = find(p

建议有空去查整个的函数实现
老师最后希望我们用intprog实现

你可能感兴趣的:(2018-11-03数模日记)