(a)は、ネットワークマッピングの複数の波におけるミサイル発射とデータ削減を計画

序文

2017年大学院数理モデルのトピックE ミサイル発射を計画する複数の波、場所の選択問題のトピックの周りのミサイル発射を開始しました。最初はとても上の点の分布をマッピングして、ミサイルの機動戦術について多くのことだけでなく、ミサイル発射の動作パラメータを伝えます。その後、以下のネットワークダイアグラム、および付着点でのデータを投げました。

地図

道路の戦闘区域図

別館に座標情報を


もちろん、質問に答える前に、ネットワーク図は、それを回復する必要があります。


ポイント数

まず、ポイントの問題、スケジューリング問題番号があります。

総ネットワーク図で130点、請求

  • スタンバイ域D1〜D2
  • 転載エリアZ01〜Z06
  • 発光領域F01〜F60
  • 道路ノードJ01〜J62
    • J01〜J11幹線道路1
    • J12〜J20主要道路2
    • 他の道路のためのJ21〜J62

上記の情報によれば、優先順位の順に、文字に対応する番号を有します。

画像

ポイント番号の例


図のネットワーク接続を決定しました

明らかに、これは、N点は0と1のプログラマの目にグラフ理論、ネットワークグラフマトリックスの知識がありされている、対応する下位ランクのN * Nの行列が存在することになる要素のインデックスを見つけます、 0に等しい場合は代表点のランクとの間の接続の存在を示し、それ以外の場合、何の接続が存在しません。

だから我々は130ポイント、判決が続くだろう。最初のポイントを検索し、最終点の文字を記録します。

接続点決意


ポイントテキストの位置

テキストのポイントで調整する必要があるので、ここでは比較的近い130は、ポイント、水平および垂直配向に応じて文字の位置が位置決めされます。

Matlabのテキストの配置
彼らのモード(水平/垂直) 左 /上 中/中 右/下
たHorizo​​ntalAlignment センター
VerticalAlignmentを 中間

2つのアライメントの任意の組合せによって、テキストがポイントで9週間の周りの任意の位置に固定してもよいです。


時間のかかるマトリックス駆動

接続されていない場合、距離が無限大である場合は、ネットワーク接続の図仕上げ、任意の2点間の距離が、計算することができ、距離は0点と同じである場合。次のように異なるモデルA、B、Cの速度とは異なるため、他の主要道路、及び道路の速度は、異なっています。

ロケットの基本的な情報
数量 メインの走行速度(km /時) 他の走行速度(km /時)
モデルA 6 70 45
モデルB 6 60 35
Cカー 12 50 30

最終的な動作はモデル全体を含んだ場合、実際には、各セグメントのデータのロード時間のかかる計算に関与し、従って、車両が道路時間のかかるマトリックスの道路網における車両の種類ごとに解くを必要とすることです。それを十分行列(ポイント行列を除く)を使用すると、ポイントの間とすることができるマトリックスを高速化したい点との間の距離で割っています。


よくあるご質問

基本データ

基礎となるデータを見るためにクリック


ソース表示

%% 准备存储空间
clc, clear, close all

%% 导入整理的数据
[~,~,point] = xlsread('data','网络图','A2:B131'); % 读取点位序号及编号
[point_locat,~,~] = xlsread('data','网络图','C2:D131'); % 读取点位坐标
[~,point_connect,~] = xlsread('data','网络图','E2:J131'); % 读取点位连接
[~,point_text_place,~] = xlsread('data','网络图','K2:L131'); % 读取点位文字摆放位置

%% 计算连接判断矩阵
is_connect = zeros(130,130); % 记录点位连接判断,0表示不连接,1表示连接
for i = 1:130
    for j = 1:6
        if ~isempty(point_connect{i,j})
            [row,~] = find(strcmp(point, point_connect{i,j})); % 找到当点位的序号
            is_connect(i,row) = 1; % 记录连接情况
        end
    end
end
xlswrite('data',is_connect,'连接判断矩阵');

%% 计算点位间距离
point_distance = pdist2(point_locat,point_locat).*is_connect; %.*triu(ones(m,m),0);
point_distance(point_distance == 0) = inf; % 未连接点位间距离变为无穷大
xlswrite('data',point_distance,'距离矩阵');

%% 点位序号编组
D = [1:2]; % 待机区域点位
Z = [1:6] + 2; % 转载区域点位
F = [1:60] + 2 + 6; % 发射区域点位
J1 = [1:11] + 2 + 6 +60; % 主干道1点位
J2 = [12:20] + 2 + 6 +60; % 主干道2点位
J3 = [21:62] + 2 + 6 + 60; % 普通道路点位

