VB环境下的模拟退火算法求指派问题

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:Mos_Lei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:模拟退火算法是一种随机搜索算法,可应用于许多前提信息很少的问题,能渐进地收敛于全局最优解。指派问题是组合优化问题中的一种,可用模拟退火算法来解此问题。模拟退火算法解决指派问题时,需要考虑实现此算法的技术问题,例如解的形式,初始温度的计算,邻域的生成方式,解的接受和舍弃,内外循环的中止条件等。在VB编程环境下,实现了该算法的求解过程。实例仿真表明了该方法能够以一定的概率跳出局部最优而实现全局寻优。
  关键词:VB;模拟退火算法;指派问题;仿真
  中图分类号:TP18文献标识码:A文章编号:1009-3044(2008)35-2153-03
  Simulated Annealing Algorithm to Solve Assignment Problem under VB
  DUAN Cha-li,CHEN Bo
  (Lanzhou Jiaotong University,Lanzhou 730070,China)
  Abstract: Simulated annealing algorithm is a random search algorithm, and it can be applied to many problems with little premise information, gradual convergence in the global optimal solution. The assignment problem is one of combinatorial optimization problems. Simulated annealing algorithm can be used to solve assignment problem. When using the algorithm, various technical issues of the algorithm must be considered, such as the form of solution, the initial temperature account, the formation of neighborhood, accepting and giving up the solution, suspension conditions of both inside and outside cycles etc. Under VB programming environment, the author carries out the solution process of the algorithm. Examples simulation shows that the method can jump out of local optimum solution with a certain probability to achieve global optimization.
  Key words: VB;simulated annealing algorithm;assignment problem;simulation
  
  1 引言
  
  在企业、公司的运营与管理中,管理者总是希望把人员最佳分派以发挥其优势,从而降低成本、提高效益。例如某公司需完成 m项任务,恰好有n名员工可承担这些任务(n≥m);每项任务只能由一名员工来做,每名员工也只能做一项任务;不同的员工完成各项任务的成本不同。问怎样分配任务公司的花费最小[1] ?这类问题被称为标准的指派问题 (assignment problem)。模拟退火算法(Simulated Annealing,简称SA)的思想最早是由Metropolis等(1953年)提出的,1983年Kirkpatrick等成功的将其用于组合优化问题中。模拟退火算法在某初温下,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部优解能概率性地跳出并最终趋于全局最优[2]。本文在VB编程环境完成模拟退火算法求解指派问题。
  
  2 指派问题模型
  
  有n个人,m项任务(n≥m),一个人最多可以干一项任务,而一项任务只能由一个人做。cij表示第i个人做第j项任务的费用,找出任务分配方案,使得总费用最小。首先引入一个0-1变量xij:
   (1)
  模型为:
  
  
  3 模拟退火算法(SA算法)
  
  模拟退火算法的基本思想是将组合优化问题比做成一个热力学系统,将优化问题的费用函数f(s)比拟成系统的能量E(i),组合优化问题的解s就比拟成退火过程中能量的状态i。把优化求解过程比拟成系统逐步降温( 迭代搜索) 达到最低能量状态的退火过程。通过模拟退火过程获得优化问题的全局最优解,其算法先确定一个能量函数即目标函数,求解最优化问题一般通过Metropolis抽样和退火两个过程实现。该算法在接受较优解的同时,还在一定范围内接受差解,从而使模拟退火算法能跳出局部最优解而获得最优解[3]。
  模拟退火算法步骤[4]:
  STEP 1:任选—个初始解s0;s:=s0;k:=0;t0:=tmax(初始温度);
  STEP 2:若在该温度达到内循环停止条件,则到STEP3;否则,从邻域N(s)中随机选一个(新解)q,计算Δfsq=f(s)-f(q);若Δfsq≤0,则s:=q;否则若时,则s:=q;重复STEP 2。
  STEP 3:tk+1=d(tk);k:=k+1;若满足停止条件,终止计算;否则,回到STEP 2。
  3.1 指派问题解s的形式
  n表示员工数目,m表示任务数。在输出结果时,用一个2×m的二维数组来表示解,即第一行表示各项工作,由1到m;第二行表示任务分配 ,即从n个人中选择m个做各项工作。
  
  显然该解满足模型中的约束条件 (3) 、(4) ,如果此解还满足条件(1) 、(2),则为可行解,否则为不可行解。
  3.2 邻域的生成
  模拟退火算法中,解的搜索过程是在一个能量状态点附近搜索另外一个能量状态点。在温度tk时刻,指定一个可行解s,然后任意交换两个人的工作,生成一个新的解q,如果满足模型的约束条件(1)和(2) ,则q就是s邻域中的一个可行解。解s的邻域就是由以上方法生成的可行解。
  3.3 新解的接受与淘汰
  在当前解的邻域中搜索到一个新解,是否接受,要看新解的目标函数值(费用)和当前最优解的目标函数值(费用)的差Δfsq,如果Δfsq≤0,则说明新解的目标函数值较小,当前解被新解代替;否则Δfsq>0,看新解的接受概率是否大于一个在0到1之间的随机数ε,若大于,则接收新解为当前最优解,否则舍弃该解。
