铁路行车组织之放射形专用线取送车顺序问题(自行设计MATLB代码)

这篇博客介绍了如何利用MATLAB解决铁路行车组织中放射形专用线取送车的顺序问题,内容包括代码展示和运行结果,与《铁路行车组织》课程中的理论相吻合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于该问题的原理参见中国大学mooc华东交通大学魏堂建老师的《铁路行车组织》课程

运行结果和书上的是一致的,多多指教

一,代码

A=input('请输入取送情况,第一列为专用线代号,第二列为取送走行时间,第三列为装车作业时间:');
[y, k]=max(A(:, 3));%找出装货时间最长并返回行数k,最大值y
B=perms(A(:,1));%将取车股道随机排列
[a,b]=size(B);
j=1;
%取车部分
for i=1:a
    if B(i,1)==A(k,1)
        A1(j,:)= B(i,:);%A1为取车路线情况
        j=j+1;     
    end    
end
%A2为时差
[a,b]=size(A1);
for i=1:a
    C=A;
    for j=1:b
        m=1;
        while m<=k
            if C(m,1)==A1(i,j)
                A2(i,j)= C(m,3)-sum(C(:,2)); 
                C(m,2)=0;
                break 
            end
            m=m+1;
        end
    end
end
A2(A2<0)=0;
%送车部分
for i=1:a
    n1=0;
    n2=0;
    D=A;
    [rind, r]=sort(A2(i,:));
    for j=1:b
        D(j,:)= A(A1(i,r(j)),:);
        r(1,j)=A1(i,r(j));
    end
    for m=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值