旅行商问题数学建模.docx

上传人:b****2 文档编号:1917014 上传时间:2022-10-25 格式:DOCX 页数:12 大小:32.62KB
下载 相关 举报
旅行商问题数学建模.docx_第1页
第1页 / 共12页
旅行商问题数学建模.docx_第2页
第2页 / 共12页
旅行商问题数学建模.docx_第3页
第3页 / 共12页
旅行商问题数学建模.docx_第4页
第4页 / 共12页
旅行商问题数学建模.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

旅行商问题数学建模.docx

《旅行商问题数学建模.docx》由会员分享,可在线阅读,更多相关《旅行商问题数学建模.docx(12页珍藏版)》请在冰豆网上搜索。

旅行商问题数学建模.docx

旅行商问题数学建模

 

黄石理工学院

数学建模大型作业

 

2011—2012学年第1学期

 

一.摘要

二.旅行问题

1.问题描述

2.符号说明

3.模型设计

4.建模求解

5.模型分析

6.

三.建模过程及心得体会

四.参考文件

 

一.摘要

本文是一个围绕旅行商问题和背包问题这两个经典问题的论文。

问题一,是一个依赖与每个城市去一次且仅去一次的路线确定问题,问题二类似于问题一。

问题三是一个依赖于可背重量限制的背包问题。

关键词:

HAMILTON回路LINGO最优旅行路线0-1模型

二.旅行问题

问题描述

某人要在假期内从城市A出发,乘火车或飞机到城市B,C,D,E,F旅游购物。

他计划走遍这些城市各一次且仅一次,最后返回城市A。

已知城市间的路费数据见附表1,请你设计一条旅行路线使得他的总路费最少。

如果临行他因故只能去4个城市,该怎样修订旅行路线?

在城市间旅游时他计划购买照相机,衣服,书籍,摄像机,渔具,白酒,食品,而受航空行李重量的限制以及个人体力所限,所买物品的总重量不能超过15kg,各种物品的价格见附表2.请你为他决策买哪些物品,使所买物品价值最大。

附表1:

A

B

C

D

E

F

A

10

150

B

12

00

C

25

80

D

33

185

E

21

420

F

5

420

0

附表2

照相机

衣服

书籍

摄像机

渔具

白酒

食品

香烟

重量(kg)

1

2

4

3

4

2

2

1

价格(元)

435

600

模型设计

首先给出一个定义:

设v1,v2,......,vn是图G中的n个顶点,若有一条从某一顶点v1出发,经过各节点一次且仅一次,最后返回出发点v1的回路,则称此回路为HAMILTON回路。

问题1.

分析:

这个优化问题的目标是使旅行的总费用最少,要做的决策是如何设定旅行路线,决策受的约束条件:

每个城市都必须去,但仅能去一次。

按题目所给,将决定变量,目标函数和约束条件用数学符号及式子表示出来,就可得一下模型。

模型建立:

对于6个城市的旅行问题设A,B,C,D,E,F六个城市分别对应v1,v2,v3,v4,v5,v6。

假设表示从城市i到城市j的费用。

定义0-1整数型变量=1表示从城市i旅行到城市j,否则=0。

则旅行问题的数学模型可表示为一个整数规划问题。

minz=(ij)

s.t.

=1(ij;j=1,2,……,6)

=1(ij;i=1,2,……,6)

(ij;i=2,3,……,6;j=2,3,……6)

其中辅助变量(i=2,3,……,6)可以是连续变化的,虽然这些变量在最优解中取普通的整数值(从而在约束条件中,可以限定这些变量为整数)。

事实上,在最优解中,=访问城市的顺序数。

模型求解

运用LINGO,输入程序:

MODEL:

!

TravelingSalesProblemforthecitiesofsixcity;

SETS:

CITY/1..6/:

U;!

U(I)=sequenceno.ofcity;

LINK(CITY,CITY):

COST,!

Thecostmatrix;

X;!

X(I,J)=1ifweuselinkI,J;

ENDSETS

DATA:

!

Costmatrix,itneednotbesymmetric;

COST=0120250330210150

120098350225300

250980520430280

3303505200270185

2102254302700420

1503002801854200;

ENDDATA

N=@SIZE(CITY);

MIN=@SUM(LINK:

COST*X);

@FOR(CITY(K):

!

Itmustbeentered;

@SUM(CITY(I)|I#NE#K:

X(I,K))=1;

!

Itmustbedeparted;

@SUM(CITY(J)|J#NE#K:

X(K,J))=1;

!

Weakformofthesubtourbreakingconstrains;

!

Thesearenotverypowerfulforlargeproblems;

@FOR(CITY(J)|J#GT#1#AND#J#NE#K:

U(J)>=U(K)+X(K,J)-(N-2)*(1-X(K,J))+(N-3)*X(J,K)););