%% 画网络连接图
for k = 1:3
    figure(k);set(gcf,'outerposition',get(0,'screensize'));hold on;
    % 画点位
    hD = plot(point_locat(D,1),point_locat(D,2),'rp','markersize',14,'linewidth',2);
    hZ = plot(point_locat(Z,1),point_locat(Z,2),'g+','markersize',8,'linewidth',2);
    hF = plot(point_locat(F,1),point_locat(F,2),'b^','markersize',8,'linewidth',2);
    hJ = plot(point_locat([J1,J2,J3],1),point_locat([J1,J2,J3],2),'ko','markersize',8,'linewidth',2);
    % 画主干道
    hJ1 =  plot([point_locat(J1(1:10),1),point_locat(J1(2:11),1)],[point_locat(J1(1:10),2),point_locat(J1(2:11),2)],'r-','linewidth',3);
    hJ1 =  plot([point_locat(J2(1:8),1),point_locat(J2(2:9),1)],[point_locat(J2(1:8),2),point_locat(J2(2:9),2)],'r-','linewidth',3);
    % 画连线图
    for i = 1:130
        for j = 1:130
            if is_connect(i,j) == 1
                plot([point_locat(i,1),point_locat(j,1)],[point_locat(i,2),point_locat(j,2)],'k-');
                if k == 3
                    text((point_locat(i,1)+ point_locat(j,1))/2,(point_locat(i,2)+ point_locat(j,2))/2,sprintf('%.1f',point_distance(i,j)));
                end
            end
        end
        if k == 1
            % 点位编号网络图
            text(point_locat(i,1),point_locat(i,2),num2str(point{i,1}),'horizontalAlignment',point_text_place{i,1},'verticalAlignment',point_text_place{i,2},'fontsize',14);
        elseif k == 2
            % 点位序号网络图
            text(point_locat(i,1),point_locat(i,2),point{i,2},'horizontalAlignment',point_text_place{i,1},'verticalAlignment',point_text_place{i,2},'fontsize',14);
        end
    end
    axis([0,300,0,150]);set(gca,'fontsize',24);xlabel('x(km)'),ylabel('y(km)');
    legend('待机地点','转载地点','发射地点','道路节点','主干道');box on
    if k == 1
        print(gcf,'-djpeg','-r300','作战区域道路点位序号网络图.jpg');
    elseif k == 2
        print(gcf,'-djpeg','-r300','作战区域道路点位编号网络图.jpg');
    else
        print(gcf,'-djpeg','-r300','作战区域道路点位距离网络图.jpg');
    end
end



%% 计算车辆在网络图中的耗时
%导入车辆信息
car = xlsread('data','车辆信息','C2:D4'); % 读取车辆行车速度
[~,car_type,~] = xlsread('data','车辆信息','A2:A4'); % 读取车辆型号
main = [J1(1:10),J2(1:8)]; % 主干道序号
% 计算车辆网络行车耗时矩阵
for i = 1:3
    speed = ones(130,130)*car(i,2);
    for j = 1:length(main)
        speed(main(j),main(j)+1) = car(i,1);
    end
    time_cost = point_distance./speed;
    xlswrite('data',time_cost,sprintf('%s耗时矩阵',car_type{i}));
end


業績

実行したら、次のファイルを取得します。

  • 戦闘地域の道路網図.JPGポイント数

戦闘地域の道路ネットワークマップポイント数

  • ポイント.JPGから戦闘地域の道路ネットワークマップ

戦闘ゾーン道路ネットワークマップからポイント

  • 戦闘地域の道路網図.JPG点番号

戦闘地域の道路網地図小数点数

  • data.xlsx(基礎表に計算結果の拡張)

画像


クロスネットワーク被写体と図アラインメント

それが欠落しているか、何も人工取得したネットワーク接続決意は、図に示す元とPSが同じサイズにスケーリングこの間違いを排除するために記録された場合に発生することがあり、一緒に比較を重ね、透明性を低下させますラインが完全に重なっています。

画像

クロスネットワーク被写体と図アラインメント

概要

上記の手順は、単なるデータの削減と呼ばれる質問の開始、です。誰にでも、そうでない場合は、後続の計算を確認する必要があり、すべてのベットは間違っています!

おすすめ

転載: www.cnblogs.com/gshang/p/11455691.html