2017年中"华为杯"E题中的路网图绘制实现
- 赛题已知条件
2017年"华为杯"研究生数学建模E题:多波次导弹发射中的规划问题。赛题说明:某部参与作战行动的车载发射装置共有24台,依据发射装置的不同大致分为A、B、C三类,其中A、B、C三类发射装置的数量分别为6台、6台、12台,执行任务前平均部署在2个待机地域(D1,D2)。所属作战区域内有6个转载地域(Z01~ Z06)、60个发射点位(F01~ F60),每一发射点位只能容纳1台发射装置。各转载地域最多容纳2台发射装置,但不能同时作业,单台转载作业需时10分钟。各转载地域弹种类型和数量满足需求。作战区域道路示意图如下图所示。
- 本文实现思路
本博文尝试将此图用程序画出来以备后续自适应的添加规划路径。思路:手动计算图上62+2+60+6=130个节点的邻接矩阵,使邻接的两点之间权值用距离表示,不连通的边用inf表示。计算出来邻接矩阵,同时又已知路网各个节点的位置坐标即可实现上述路网图的绘制。
- 已知的位置坐标
%62个道路节点坐标
J=[237,137;232,127;204,119;188,100;168,94;143,74;117,67;122,48;108,38;102,23;99,3;170,145;150,133;140,120;105,108;85,92;63,73;53,57;37,41;18,37;130,135;110,139;93,138;66,132;86,122;49,123;18,108;37,91;44,74;24,75;23,57;175,132;175,115;155,105;140,105;137,87;106,94;102,72;77,79;83,65;58,47;93,45;33,29;58,24;80,30;80,13;234,118;220,110;168,83;193,78;149,68;143,55;195,60;164,50;183,50;221,54;165,40;178,33;196,39;226,43;160,18;214,23]
Z=[205,92;159,62;143,38;108,80;55,38;62,105]%6个转载区域位置坐标
D=[121,8;193,137]%2个待机区域位置坐标
%60个目标发射点
F=[135,142;127,143;124,129;115,130;105,130;108,145;90,145;72,142;60,139;70,121;100,121;53,132;37,127;25,120;15,115;7,105;28,106;24,90;45,90;49,82;16,76;15,70;14,56;168,126;165,117;165,105;145,113;132,100;130,94;130,80;110,100;114,90;95,90;95,77;106,63;86,75;72,70;74,60;79,53;68,46;46,20;59,15;77,5;240,127;240,107;230,100;220,98;158,77;176,75;206,77;184,62;215,62;227,64;206,46;231,49;232,37;148,15;170,17;201,22;224,20]
- 邻接矩阵的计算及表示
%62个道路节点坐标
J=[237,137;232,127;204,119;188,100;168,94;143,74;117,67;122,48;108,38;102,23;99,3;170,145;150,133;140,120;105,108;85,92;63,73;53,57;37,41;18,37;130,135;110,139;93,138;66,132;86,122;49,123;18,108;37,91;44,74;24,75;23,57;175,132;175,115;155,105;140,105;137,87;106,94;102,72;77,79;83,65;58,47;93,45;33,29;58,24;80,30;80,13;234,118;220,110;168,83;193,78;149,68;143,55;195,60;164,50;183,50;221,54;165,40;178,33;196,39;226,43;160,18;214,23]
Z=[205,92;159,62;143,38;108,80;55,38;62,105]%6个转载区域位置坐标
D=[121,8;193,137]%2个待机区域位置坐标
%60个目标发射点
F=[135,142;127,143;124,129;115,130;105,130;108,145;90,145;72,142;60,139;70,121;100,121;53,132;37,127;25,120;15,115;7,105;28,106;24,90;45,90;49,82;16,76;15,70;14,56;168,126;165,117;165,105;145,113;132,100;130,94;130,80;110,100;114,90;95,90;95,77;106,63;86,75;72,70;74,60;79,53;68,46;46,20;59,15;77,5;240,127;240,107;230,100;220,98;158,77;176,75;206,77;184,62;215,62;227,64;206,46;231,49;232,37;148,15;170,17;201,22;224,20]
length=zeros(130);
data1=[D;Z;J;F];
save('data1.mat','data1');
%计算坐标