配流03—全有全无配流算法(1)
来源:互联网 发布:2016淘宝双11晚会 编辑:程序博客网 时间:2024/06/05 02:24
说明:指定两点间的客流需求总量,建立费用函数(阻抗函数),一般情况下费用是流量的函数,就可以运用全有全无算法进行配流。
step1:建立费用函数m文件:feiyonghanshu.m
function [C,n]=feiyonghanshu(X)for i=1:10
syms X(i);
end
M1(1,1)=8+0.1*X(1);
M1(2,1)=10+0.25*X(2);
M1(3,1)=15+0.15*X(3);
C=vpa(M1,3);
n=length(C);
step2:主程序m文件:quanyouquanwu.m
function quanyouquanwu
for i=1:10
syms X(i);
end
clc
disp('========================================================================');
disp(' 《全有全无算法》');
disp('运行环境:MATLAB 8.3.0.532 ');
disp('制 作 人:兰州交通大学 刘志祥');
disp('Q Q:531548824');
fprintf('说 明:本程序用于求解全有全无简单配流问题,只需要输入交通需求量并提前编\n制费用函数(feiyonghanshu.m)即可计算出配流结果。其中:\n');
fprintf(' T-交通需求\n C-费用函数\n X-路径流量\nX0-全无流量(0流量)\nC0-初始费用\nX1-配流结果\nC1-配流后费用\n Z-目标函数值(该模型下的最小的总费用)\n');
disp('=========================================================================');
disp('*********************************');
T=input('输入交通需求量T:')
disp('费用函数为:')
[C,n]=feiyonghanshu;
C
C0=C;
disp('*********************************');
disp('解:先初始化费用,令初始流量')
X0=zeros(n,1)
for i=1:n
C0(i)=subs(C0(i),X(i),X0(i));
end
disp('则初始费用为:')
C0
m=min(C0);
for i=1:n
if m==C0(i,1)
k=i;
fprintf('费用最小的是C0(%d),根据全有全无算法配流有:',k)
end
end
X0(k)=T;
X1=X0
for i=1:n
C(i)=subs(C(i),X(i),X1(i));
end
C1=vpa(C,3)
disp('最小费用值为:')
Z=vpa(C'*X1,3)
step3 运行主程序:
- 配流03—全有全无配流算法(1)
- 配流04—全有全无配流算法(2)
- 全无主意
- 字符串算法——有重复字符的数组或字符串全排列(Permutations II)
- 任意一个字符串的全排列算法(可以有重复的字符)
- 关于全排列算法(支持有重复的数字的情况)
- 全排列 数据结构(机工出版) 递归算法 有改动 还有不完善的地方!
- 经典算法之(1)全排列
- 全排列(算法)
- 全排列的算法(七)——递归算法
- 0-1全组合-全排列算法
- 数组全排列算法(一)字符串数组全排列——逐个追加组合算法
- 数组全排列算法(二)整型数组全排列——递归算法
- 求有重复数字的全排列算法。
- 【基础算法】有重复元素的全排列问题
- 忽然觉得力气全无
- IDEA 提示全无
- 排序算法全攻略 1
- 网站集成Facebook登录教程
- 15年长春网赛Alisha’s Party +优先队列
- 数据库访问性能优化
- init: Id "co" respawning too fast: disabled for 5 minutes
- erl_stack_queue-队列求迷宫最短路径
- 配流03—全有全无配流算法(1)
- promise.all 异常处理
- 【经验】使用cmd手动把class文件打成jar包
- CDH 5.3.0 一个小任务运行了12个小时的原因。
- 服务器如何进入Bios
- 第三方登录开发-Facebook
- H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
- erl_list-打印杨辉三角
- JDBC连接常用数据库 基本的CURD