优上述快速非支配排序算法步骤的和需要次计算。于是,整个迭代过程的计算复杂度最大是。这样,整个快速非支配排序算法的计算复杂度就是,根据上述快速非支配排序算法的步骤,相应的伪代码为对于种群第章算法拥挤度拥挤度的确定在原来的算法中,采用共享的小生境技术确保证种群的多样性,但这需要由决策者指定共享参数的值。为了克服算法中的这种不足,中引用了拥挤度的概念拥挤度表示在种群中给定点的周围个体的密度,用表示,直观上用个体周围包含个体但不包含其余个体的最大长方形的长来表示,具体如图所示。图个体的拥挤度在带精英策略的非支配排序遗传算法中,拥挤度的计算是确保种群多样性的个重要因素,其计算步骤如下燕山大学本科生毕业设计论文每个点的拥挤度置为针对每个优化目标,对种群进行非支配排序,令边界上的两个个体的拥挤度为无穷大,即对种群中其他个体的拥挤度进行计算在上式中,表示点的拥挤度,表示点第个目标函数的函数值,表示点的第个目标函数的函数值。拥挤度比较算子经过前面的快速非支配排序以及拥挤度计算之后,种群中的每个个体都拥有如下两个属性非支配排序决定的非支配序拥挤度根据这两个属性,可以定义拥挤度比较算子个体与另个个体进行比较,只要下面任意个条件成立,则个体获胜。若个体所处的非支配层优于个体所处的非支配层,即。若种群中两个个体有相同的等级处在相同的非支配层,且个体的拥挤距离大于个体的拥挤距离,即且。条件用来确保被选择的个体属于在种群中比较优秀的非劣等级。条件是根据它们的拥挤距离来选择处在相同的非支配层的两个个体,位于较不拥挤区域的个体有较大的拥挤度会被选择。根据这两个条件,选出种群中胜出的个体进入下个操作。精英策略算法引入了精英策略,以防止在种群的进化过程中优秀个体的流失,通过将父代种群与其产生的子代种群混合后进行非支配排序的方法,能够有较好地避免父代种群中优秀个体的流失。精英策略的执行步骤如图所示第章算法拥挤度比较算子非支配排序优越度不够,淘汰图精英策略的执行步骤首先,要将第代产生的子代种群与父代种群合并在起,组成种群规模大小为的新种群。然后将种群进行非支配排序,求出系列非支配集并且计算每个个体的拥挤度。因为父代和子代的个体都包含在种群中,所以经过非支配排序后的非支配集所包含个体是整个种群中最好的个体集合,故先将放到新的父代种群中。若此时种群的规模小于,那么需要继续向中填加下级的非支配集,直到添加到非支配集时,种群的大小超出,则对中的每个个体使用拥挤度比较算子,取前个个体,使种群的规模达到。然后通过遗传算子,如选择交叉变异,来产生新的子代种群。在算法中,通过引入拥挤度比较算子来确保非劣解的多样性。由于比较的是种群中所有个体的拥挤度,所以在这过程中没有依赖在算法中出现的共享参数。算法的拥挤度距离公式改进在传统的算法中,如果种群规模大小为,当前非支配集大燕山大学本科生毕业设计论文小为,并且有。那么需要从当前的非支配集中除去个个体,这些被去除的个体不是随机选取的,而是根据拥挤度比较算子选择性地去除优秀度不够的个体。基于拥挤度距离来保持个体解的多样性策略就是根据式,计算种群中个非支配个体的拥挤度距离,然后对这个个体按拥挤度距离升序排序,最后将个拥挤度距离最小的个体次性去除,从而使新父代种群规模大小维持不变。显然,这种维持多样性的策略过于粗糙,使得个体解的分布性较差。由于传统的拥挤度距离的分布性保持策略存在如下两个缺陷如图实心黑点表示非支配个体图个体的拥挤度距离由于个体的拥挤度距离都比较小,若次性去除所有拥挤度距离较小的个体,则会出现个体与之间个体的缺失,从而影响解的分布性。对于个体来说,由于其在其中维目标上的差值很大,而在另维目标上差值却很小,这使得的拥挤度距离也比较小。而对于个体,由于其在各个维目标上的差值都相差不是很大,使得的拥挤度距离也比较第章算法大,此时传统算法会误认为的分布性比要好,但事实上,的分布性要比好。由此可见,基于传统的拥挤度距离来保持解的分布性策略中,个体的拥挤度距离是不变的。也就是说,在次种群维护中,种群中个体的拥挤度距离只计算次。针对上述拥挤度距离的两个缺陷,提出以下相应的解决方法。对于缺陷,可以在种群维护过程中,每去除个个体后重新计算种群中剩余个体的拥挤度距离。对于缺陷,个体的新拥挤度距离可以根据下式进行计算其中,是传统的拥挤度距离,可根据式计算可以根据下式得出表示个体在各个维目标上其相邻个体的拥挤度距离的方差,它能反映出各个维目标拥挤度距离的差异程度。例如,对于图中个体与来说,个体的明显大于的。如此,式中定义的新拥挤度距离计算公式,可以使种群中类似个体的解个体,即在不同维目标上拥挤度距离差异程度较大的个体,在种群维护过程中有更多的机会得到保留。下面讨论基于新拥挤度距离保持解的多样性策略的具体描述。若种群规模大小为,当前非支配集的大小为,且,则根据从中去除个个体的具体描述如下根据式计算中每个个体的动态聚集距离。对中的个体按新拥挤度距离进行升序排序。将中拥挤度距离最小的个体从中去除。若,则结束种群维护否则返回步骤,继续执行。由以上可以看出,利用经过改进的拥挤度距离计算公式来维护种群时表现出两个重要特点燕山大学本科生毕业设计论文每次只去除当前非支配集中最小的个个体。在去除个个体后,重新计算中个体的。这样就可以避免次性去除过多个体而造成解个体在区域的缺失,最终可以得到分布更为均匀的前沿。由于使用式来计算个体的,在式中不仅考虑了种群个体之间的拥挤情况,而且还考虑了种群个体在不同维目标上拥挤度距离的差异情况。这有利于维护在不同维目标上拥挤度距离差异较大的前沿的分布性。算法流程算法的基本流程是首先,随机产生种群规模大小为的父代种群,然后由父代种群产生子代种群,其种群规模大小同样为。将两个种群混合在起,形成了种群规模大小为叉参数作不同取值时的最终结果。图不同交叉参数下的最终化结自动查找次新处方,如果查找到新处方就自动跳转到处方审核页面。图查看新处方页面图自动刷新页面审核员模块该模块主要是负责对当天医生所开的处方单和药师所配的药品进行核对,核对完成后才能进行发药操作,还有就是可以对昨天已配药但又未发药的处方单进行查看并将药品放回药库。该模块设置了多种查找处方单的方式,可以很方便地查找到想要查找的处方单。图按条件查询处方单页面图查看当天未发药的处方单页面图发药操作页面图查看昨天未发药的处方单页面图昨天未发药的处方单详细信息页面图点击药品回库后页面找回密码模块为防止用户忘记登陆密码,该系统还设置了用户可以通过邮箱找回密码功能。当然这需要用户已经设置好了自己的邮箱信息,如果用户不幸忘记了自己的帐号或者邮箱信息的话就只能通过联系系统管理员找回了。由于系统管理员的特殊性,所以没有设置找回密码功能,因为个系统管理员应该具备保管自己的登陆密码的基本能力。在系统的登陆首页有个忘记密码的链接,只要点击该链接就可以链接到找回密码页面。如下图所示图系统登陆页面图找回密码页面图用户登陆邮箱接收邮件的页面图点击链接后重置密码的页面系统管理员后台实现用户管理模块该模块可以对系统的所有用户进行管理,包括对用户的增删改查以及查看当前在线用户。图添加新用户页面图全部用户列表页面图在线用户列表页面药品管理模块在该模块里系统管理员可以进行查看库存的情况只能查看查看和维护药品字典录入新药等操作。图查看库存情况页面图新药录入页面图更新药品字典页面公告管理模块在该模块,系统管理员可以进行发布新公告查看当前公告以及查看历史公告的操作。在发布新公告时只需要输入标题和内容即可,发布的时间和发布者系统会自动设置。这里由于公告的特殊性,并不提供更新公告的功能,只能删除公告或者通过新的公告来覆盖旧的公告。每个用户登陆系统后都会弹出当前最新公告的窗口。图发布新公告页面图查看历史公告页面查看日志模块在该模块,系统管理员可以通过查看当天日志或者历史日志,查看历史日志时只需要输入日期就可以查询到那天的日志。日志主要记录了管理员对用户和系统的管理以及用户的登陆或者修改个人信息等行为。所以系统管理员可以根据日志来了解系统的整体运行情况。图查看历史日志页面系统管理模块在该模块,系统管理员可以对系统进行管理。包括对系统的备份,还原以及初始化等操作,为数据库提供了很好的维护功能。但要注意的是这些行为不能在有用户在线的时候进行,而且操作前必须要先重启服务器,否则很可能会失败。另外系统的备份删除后也不能再恢复,请谨慎操作。图系统备份页面以下是后台调用的系统备份的方法代码调用的系统测试完成对系统的编码后最重要的事情就是对系统的测试工作了,系统测试是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析系统设计和系统实现的最终审查。测试在系统设计阶段包括两个时期,通常在编写每个模块后做单元测试,另个时期是对系统的综合测试。系统测试工作般有以下步骤单元测试组装测试确认测试和系统测试。在本系统的测试优上述快速非支配排序算法步骤的和需要次计算。于是,整个迭代过程的计算复杂度最大是。这样,整个快速非支配排序算法的计算复杂度就是,根据上述快速非支配排序算法的步骤,相应的伪代码为对于种群第章算法拥挤度拥挤度的确定在原来的算法中,采用共享的小生境技术确保证种群的多样性,但这需要由决策者指定共享参数的值。为了克服算法中的这种不足,中引用了拥挤度的概念拥挤度表示在种群中给定点的周围个体的密度,用表示,直观上用个体周围包含个体但不包含其余个体的最大长方形的长来表示,具体如图所示。图个体的拥挤度在带精英策略的非支配排序遗传算法中,拥挤度的计算是确保种群多样性的个重要因素,其计算步骤如下燕山大学本科生毕业设计论文每个点的拥挤度置为针对每个优化目标,对种群进行非支配排序,令边界上的两个个体的拥挤度为无穷大,即对种群中其他个体的拥挤度进行计算在上式中,表示点的拥挤度,表示点第个目标函数的函数值,表示点的第个目标函数的函数值。拥挤度比较算子经过前面的快速非支配排序以及拥挤度计算之后,种群中的每个个体都拥有如下两个属性非支配排序决定的非支配序拥挤度根据这两个属性,可以定义拥挤度比较算子个体与另个个体进行比较,只要下面任意个条件成立,则个体获胜。若个体所处的非支配层优于个体所处的非支配层,即。若种群中两个个体有相同的等级处在相同的非支配层,且个体的拥挤距离大于个体的拥挤距离,即且。条件用来确保被选择的个体属于在种群中比较优秀的非劣等级。条件是根据它们的拥挤距离来选择处在相同的非支配层的两个个体,位于较不拥挤区域的个体有较大的拥挤度会被选择。根据这两个条件,选出种群中胜出的个体进入下个操作。精英策略算法引入了精英策略,以防止在种群的进化过程中优秀个体的流失,通过将父代种群与其产生的子代种群混合后进行非支配排序的方法,能够有较好地避免父代种群中优秀个体的流失。精英策略的执行步骤如图所示第章算法拥挤度比较算子非支配排序优越度不够,淘汰图精英策略的执行步骤首先,要将第代产生的子代种群与父代种群合并在起,组成种群规模大小为的新种群。然后将种群进行非支配排序,求出系列非支配集并且计算每个个体的拥挤度。因为父代和子代的个体都包含在种群中,所以经过非支配排序后的非支配集所包含个体是整个种群中最好的个体集合,故先将放到新的父代种群中。若此时种群的规模小于,那么需要继续向中填加下级的非支配集,直到添加到非支配集时,种群的大小超出,则对中的每个个体使用拥挤度比较算子,取前个个体,使种群的规模达到。然后通过遗传算子,如选择交叉变异,来产生新的子代种群。在算法中,通过引入拥挤度比较算子来确保非劣解的多样性。由于比较的是种群中所有个体的拥挤度,所以在这过程中没有依赖在算法中出现的共享参数。算法的拥挤度距离公式改进在传统的算法中,如果种群规模大小为,当前非支配集大燕山大学本科生毕业设计论