77范文网 - 专业文章范例文档资料分享平台

【国家级精品课程】-中南大学-数学建模-lingo-matlab-优化建模-(4)

来源:网络收集 时间:2019-03-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

宁波 上海 大连 北京 厦门 天津 呼和浩特 常州 长沙 沈阳 南京 青岛 济南 武汉 成都

1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1

0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

G=17.6671

此时在H矩阵中1代表城市的带动关系,0则为无关。

6.模型优缺点评价

6.1优点:

(1) 给出了城市经济规模因素带动效益系数,产业结构因素带动效益系数,地理

因素带动效益系数评价,以及城市带动效益量化值综合评价指标函数,能够对任意一对给定的城市量化出带动效应。 (2) 根据原有A,B组城市模型,利用匈牙利算法求得最优城市对,即总效益最大。 (3) 通过对现实情况分析,根据一般分配模型重新建立对应关系,使得经济带动

总效应达到最大值。

6.2缺点:

(1)基本假设中只考虑城市GDP规模,产业同工系数,地理距离。未将城市的政治职能,交通便利程度考虑进去,不能完全衡量城市之间各个影响的因素。 (2)量化模型采取线性差值法,过于简单。

7、参考文献:

[1] 张杰,周硕等,运筹学模型与实验,北京:中国电力出版社,2007年8月。 [2]《运筹学》教材编写组,运筹学,北京:清华大学出版社,2005年6月。 [3] 陈鹏,成渝城市经济空间发展研究,成都:82-83,2008。

[4] 姜启源,谢金星,叶俊,数学模型(第三版)北京:高等教育出版社,2003年3月。

8.附录

MATLAB关键代码如下:

%问题三代码(匈牙利算法实现代码) function [z,ans]=fenpei(marix);

%输入效率矩阵 marix 为方阵;

%若效率矩阵中有 M,则用一充分大的数代替;%输出z为最优解,ans为 最优分配矩阵; marix=[0.1302 0.1422 0.0976 0.0906 0.1768 0.1584 0.0847 0.08910.1057 0.1101 0.0912 0.0796 0.0887 0.0927 0.0981 0.0827 0.12600.0885 0.1214 0.1499

0.2730 0.3089 0.2322 0.2343 0.3756 0.2274 0.2495 0.2310 0.22650.2342 0.2101 0.2278 0.2255 0.2706 0.2307 0.2289 0.2303 0.23530.2446 0.2803

0.3033 0.3492 0.2618 0.2650 0.4004 0.2568 0.2871 0.2617 0.25420.2608 0.2373 0.2490 0.2535 0.3106 0.2599 0.2586 0.2575 0.26180.2733 0.3072

0.1898 0.2017 0.1792 0.1517 0.2501 0.1589 0.1474 0.1824 0.16920.1596 0.1475 0.1379 0.1468 0.1607 0.1553 0.1430 0.1578 0.18460.1705 0.1983

0.2001 0.2207 0.1856 0.1606 0.2518 0.1644 0.1595 0.1879 0.17200.1673 0.1534 0.1471 0.1536 0.1685 0.1650 0.1501 0.1631 0.21850.1764 0.2051

0.1737 0.1898 0.1532 0.1359 0.2162 0.1388 0.1337 0.1523 0.14290.1433 0.1272 0.1240 0.1299 0.1436 0.1389 0.1265 0.1391 0.16790.1511 0.1759

0.4043 0.4255 0.3820 0.3627 0.4768 0.3681 0.3609 0.3780 0.37660.3717 0.3559 0.3458 0.3553 0.3686 0.3697 0.3507 0.3652 0.39390.3823 0.4155

0.1770 0.1856 0.1383 0.1355 0.2021 0.1542 0.1276 0.1306 0.14080.1437 0.1345 0.1222 0.1316 0.1428 0.1507 0.1278 0.1461 0.13230.1548 0.1761

0.4451 0.4906 0.3665 0.3704 0.5473 0.4405 0.3612 0.3593 0.38520.3787 0.4024 0.3433 0.3491 0.3656 0.3846 0.3418 0.3690 0.35950.4014 0.4557

0.1333 0.1576 0.1013 0.0926 0.2085 0.0922 0.0965 0.0934 0.09100.0980 0.0731 0.0776 0.0851 0.1101 0.0926 0.0849 0.0941 0.1036

0.1079 0.1384

0.2408 0.2559 0.2071 0.1996 0.2134 0.2488 0.1891 0.1979 0.2240 0.2538

0.1575 0.1752 0.1090 0.1085 0.1204 0.1053 0.0881 0.1011 0.1320 0.1637

0.1367 0.1536 0.1304 0.1000 0.1103 0.1001 0.0865 0.0954 0.1175 0.1433

0.1684 0.1931 0.1864 0.1474 0.1399 0.1234 0.1244 0.1360 0.1483 0.1780

0.1791 0.1930 0.1384 0.1360 0.1481 0.1373 0.1250 0.1308 0.1558 0.1801

0.1856 0.2075 0.1865 0.1453 0.1538 0.1466 0.1322 0.1417 0.1676 0.1985

0.1917 0.2070 0.1584 0.1509 0.1618 0.1742 0.1368 0.1459 0.1697 0.1949

0.1713 0.1880 0.1414 0.1272 0.1371 0.2078 0.1134 0.1234 0.1509 0.1770

0.1955 0.2123 0.5328 0.1606 0.1606 0.1568 0.1413 0.1519 0.1725 0.2052

0.1986 0.2099 0.1516 0.1749 0.1666 0.1356 0.1572 0.1674 0.1763 0.2045 ];

