1、第 1 页 共 11 页内部网信息组织规划的优化模型摘 要本文通过对某个公司的内部网进行一些科学合理的假设,从而抽象出一个总规划费用为目标的最优化的线性混合规划(含整数规划与 0-1 规划)模型.并通过确定服务器的台数从而将线性混合规划转化为 0-1 规划,利用 matlab 求出该规划的最优解,同时通过 matlab 对服务器台数进行搜索,再求出这些服务器台数下的规划费用的最小值即为题目要求的最优解.本文也通过利用 LINGO 软件通过编程直接求解出最优解,对于问题一求得规划总费用为 6.65 万元,需服务器 5 台,每台服务器上信息块分别为(653,264,195) , (141,361)
2、 , (157,175,171) , (114,163,233) ,(104,257,149) ).问题二也能通过问题一进行推广,而对于“在线”信息块进行规划就是利用最先适应法来使得规划费用尽可能少.关键词:线性混合规划,最先适应法,最优化设计第 2 页 共 11 页1 问题的提出一个企业的内部网(Intranet 网) ,在互联网(Internet)上有两种功能.对外,它主动发布信息,介绍其最新产品和技术,为客户提供服务, 在公众面前为企业作宣传等;对内,它自身也是外部互联网用户,要访问内部网以外的各种信息以了解市场,在商业竞争中保持有利地位.在企业发布信息时,将相应的信息主题分成块结构,称
3、之为内部信息块,分布在企业内部网的服务器上.另外企业对外访问是有针对性的,对某些外部信息块的频繁访问会造成通信费用的增长.为了有效地降低通信费用,可以将那些被访问频繁的外部互联网信息块下载至内部网的服务器上,使之成为内部信息块.一旦成为内部信息,即可省下通信费用,而且访问速度大大提高.由于服务器本身内存的限制,企业要有选择的下载外部信息块,并放入适当的服务器或在适当的时候购买新的服务器以满足需要.在此问题中,每个内部信息块必须放在某个服务器上,当然需要占用此服务器的内存.对每个可能有用的外部信息块,企业可以下载也可不下载.如果不将其从外部网上下载下来,则访问该信息将产生一定的通信费用;如果将其
4、放在内部网上,将占用服务器的内存.当然如何决定将信息放在不同服务器上也是重要的.现假设共有 n 个内、外部信息,每个信息的容量已知,而且每个外部信息的访问费用也已知.每个服务器允许的信息总容量为 C, 且购买新服务器的费用为 F. 问如何对信息进行组织规划使总费用尽可能的小?现企业的决策者希望对此问题进行研究,你的解答应至少回答:(1)就上述问题建立数学模型.并就下例求解:假设 C=512MB, F=1 万元,内部信息块的容量(2)你的模型能否推广到有多种新型号的服务器的问题,例如两种不同服务器,他们的容量和价格不相同.(3)考虑下面的所谓“在线”信息进行规划问题:对每个信息块(内部,外部)是
5、逐个决策的, 而且仅当对上一个信息块做出是否下载、如何放置的决定后,下一个信息块的参数才告诉决策者.对此问题能否设计一个算法求解,并对提出的算法的效果给以评价.2 模型的假设2.1 假设下载信息块不需要付任何费用;2.2 假设每一个信息内块都必须放在某个服务器中;2.3 对于问题一与问题二,假设给出的信息都需要使用;2.4 在问题三中,假设现有的服务器的台数及其容量与价格都是已知的.第 3 页 共 11 页3 符号的约定服务器允许的信息总容量. ;:CMBC512服务器的价格. 万元;FF信息内块的个数;:n信息外块的个数;m第 块信息内块的容量. ;:iani,1第 块信息外块的容量. ;:
6、ibmi,访问第 块信息外快的通信费用. ;:iWi i,1所需服务器的台数;Z第 个信息外块 第 台服务器中, ;:ijX在不 在,10i mjni,1, 第 个信息内块 第 台服务器中, ;:ijY在不 在,i ji,服务器类型的种数;:l第 种服务器的容量. ;iCli,1第 种服务器的价格. ;:iFli,第 种服务器的台数. ;:iZli,1第 个信息外块 第 种服务器的第 个服务器中;:ijrX在不 在,0ri第 个信息内块 第 种服务器的第 个服务器中.:ijrY在不 在,1ri4 问题的分析与模型的建立这是一个单目标最优化的问题.最优化目标是使内部信息网的总费用最小,而总费第
7、4 页 共 11 页用主要是由购买服务器的费用与访问信息外块时所产生的通信费用组成.而服务器的费用又是由服务器的价格与服务器的容量来决定的,信息外块的通信费用又主要由该信息外块是否下载到服务器来决定.当决定将信息外块下载到服务器后,需要占用服务器的部分内存,访问的时候不需要任何费用,且访问速度大大提高了.而当信息外块并没有下载到服务器时,则对它进行访问时会产生通信费用.另外,每一个信息内块都必须放在某一个服务器中.41 问题一的模型对于问题一描述中,可知只有一种服务器,且服务器的容量为 ,服务器的MB512单价为 万元 .信息内块的个数为 3 个,且各自的容量为 ,49,7a单 位 为信息外块
8、的个数为 16, 107,63,14,602,4,615,28b,Z 为所需服务器的台数,则购买服务器的费用为 .当第 个信息外块被MB单 位 为 ZFj下载到服务器中,访问时的通信费用为 0;当第 个信息外块没有被下载时,访问它所j产生的通信费用为 ,而当 时表示第 块信息外块被下载到服务器,而当jWZiijX1时表示第 块信息外块并没有被下载到服务器中.所以访问第 块信息外块的ZiijX10j j费用为 ,而访问所有信息外块的总费用为 ,所以总费Zijij1)( 161)(jZijijWX用=购买服务器的费用+访问信息外块的费用.即为 .161)(j jZiijF对于问题一的模型必须满足如
9、下的约束:1)放在每一个服务器中的信息块的容量总和应小于服务器的容量 C=512MB,即模型中的(1)式.2)每一个服务内块都必须放在某一个服务器中,即为模型 中(2)式.3)每一个信息外块要么被下载,要么不被下载.即模型 中的(3)式.4)服务器的台数应小于或等于信息块的总数,即模型 中的(4)式.5) 只能取 0 或 1.即模型 中的(5)式.ijX6) 只能取 0 或 1.即模型 中的(6)式.ijY建立如下的模型:模型minjjZiijWXF)1(6第 5 页 共 11 页(1).ts5121631jjjiij aYbXZi(2)31ji i1(3)61jijXZi(4)92Z(5)0
10、或ij(6)1或ijY4.2 问题二的模型问题二是问题一的推广,使得问题更符合一般的情况.服务器的类型有多种,第 种i服务器的容量为 ,价格为 , 为信息网里有第 种服务器的总台数.则服务器的总iCiFZi台数为 ,则购买服务器的总费用为 ,而当 时表示第 块信息liZ1 liiF1lrZijrY1j内块放在了某个服务器中.当 时表示第 块信息外块被下载到某个服务器lrZiijrrX1j中,而当 时表示第 块信息外块没有被下载到服务器中.又访问第 块信息lrZiijrrX10j j外块的费用为 ,则访问所有信息外块所用的通信费用为lrZijjrWY1)(,则在此种情况下的规划总费用为:购买服务
11、器的费用+访问信息mjlrZijijrrX11)(外块所产生的通信费用.即 mjlrjZiijrlii WXFZr111 )(而对于问题二的模型必须满足如下的约束:1)每一个服务器的所用信息块的容量之和应小于该服务器的容量,即模型中的(1)式.2)每一个信息内块都必须放在某一个服务器中,即模型中的(2)式.3)下载的信息外块的个数应小于或等于信息外块的个数,即模型中的(3)式.4)服务器的台数应小于或等于下载信息块的总数,即模型中的(4)式.5)信息块的最小容量值应小于或等于服务器的最小容量值,即模型 中的(5)第 6 页 共 11 页式.6)信息块的最大容量值应小于或等于服务器的最大容量值,
12、即模型 中的(6)式.7) 只能取 0 或 1 的值,即模型中的(7)式.ijrX8) 只能取 0 或 1 的值,即模型中的(8)式.ijrY则根据以上的约束,建立如下的模型:模型min mjlrjZiijrlrr WXFZ111 )(1).ts irj njiiriijr CaYbX11 rZil 1,(2)1lrZijr nj(3)1lrZiijrrXj1(4)linm1(5)1|min)1|in,1|( lCbia i (6)|ax|ax|x iii (7)0或ijrXjZlrr ,(8)1或ijrY nir 1143 问题三的模型在问题三中,所谓“在线”是指信息块在服务器中.根据题意可
13、知,信息内块都是在线的,而信息外块是经过算法权衡后再决定是否下载.根据上面的描述得出算法最先适应法:(1)由现有服务器,求出单位容量的价格,按单调不减的次序排好,如果单位容量价格相同,则按剩余容量按单调不减的次序排好;(2)给出一个信息块,并给出该信息块的参数;(3)判断该信息块容量是否比所有服务器容量都大,如果是则决定不下载该信息块,转到(2) ;第 7 页 共 11 页(4)判断是否为信息外块,如果否就转到(8) ;(5)求出该信息块单位容量的价格;(6)如果该信息块单位容量价格比所有类型的服务器的单位容量加工都小,如果是,决定不下载该信息块,转到(2) ;(7)将该信息块单位容量价格与服
14、务器单位容量价格比较,找出第一个比它大的服务器,在同种服务器中,找出剩余容量最大的那个服务器,看能否放入该信息块,如果能就放进该服务器,否则判断该型号的服务器能否装进该信息块,如果该服务器能放置,就购买该型号的服务器一台.如果否就继续往下查找,如此类推,直到找到第一个符合条件的服务器为止,转到(2) ;(8)找出单位容量价格最小的服务器且容量比信息块大的服务器放置进去,如果找不到则购买单位容量价格最小,且容量最大的服务器,放置该信息一块,转到(2).5 模型的求解5.1 模型一的求解模型一是一个单目标规划问题.而这个规划是由整数与 0-1 规划混合组成,我们可以利用 matlab 软件编写程序
15、求解出最优解,还可以利用 LINGO 软件求出最优解.在模型一中,有三个信息内块,要将这些信息内块放置在服务器中,则至小需要二个服务器,则购买服务器的费用为 2 万元.在全部信息外块都不下载的情况下,则总的通讯费用为 万元,则此时总费用为 万元,则服务器的台数应169.jjW9.86少于 台.19.8方法一:当 Z 的值还没有确定时,对于目标函数,它是一个混合规划(既有整数规划又含 0-1 规划,又 Z 的取值为 ,则我们可以利用搜索法分别求出当92时的 0-1 规划的最优解.再从这 8 个最优解中选出最小值,此时 ,总费92Z 5Z用为 6.65 万元,此时没有下载的信息块为 218MB,1
16、21MB,460MB,77MB,110MB,其余的信息块如下图设置.服务器 1 2 3 4 553 141 157 114 104264 361 175 163 257信息块195 171 233 149总容量 502 502 503 510 510方法二:我们可以利用 LINGO 软件编写程序,解出此规划的解为 Z=5,总费用为6.65 万元,程序见附录.5.2 模型二的求解第 8 页 共 11 页对于模型二,它也是一个单目标规划问题,相对于模型一来说,它的决策变量改变了,也加强了约束.它也是由整数与 0-1 规划混合组成.因此我们也可以利用模型一的求解算法:用 matlab 软件编写程序,
17、搜索求出最优解,同时我们也可以 LINGO 软件编写程序直接解出最优解.5.3 模型三算法的评价对于此算法不一定能得出全局最优解,但是只要满足条件的信息块放置进去均可以使得服务器中装入的信息块的总通信费用比购买服务器的费用大.对于每一个信息块此算法都是找出价格便宜且剩余容量最大的服务器,使得服务器均可能装得下更大的信息块,使得服务器的最终剩余容量尽可能少,这样才能使得服务器的利用率尽可能高,使得内部网的组织规划更优化,同时使总费用更小.6 模型的评价与改进本文对建立的两个基本模型逐步简化求解,将线性混合规划(含整数与 01 规划)转化为 01 规划,利用 LINGO 软件的 01 规划求解.该
18、模型简单,适用性强,容易通过计算机编程求解,并且能够很好的解决问题的整数约束与 01 约束.由于模型的简单化,就使得出现了许多重复操作,将原问题转化为服务器台数个简单的 01 规划的子问题,为了求得最优解,就必须遍历这些子问题,求出各子问题的最优解,再通过对它们比较,选出最优值.这样就使得计算时间比较长.参考文献:1叶其孝,大学生数学建模竞赛辅导教材(4) ,湖南:湖南教育出版社,2001 年2郑汉鼎,数学规划,济南:山东教育出版社,1997 年3宋兆基,Matlab6.5 在科学计算中的应用,北京:清华大学出版社,2005 年附录:LINGO 程序如下:model:sets:messenge
19、r /1.16/:outm,val;server /1.5/:b,sec;inmessenger /1.3/:inm;linxout(server,messenger):x;linxin(server,inmessenger):y;endsetsdata:outm=218 53 361 264 104 121 460 114 175 233 163 157 257 77 147 110;val=0.35 0.15 0.85 0.7 0.2 0.15 0.9 0.6 0.35 0.4 0.4 0.3 0.9 第 9 页 共 11 页0.1 0.4 0.15;sec=512 512 512 512
20、 512;inm=171 195 149;enddata!目标函数;min=5+6.9-(sum(server(i):sum(messenger(j):x(i,j)*val(j);!每一个信息内块都要用到;for (inmessenger(j):sum(server(i):y(i,j)=1);!每一个信息外块都有可能用到;for (messenger(j):sum(server(i):x(i,j)=1);!每一个服务器的信息块的总容量应该少于512MB;for (server(i):sum(messenger(j):x(i,j)*outm(j)+ sum(inmessenger(l):y(i,
21、l)*inm(l)=512);for (linxin(i,j):bin(y(i,j);for (linxout(i,j):bin(x(i,j);End解得结果如下所示:Global optimal solution found at iteration: 53499Objective value: 6.650000Variable Value Reduced CostX( 1, 1) 0.000000 -0.3500000X( 1, 2) 0.000000 -0.1500000X( 1, 3) 0.000000 -0.8500000X( 1, 4) 0.000000 -0.7000000X(
22、1, 5) 0.000000 -0.2000000X( 1, 6) 0.000000 -0.1500000X( 1, 7) 0.000000 -0.9000000X( 1, 8) 1.000000 -0.6000000X( 1, 9) 0.000000 -0.3500000X( 1, 10) 1.000000 -0.4000000X( 1, 11) 1.000000 -0.4000000X( 1, 12) 0.000000 -0.3000000第 10 页 共 11 页X( 1, 13) 0.000000 -0.9000000X( 1, 14) 0.000000 -0.1000000X( 1,
23、 15) 0.000000 -0.4000000X( 1, 16) 0.000000 -0.1500000X( 2, 1) 0.000000 -0.3500000X( 2, 2) 0.000000 -0.1500000X( 2, 3) 0.000000 -0.8500000X( 2, 4) 0.000000 -0.7000000X( 2, 5) 0.000000 -0.2000000X( 2, 6) 0.000000 -0.1500000X( 2, 7) 0.000000 -0.9000000X( 2, 8) 0.000000 -0.6000000X( 2, 9) 1.000000 -0.35
24、00000X( 2, 10) 0.000000 -0.4000000X( 2, 11) 0.000000 -0.4000000X( 2, 12) 1.000000 -0.3000000X( 2, 13) 0.000000 -0.9000000X( 2, 14) 0.000000 -0.1000000X( 2, 15) 0.000000 -0.4000000X( 2, 16) 0.000000 -0.1500000X( 3, 1) 0.000000 -0.3500000X( 3, 2) 0.000000 -0.1500000X( 3, 3) 0.000000 -0.8500000X( 3, 4)
25、 0.000000 -0.7000000X( 3, 5) 1.000000 -0.2000000X( 3, 6) 0.000000 -0.1500000X( 3, 7) 0.000000 -0.9000000X( 3, 8) 0.000000 -0.6000000X( 3, 9) 0.000000 -0.3500000X( 3, 10) 0.000000 -0.4000000X( 3, 11) 0.000000 -0.4000000X( 3, 12) 0.000000 -0.3000000X( 3, 13) 1.000000 -0.9000000X( 3, 14) 0.000000 -0.1000000X( 3, 15) 0.000000 -0.4000000X( 3, 16) 0.000000 -0.1500000X( 4, 1) 0.000000 -0.3500000X( 4, 2) 1.000000 -0.1500000X( 4, 3) 0.000000 -0.8500000X( 4, 4) 1.000000 -0.7000000X( 4, 5) 0.000000 -0.2000000X( 4, 6) 0.000000 -0.1500000X( 4, 7) 0.000000 -0.9000000X( 4, 8) 0.000000 -0.6000000