其他文献
摘要:本文基于Linux 2.4.19平台以及新型的移动终端应用处理器unity805plus,给出一种运用SUBB1400芯片中触摸屏控制器模块实现触摸屏驱动的方案。分别从硬件,软件的角度阐述了触摸屏驱动的初始化设置、中断以及后台进程、信号量在笔点击事件处理流程中的应用。  关键词:嵌入式Linux;触摸屏;字符设备驱动;UCB1400  中图分类号:TP391 文献标识码:A 文章编号:100
期刊
如果你使用的是最新版本的Chrome内核的Edge浏览器(下载网址:https://www.microsoftedgeinsider.com/zh-cn/download),那么可以体验到许多新鲜的功能,这里介绍两则比较实用的快捷技巧。  技巧一:一键打开相同的标签页  某些时候,我们需要同时打开多个相同的标签页,常规的步骤是复制页面地址后在新的标签页打开,操作相当烦琐,现在只需要右击当前标签页,
期刊
摘要:以《计算机图形学》这门课程为例,介绍多媒体CAI课件在计算机教学中的应用。文章重点论述了基于Authorware的多媒体教学软件的设计思路和交互式功能、ActiveX控件、知识对象等关键技术的实现。经过教学实践,该课件取得了较好的效果。  关键词: CAI;多媒体;Authorware;交互式;计算机  中图分类号:TP37文献标识码:A文章编号:1009-3044(2008)35-2067
期刊
摘要:模型检查工具SPIN的核心是PROMELA语言,对PROMELA语言执行方式的理解决定所描述系统模型的行为方式。该文从语义角度研究了 PROMELA语义引擎问题。首先给出PROMELA语法的抽象对象模型形式化定义,然后给出一个算法来实现PROMELA语法到抽象对象模型的映射,描述 了PROMELA指称语义。  关键词:模型检查;SPIN;PROMELA;语义  中图分类号:TP315文献标识
期刊
摘要:针对Lab Windows/CVI中的DataSocket技术和NI网络变量只能手工、静态分配采集端资源的问题。该文设计和实现了一个基于虚拟仪器的网络通信平台,使得多个客户端可以同时和多个采集端进行通信,并动态的申请和释放采集端资源。  关键词:Lab Windows/CVI;远程测控;动态资源分配  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2138
期刊
摘要:随着互联网时代的到来,网上答疑、在线考试等手段逐渐被采用;B/S结构比C/S结构具有简单、容易实现等优点;基于B/S结构,并采用ASP,NET技术,本文阐述了设计和实现教学辅助系统的过程。  关键词:B/S;ASP,NET;网上答疑;在线考试  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2008)01-100187-04
期刊
摘要:该文主要对Web前端开发中经常使用的浏览器端脚本语言JavaScript进行分析,讨论了其中闭包技术的使用,并结合IE浏览器中内存占用情况分析了不当使用闭包技术造成的内存泄漏情况及避免方法。  关键词:JavaScript;闭包;IE浏览器;内存泄漏  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2134-03  Closure in JavaScrip
期刊
摘要:文章在Linux台式机上实现了AP(Access Point)及其扩展功能,并在同一台主机上架设apache服务器,用perl语言编写CGI程序,使用户可以通过HTML页面远程配置主机,从而实现对AP功能的调整。简单的配置页面,降低了用户对Linux操作系统专业知识掌握程度的要求。实验在模拟现有AP产品功能的同时,增加了不需重新启动服务器,直接完成配置修改的功能,测试结果表明,这个改动提高了
期刊
摘要:该文主要探讨了Web Services的安全性问题以及解决方案。简要介绍了Web Services安全技术,提出了实现Web Services安全性的具体实现方案:包括利用用户名/密码来设定访问权限;对客户端IP地址进行过滤;以及使用加密数据传输方式来实现Web Services的安全。  关键词:Web Services;Tomcat;Servlet;SSL协议  中图分类号:TP393文
期刊
摘要:研究基于介质访问控制协议(MAC)的分布式争用问题的主要焦点就是设计有效的具有高吞吐量性能的MAC协议。该文提出在无线局域网中基于MAC协议的有效争用方法,即改良的冲突解决算法(DCR)。该算法主要做了以下几方面的改良和创新:对所有现用网点主动的分配补偿时间,提高解决冲突的速度;当确定固定数量的连续空闲时间片被探测到时,对成功包传输的站点使用较小的争用窗口,以指数级速度减少补偿时间片和减少空
期刊