Lingo-稠密集合和稀疏集合-(0/1规划)

本文介绍了如何使用LINGO软件解决最短路问题,探讨了稠密集合(全笛卡尔积)和稀疏集合(笛卡尔积的真子集)的概念,并通过一个具体的公路网例子展示了稀疏集合在定义派生集合时的用法,最终得出从S到T的最优行驶路线和最短路程。
摘要由CSDN通过智能技术生成

Lingo-稠密集合和稀疏集合

1.1简介:

我们把派生集合 MATCH 的元素定义为 DEMAND 和 SUPPLY 的笛卡儿积,这种派生集 合称为稠密集合(简称稠集)。其实在 LINGO 中,派生集合的元素可以只是这个笛卡儿积的 一个真子集合,这种派生集合称为稀疏集合(简称疏集)。

1.2例题:

最短路问题 在复杂的公路网中,货车司机希望找到一条从一个城市到另一个城市的最短 路. 假设图 4-17 表示的是该公路网, 节点表示货车可以停靠的城市,弧上的权表示两个城市之 间的距离(百公里)。货车从城市 S 出发到达城市 T,如何选择行驶路线,使所经过的路程最短?
这里写图片描述

1.3分析:

假设从S到T的最优行驶路线 P 经过城市C1, 则P中从S到C1的子路也一定是从S到 C1的最优行驶路线;
假设 P 经过城市C2, 则P中从S到C2的子路也一定是从S到C2的最优 行驶路线.
因此, 为了得到从 S 到 T 的最优行驶路线, 我们只需要先求出从 S 到 Ck(k=1,2)的最 优行驶路线, 就可以方便地得到从 S 到 T 的最优行驶路线.
为了求出从 S 到 Bj(j=1,2)的最 优行驶路线, 只需要先求出从S到Ai(i=1,2,3)的最优行驶路线.
而S到Ai(i=1,2,3)的最优行驶路 线是很容易得到的(实际上, 此例中 S 到 Ai(i=1,2,3)只有唯一的道路).
d(Y,X)为城市 Y 与城市 X 之间的直接距离(若这 两个城市之间没有道路直接相连,则可以认为直接距离为无穷大),用L(X)表示城市 S 到城市 X 的最优行驶路线的路长
则:

L(S)=0; L(X)=min{L(Y)+d(Y,X)}, Y≠X

1.3.1对本例的具体问题,可以直接计算如下:

X ≠S
L(A1)=6, L(A2)=3, L(A3)=3;
L(B1)=min{ L(A1)+6, L(A2)+8, L(A3)+7}= 10 = L(A3)+7,
L(B2)=min{ L(A1)+5, L(A2)+6, L(A3)+4}= 7 = L(A3)+4;
L(C1)=min{ L(B1)+6, L(B2)+8}= 15 = L(B2)+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值