@FOR(LINK:

@BIN(X));!

MaketheX's0/1;

!

Forthefirstandlaststopweknow...;

@FOR(CITY(K)|K#GT#1:

U(K)<=N-1-(N-2)*X(1,K);

U(K)>=1+(N-2)*X(K,1));

END

得到结果:

总费用为1163

路线:

A-B-C-F-D-E-A

问题2.

临时因故只能去4个城市,那么应该怎样安排旅行路线。

分析:

在B,C,D,E,F五个城市中选4个城市,显然有5种可能,按照问题一中的模型,将费用矩阵稍作修改,运用LINGO分别解除5种可能的费用,进行比较,即得结果。

(1)选取B,D,E,F,计算旅行费用:

MODEL:

!

TravelingSalesProblemforthecitiesofsixcity;

SETS:

CITY/1..5/:

U;!

U(I)=sequenceno.ofcity;

LINK(CITY,CITY):

COST,!

Thecostmatrix;

X;!

X(I,J)=1ifweuselinkI,J;

ENDSETS

DATA:

!

Costmatrix,itneednotbesymmetric;

COST=0120330210150

1200350225300

3303500270185

2102252700420

1503001854200;

ENDDATA

N=@SIZE(CITY);

MIN=@SUM(LINK:

COST*X);

@FOR(CITY(K):

!

Itmustbeentered;

@SUM(CITY(I)|I#NE#K:

X(I,K))=1;

!

Itmustbedeparted;

@SUM(CITY(J)|J#NE#K:

X(K,J))=1;

!

Weakformofthesubtourbreakingconstrains;

!

Thesearenotverypowerfulforlargeproblems;

@FOR(CITY(J)|J#GT#1#AND#J#NE#K:

U(J)>=U(K)+X(K,J)-(N-2)*(1-X(K,J))+(N-3)*X(J,K)););

@FOR(LINK:

@BIN(X));!

MaketheX's0/1;

!

Forthefirstandlaststopweknow...;

@FOR(CITY(K)|K#GT#1:

U(K)<=N-1-(N-2)*X(1,K);

U(K)>=1+(N-2)*X(K,1));

END

得到结果:

总费用:

950

路线:

A-B-E-D-F-A

(2)选取B,C,E,F,计算旅行费用:

MODEL:

!

TravelingSalesProblemforthecitiesofsixcity;

SETS:

CITY/1..5/:

U;!

U(I)=sequenceno.ofcity;

LINK(CITY,CITY):

COST,!

Thecostmatrix;

X;!

X(I,J)=1ifweuselinkI,J;

ENDSETS

DATA:

!

Costmatrix,itneednotbesymmetric;

COST=0120250210150

120098225300

250980430280

2102254300420

1503002804200;

ENDDATA

N=@SIZE(CITY);

MIN=@SUM(LINK:

COST*X);

@FOR(CITY(K):

!

Itmustbeentered;

@SUM(CITY(I)|I#NE#K:

X(I,K))=1;

!

Itmustbedeparted;

@SUM(CITY(J)|J#NE#K:

X(K,J))=1;

!

Weakformofthesubtourbreakingconstrains;

!

Thesearenotverypowerfulforlargeproblems;

@FOR(CITY(J)|J#GT#1#AND#J#NE#K:

U(J)>=U(K)+X(K,J)-(N-2)*(1-X(K,J))+(N-3)*X(J,K)););

@FOR(LINK:

@BIN(X));!

MaketheX's0/1;

!

Forthefirstandlaststopweknow...;

@FOR(CITY(K)|K#GT#1:

U(K)<=N-1-(N-2)*X(1,K);

U(K)>=1+(N-2)*X(K,1));

END

得到结果:

总费用:

963

路线:

A-E-B-C-F-A

(3)选取B,C,D,F,计算旅行费用:

MODEL:

!

TravelingSalesProblemforthecitiesofsixcity;

SETS:

CITY/1..5/:

U;!

U(I)=sequenceno.ofcity;

LINK(CITY,CITY):

COST,!

Thecostmatrix;

X;!

X(I,J)=1ifweuselinkI,J;

ENDSETS

DATA:

!

Costmatrix,itneednotbesymmetric;

COST=0120250330150

120098350300

250980520280

3303505200185

1503002801850;

ENDDATA

N=@SIZE(CITY);

MIN=@SUM(LI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1