a=marix; b=a;

%确定矩阵维数 s=length(a);

%确定矩阵行最小值,进行行减 ml=min(a'); for i=1:s

a(i,:)=a(i,:)-ml(i); end

%确定矩阵列最小值,进行列减 mr=min(a); for j=1:s

0.2988 0.2527 0.2054 0.2177 0.1997 0.2039 0.1089 0.1142 0.1806 0.1084 0.1092 0.1032 0.2344 0.1360 0.1653 0.1314 0.2202 0.1568 0.1397 0.1624 0.2405 0.1533 0.1534 0.1514 0.2316 0.1734 0.1572 0.1583 0.2083 0.1657 0.1357 0.1365 0.2506 0.1639 0.1719 0.1556 0.2298 0.1550 0.1692 0.1510 0.1967 0.2036 0.1906 0.2166 0.0993 0.0989 0.0917 0.1324 0.0983 0.1216 0.0917 0.1067 0.1661 0.1585 0.1316 0.1404 0.1313 0.1308 0.1271 0.1435 0.1430 0.1835 0.1340 0.1536 0.1472 0.1558 0.1421 0.1597 0.1232 0.1360 0.1189 0.1412 0.1615 0.2863 0.1471 0.1634 0.1493 0.1455 0.1472 0.1778 0.22150.20420.11880.09740.12190.12090.14360.15300.14260.13280.17460.17680.17280.15460.19390.13350.18560.17770.15050.1415

a(:,j)=a(:,j)-mr(j); end

% start working num=0;

while(num~=s) %终止条件是“(0)”的个数与矩阵的维数相同

%index用以标记矩阵中的零元素,若a(i,j)=0,则index(i,j)=1,否则index(i,j)=0 index=ones(s); index=a&index; index=~index;

%flag用以标记划线位,flag=0 表示未被划线, %flag=1 表示有划线过,flag=2 表示为两直线交点 %ans用以记录 a 中“(0)”的位置 %循环后重新初始化flag,ans flag = zeros(s); ans = zeros(s);

%一次循环划线全过程,终止条件是所有的零元素均被直线覆盖, %即在flag>0位,index=0 while(sum(sum(index))) %按行找出“(0)”所在位置,并对“(0)”所在列划线, %即设置flag,同时修改index,将结果填入ans for i=1:s t=0; l=0; for j=1:s

if(flag(i,j)==0&&index(i,j)==1) l=l+1; t=j; end end if(l==1)

flag(:,t)=flag(:,t)+1; index(:,t)=0; ans(i,t)=1; end end

%按列找出“(0)”所在位置,并对“(0)”所在行划线, %即设置flag,同时修改index,将结果填入ans for j=1:s t=0; r=0; for i=1:s

if(flag(i,j)==0&&index(i,j)==1) r=r+1; t=i;

end end if(r==1)

flag(t,:)=flag(t,:)+1; index(t,:)=0; ans(t,j)=1; end end

end %对 while(sum(sum(index))) %处理过程

%计数器:计算ans中1的个数,用num表示 num=sum(sum(ans));

% 判断是否可以终止,若可以则跳出循环 if(s==num) break; end

%否则,进行下一步处理

%确定未被划线的最小元素,用m表示 m=max(max(a)); for i=1:s for j=1:s

if(flag(i,j)==0) if(a(i,j)

%未被划线,即flag=0处减去m;线交点,即flag=2处加上m for i=1:s for j=1:s

if(flag(i,j)==0) a(i,j)=a(i,j)-m; end

if(flag(i,j)==2)

a(i,j)=a(i,j)+m; end end end

end %对while(num~=s) %计算最优(min)值 zm=ans.*b; z=0;

z=sum(sum(zm));

ans

%问题四代码

function d=hehe(a,b,c)

a为正文表3,b为正文表4,c为正文表6 for i=1:20 for j=1:20

if(a(i,j)>=b(i,j)) if(a(i,j)>=c(i,j)) d(i,j)=1; else

d(i,j)=2; end else

if(b(i,j)>=c(i,j)) d(i,j)=3; else

d(i,j)=2; end end end end

%问题五代码 f为表6对应矩阵 A为表2对应矩阵

%i可以取0到19,可以求出1到20列的数据,和每列的最优值 i=1

f=f(i*20+1:(i+1)*20); A=A(i+1,1:20); b=ones(1,1); ib=zeros(20,1); ub=ones(20,1);

[x,feval]=linprog(-f,A,b,[],[],ib,ub)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库【国家级精品课程】-中南大学-数学建模-lingo-matlab-优化建模-(4)在线全文阅读。

【国家级精品课程】-中南大学-数学建模-lingo-matlab-优化建模-(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/504134.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: