• 回答数

    4

  • 浏览数

    128

baibailittlelove
首页 > 英语培训 > 局部最优英文

4个回答 默认排序
  • 默认排序
  • 按时间排序

赤脚医师

已采纳

基于动态双种群粒子群算法的柔性工作车间调度摘 要: 针对标准粒子群优化算法存在易陷入局部最优点的缺点,提出了一种基于动态双种群的粒子群优化算法(DPSO) ·DPSO 算法将种群划分成两个种群规模随进化过程不断变化的子种群,两个子种群分别采用不同的学习策略进行进化,并在进化过程中相互交换信息·该算法提高了全局寻优能力,有效地避免了早熟收敛的发生·将以DPSO 算法为基础的排序算法和启发式分配算法(HA) 相结合形成了解决柔性工作车间调度问题的新方法(DPSO2HA) ·通过对算例的研究和与其他方法的比较表明,该方法是有效可行的·A Dynamic Double2Population Particle Swarm OptimizationAlgorithm for Flexible Job2Shop SchedulingL I Dan , GA O L i2qun , MA Jia , L I Yang( School of Information Science & Engineering , Northeastern University , Shenyang 110004 , China.Correspondent : L I Dan , E2mail : lidanneu @163. com)Abstract : A dynamic double2population particle swarm optimization ( DPSO) algorithm ispresented to solve the problem that the standard PSO algorithm is easy to fall into a locallyoptimized point , where the population is divided into two sub2populations varying with their ownevolutionary learning st rategies and the information exchange between them. The algorithm thusimproves it s solvability for global optimization to avoid effectively the precocious convergence.Then , an ordering algorithm based on DPSO is integrated with the heuristic assignation ( HA)algorithm to form a new algorithm DPSO2HA so as to solve the flexible job2shop schedulingproblem (FJ SP) . The new algorithm is applied to a set of benchmark problems as instances , andthe simulation result s show the effectiveness and feasibility of DPSO2HA algorithm for the flexiblejob2shop scheduling.Key words : double population ; PSO(particle swarm optimization) ; learning st rategy ; DPSO2HAalgorithm; flexible job2shop scheduling柔性工作车间调度问题( flexible job2shopscheduling problem , FJ SP) 是经典工作车间调度问题的一个延伸,它允许工件被给定的有处理能力的任何机器处理·柔性工作车间调度问题由于减少了机器约束,扩大了可行解的搜索范围,提高了问题的复杂性,所以与传统工作车间调度问题相比更加接近实际生产环境的模拟·相对于传统工作车间调度,关于柔性工作车间调度问题的文献还比较少·目前所采用的方法主要有分枝定界法[1 ] 、多项式算法、分等级法和传统进化算法( EA) [2 ]等,在近几年中,很多研究者使用禁忌搜索和遗传算法对FJ SP 进行求解[3 - 4 ]·本文提出一个新的求解柔性工作车间调度问题的方法———基于动态双种群粒子群优化的分阶段方法·本方法的主要思想是:将柔性工作车间调度问题分解成两个有时间顺序的子问题来考虑,首先考虑工序排序子问题,在获得可行的排序后再考虑机器分配子问题·本文首先利用动态双种群粒子群优化算法为工序进行排序,使其满足约束条件从而获得一个可行解,然后利用文中所提出的分配算法为每道工序分配合适的机器,形成可行的调度方案·本文所考虑的优化目标是最小化最大完工时间(makespan) ·1 柔性工作车间调度问题描述柔性工作车间调度问题可描述为将n 个加工顺序不同的工件在m 台机器上加工完成·每个工件使用同一台机器可以多于一次,每道工序的加工过程不允许中断·机器的集合用U 来表示,每个工件J 包含nj 道工序,各工序之间的顺序不允许改变·Oij表示工件J 的第i 道工序,它可以在有处理能力的任何一台机器上被加工·Ti , j , k表示工序Oij用机器Mk 来加工所需要的时间, 可用集合T ={ Ti , j , k| 1 ≤j ≤N ;1 ≤i ≤nj ;1 ≤k ≤M}表示, N 为工件的数量, M 为机器的数量·例如表1 即是一个实际的柔性工作车间调度加工时间表·表1 柔性工作车间调度加工时间表Table 1 Proce ssing schedule for FJ SP工件工序M1 M2 M3 M4J1O1 ,1 1 3 4 1O2 ,1 3 8 2 1O3 ,1 3 5 4 7J2O1 ,2 4 1 1 4O2 ,2 2 3 9 3O3 ,2 9 1 2 2J3O1 ,3 8 6 3 5O2 ,3 4 5 8 1在柔性工作车间调度问题中, 应满足以下假设:(1) 所有的机器在时间t = 0 时都是可以使用的,每个工件都可以在t = 0 时开始加工;(2) 在给定的时间内, 一台机器只能加工一道工序,直到加工完此工序后方可加工其他工序,这就是所谓的资源约束;(3) 对于每个工件的各道工序只能按照事先给定的顺序加工,这就是所谓的优先约束·对于每一道工序Oi , j , 本文用ri , j来表示其最早开始加工时间, 对不同的工序分别用下式进行计算:ri , j =0 , 1 ≤ j ≤ N ;ri - 1 , j +γi , j , 2 ≤ i ≤ nj ,1 ≤ j ≤ N ·式中,γi , j = mink ( Ti , j , k) ,1 ≤i ≤nj ;1 ≤j ≤N·对于FJ SP 来说一般存在两个难题:第一个是如何为每道工序选择合适的机器;第二个是如何计算每道工序的开始加工时间t i , j和结束加工时间tf i , j·本文所要研究的FJ SP 的优化目标是,在满足上述优先约束和资源约束的条件下寻找最优调度方案,使全部工件的最大完工时间(Makespan)最短·2 排序算法———动态双种群粒子群优化算法2. 1 标准粒子群优化算法粒子群优化(particle swarm optimization ,简称PSO) 算法是由Kennedy 和Eberhart 在1995年提出·在PSO 系统中,每个潜在解被称为一个粒子,多个粒子共存、合作寻优,每个粒子根据它自身的经验在目标搜索空间中向更好的位置飞行,搜索最优解·由文献[ 5 ]可知,每个粒子根据如下的公式来更新自己的速度和在解空间的位置·v ( t +1)id = w v ( t)id + c1 r1 p ( t)id - x ( t)id +c2 r2 p ( t)gd - x ( t)id , (1)x ( t +1)id = x ( t)id + v ( t +1)id · (2)其中, d = 1 ,2 , ⋯, n , i = 1 ,2 , ⋯, m , m 为种群规模; t 为当前进化代数; r1 和r2 为均匀分布于[0 ,1]的随机数; w 为惯性权重, 其值由下式来确定[6 ] :w = w max -w max - w minitermax×iter · (3)式中, w max , w min分别是w 的最大值和最小值;iter ,itermax分别是当前迭代次数和最大迭代次数·2. 2 粒子群优化算法的学习策略由标准粒子群优化算法可知,粒子通过跟踪自己迄今为止所找到的最优解和种群迄今为止所找到最优解这两个极值来更新自己的速度,从而更新自己的位置·这种行为也可以理解为,粒子在借鉴自身和整个群体所取得的成功经验,通过对以往的成功经验的学习获得有用的信息,指导自己下一步的行动策略·但人们也常说“失败乃成功之母”“, 吃一堑,长一智”,可见从一些失败的尝试中也可以获得有用的信息,基于这一点,提出了新的粒子群优化算法学习策略,这就是从以往的失败中获得有价值的信息,使粒子远离粒子本身和整个群体所找到的最差的位置,从而更新粒子的速度和位置·粒子在搜索过程中的失败可以表现为搜索到的具有较差适应值的位置,记第i 个粒子迄今为止搜索到的最差位置为si = ( si1 , si2 ,⋯, sin) ,整个粒子群迄今为止搜索到的最差位置为sg = ( sg1 , sg2 , ⋯, sg n) ,则第i 个粒子的速度和位置更新公式如下:v ( t +1)id = w v ( t)id + c1 r1 x ( t)id - s ( t)id +c2 r2 x ( t)id - s ( t)gd , (4)x ( t +1)id = x ( t)id + v ( t +1)id · (5)如果只是利用上述的位置和速度更新公式更新粒子,也就是说只是从失败中获取经验,这与实际经验不符·一般来说,还是更多地从成功的经历中获取信息,而从失败的经历中获得相对少的信息,基于这一点本文的算法同时从成功和失败的经历中获取信息来更新粒子·2. 3 动态双种群粒子群优化算法由上面的叙述可以知道粒子群中的粒子可以按照不同的学习策略进行学习,对速度和位置作出更新·所以本文将一个种群分成两个子种群,每个子种群选用不同的学习策略,即第一个子种群中的粒子选用从成功经历中获得学习信息的策略,更新自己;第二个子种群中的粒子选用从失败的经历中获得学习信息的策略进行进化·本文可以设置一个比例系数ρ来控制两个子种群中粒子的个数·ρ =m1m2, m1 + m2 = m · (6)式中, m 为粒子群中的粒子总数; m1 为第一个子种群中的粒子个数; m2 为第二个子种群中的粒子个数·为了使每个粒子都能从自身和群体的经历中获得充分的学习, 本文规定两个子种群中的粒子是不断变化的, 即每隔一定的代数后将整个种群按照比例系数ρ重新随机划分成两个子种群·从粒子群优化算法的进化过程中知道在优化的初期粒子的位置比较分散, 得到较优值和较差值的机会相差不多,所以此时采用上述两种不同学习策略的粒子的个数应大致相等·在优化搜索的后期粒子将聚集在最优值的附近,这时将很难出现比历史最差值更差的值了,第二个子种群将从失败经历中得不到太多的有价值的信息·此时第二个子种群中的粒子数应该远远小于第一个子种群中的粒子个数,直至完全采用跟踪最优值来更新粒子,即第二个子种群消亡·基于上述原因将ρ设为一个线性变化的量,其值由下式确定:ρ = ρmax -ρmax - ρmin018 ×itermax×iterc · (7)式中,ρmax和ρmin分别是ρ的最大值和最小值;iterc 和itermax分别是种群重新划分时的进化代数和最大进化代数·动态双种群粒子群优化算法的实现步骤如下:(1) 设PSO 种群规模为m , 加速常数为c1和c2 ,惯性权重的最大值和最小值为w max , w min ,比例系数ρ的最大值和最小值为ρmax ,ρmin ,种群重新划分代数iterc ,最大进化代数为Tmax·将当前进化代数置为t = 1 ;(2) 在解空间中初始化粒子的速度和位置;(3) 将种群按照比例系数ρ划分为两个子种群;(4) 按式(3) 更新惯性权重w , 按式(7) 更新比例系数ρ, 第一个子种群按式(1) 和(2) 更新粒子速度和位置,第二个子种群按式(4) 和(5) 更新子种群中的粒子,从而产生新种群Xt ;(5) 评价种群Xt·将第i 个粒子当前点适应值与该粒子迄今找到的最优位置pi (最差位置si) 的适应值进行比较, 若更优(差) , 则更新pi( si) ,否则保持pi ( si) 不变,再与种群迄今找到的最优位置pg (最差位置sg) 的适应值进行比较,若更优(差) ,则更新pg ( sg) ;否则保持pg ( sg) 不变;(6) 检查是否满足寻优结束条件, 若满足则结束寻优, 求出最优解; 否则, 置t = t + 1 , 转至(3) ;结束条件为寻优达到最大进化代数Tmax·2. 4 基于动态双种群粒子群优化算法的工序排序2. 4. 1 粒子的编码和解码根据第1 节对柔性工作车间调度问题的描述,本文定义所有工件的总工序数L = 6nj =1nj ,把一个粒子表示为一个L 维的向量·对所有工序进行连续编号,即为每道工序指定一个固定的编号·例如可以对表1 所给出的例子中的工序进行编号,如表2 所示,则粒子的位置向量x [ L ]就是由一组连续的自然数组成的L 维的向量,自然数的顺序决定了工序调度的顺序·xi = [1 ,7 ,2 ,4 ,8 ,3 ,5 ,6 ]就表示了一个满足优先约束的可行的工序排序·表2 工序编号Table 2 Serial numbers of operations工序O1 ,1 O2 ,1 O3 ,1 O1 ,2 O2 ,2 O3 ,2 O1 ,3 O2 ,3编号1 2 3 4 5 6 7 82. 4. 2 位置向量和速度向量的更新对每个粒子, 粒子的速度向量可以用v [ L ]表示·按照上面所述的更新公式对x [ L ] , v [ L ]进行更新·由于粒子群优化算法经常用在连续空间上,而柔性工作车间调度问题为整数规划问题而且有工序先后顺序约束,所以将粒子群算法用于柔性工作车间调度问题时,在速度和位置更新方式上要做如下的修改:令粒子i 的当前的位置为xi = [1 , 7 , 2 , 4 , 8 , 3 , 5 , 6 ] , 在经过一次迭代以后位置向量变为xi = [ 2. 5 , 6. 7 , 3. 6 , 5. 9 , 8. 5 ,112 ,4. 1 ,7. 6 ]·位置向量里存放的是工序的编号,很明显不能为小数, 本文对迭代后的位置向量进行如下的处理:将更新后的位置向量中各分量的值按照由小到大的顺序进行排列, 并为其进行重新编号:1. 2 (1) < 2. 5 (2) < 3. 6 (3) < 4. 1 (4) < 5. 9(5) < 6. 7 (6) < 7. 6 (7) < 8. 5 (8) ,式中括号内的数字为该分量的编号, 然后位置向量中各分量用其获得的相应的编号代替·例如,第一个分量2. 5 用编号2 代替,第二个分量6. 7 用编号6 代替等等,此时位置向量变为xi = [2 , 6 , 3 , 5 , 8 , 1 , 4 , 7 ]·但是这个工序排序不满足优先约束,还要对其进行调整,使其满足约束条件·例如第一个分量2 代表的是工序O21 ,第6 个分量1 代表的是工序O11 ,工序O21应在工序O11之后进行加工, 所以要对其进行调整·调整的方法为:对属于同一个工件的工序调换其相应先后位置使其满足约束, 对每个工件都做相似的处理, 则可以得到满足优先级约束的位置向量: xi = [1 ,4 ,2 ,5 ,7 ,3 ,6 ,8 ]·3 启发式分配算法通过上一节介绍的排序算法本文可以获得一个满足工序优先约束的可行的工序序列·这一节通过一个启发式算法为这一工序序列中的每一工序分配一台合适的机器对其进行加工·本文所采用的分配算法的主要思想是:选择一台能使本道工序获得最小完工时间的机器分配给待加工的工序·可以用如下公式表示选择机器Mk 分配给待加工的工序以使本道工序的完工时间最短:tf i , j = min k ( ri , j + Ti , j , k) ,ri , j = max ( rpfk , ropf) ·式中, tf i , j 为工序Oi , j 的完工时间; ri , j 为工序的开始加工时间; Ti , j , k为工序用机器k 加工消耗的时间; rpfk为机器Mk 当前状态下所加工的最后一个工件的完工时间; ropf为待加工工序紧前工序的完工时间·利用排序算法和分配算法就可以获得一个满足优先约束和资源约束的可行的调度方案, 并且利用分配算法还可以得到目标函数———全部工件的最大完工时间的值·将前面介绍的排序算法和分配算法综合起来便形成本文所采用的处理柔性工作车间调度优化问题的方法,记为DPSO2HA·该方法将柔性工作车间调度问题分解为两个子问题———排序问题和分配问题,在每一次迭代中首先通过动态双种群粒子群算法获得一个可行的工序序列, 然后利用分配算法给该序列分配合适的机器并计算目标函数值,直至达到最大进化代数·4 算例仿真4. 1 仿真研究1本文选用文献[ 7 ]中的一个10 ×10 (10 个工件,10 台机器) ,30 道工序的柔性工作车间调度问题来计算最大完工时间·实验参数如下:粒子群的种群规模为m = 30 , c1 = c2 = 2 ,ρmax = 015 ,ρmin =0 ,每隔5 代重新划分种群,最大迭代次数Tmax =150·实验中采用本文所提出的算法运行10 次,和传统的GA 方法、文献[8 ]中采用的MSA 算法相比较,比较结果如表3 所示·表3 实验结果比较Table 3 Comparison of te sting re sults方 法最优值平均值标准偏差GA 8 11. 5 2. 67MSA 7 7. 9 0. 97DPSO2HA 7 7. 1 0. 32从表3 中可以看出DPSO2HA 求得的平均值和标准偏差都明显优于GA 和VEGA , 这说明DPSO2HA 的精度与稳定性明显优于GA 和VEGA 算法·实验中所获得的一个较优的调度方案的甘特图如图1 所示·图中方框内的数字“i . j”表示第j 个工件的第i 道工序·,(不好意思,图粘贴不下来,要不你告我邮箱)图1 柔性工作车间调度优化结果Fig. 1 Optimization solution to the problem10 ×10 with 30 operations4. 2 仿真研究2为了进一步对本文提出的算法的性能加以验证,选用文献[ 9 ]中所给出的实验数据,利用本文提出的算法进行求解,并将调度结果与文献[ 9 ]及文献[ 10 ]中所提算法的调度结果加以比较·比较结果如表4 所示·表4 不同方法的调度结果比较Table 4 Comparison of different scheduling re sults算例描述Brandimarte GENACE DPSO2HAMK1 10 ×6 42 41 40MK2 10 ×6 32 29 28MK4 15 ×8 81 67 61MK5 15 ×4 186 176 173MK6 10 ×15 86 68 62MK7 20 ×5 157 148 141MK8 20 ×10 523 523 523MK9 20 ×10 369 328 307MK10 20 ×15 296 231 207由上述的比较结果可以看出,本文所提出的DPSO2HA 方法对上述算例的求解结果较另外两种方法有了较大的提高·5 结 论本文提出了一种动态双种群粒子群优化算法(DPSO) ·DPSO 将种群划分成两个种群规模随进化过程不断变化的子种群,两个子种群分别采用不同的学习策略进行进化,并在进化过程中相互交换信息·该算法在保持PSO 算法高效简单的基础上提高了全局寻优能力·将以DPSO 算法为基础的排序算法和启发式分配算法相结合形成了解决柔性工作车间调度问题的新方法·通过对算例的研究和与其他方法的比较表明,该方法是有效可行的·参考文献:[ 1 ] Carlier J , Pinson E. An algorithm for solving the job2shopproblem[J ] . Management Science , 1989 ,35 (2) :164 - 176.[ 2 ] Reynolds R G. An introduction to cultural algorithms[ C] ‖Proceedings of the Third Annual Conference on EvolutionaryProgramming. River Edge : World Scientific , 1994 : 131 -139.[ 3 ] Mastrolilli M , Gambardella L M. Effective neighborhoodfunctions for the flexible job shop problem[ J ] . Journal ofScheduling , 2002 ,3 (1) :3 - 20.[ 4 ] Kacem I , Hammadi S , Borne P. Pareto2optimality approachfor flexible job2shop scheduling problems : hybridization ofevolutionary algorithms and fuzzy logic[J ] . Mathematics andComputers in Simulation , 2002 ,60 (3) :245 - 276.[ 5 ] Kennedy J , Eberhart R. Particle swarm optimization [ C] ‖Proceedings of IEEE International Conference on NeuralNetworks. Perth : IEEE Press , 1995 :1942 - 1948.[ 6 ] Shi Y, Eberhart R C. Empirical study of particle swarmoptimization [ C ] ‖Proceedings of the 1999 Congress onEvolutionary Computation. Washington , 1999 : 1945 -1950.[ 7 ] Xia WJ , Wu Z M. An effective hybrid optimization approachfor multi2objective flexible job2shop scheduling problems[J ] .Computers & Indust rial Engineering , 2005 ,48 (2) :409 -425.[ 8 ] Najid N M , Stephane D P , Zaidat A. A modified simulatedannealing method for flexible job shop scheduling problem[C]‖Proceedings of the IEEE International Conference onSystems , Man and Cybernetics. Hammamet : IEEE Press ,2002 :89 - 94.[ 9 ] Brandimarte P. Routing and scheduling in a flexible job shopby tabu search[J ] . A nnals of Operations Research , 1993 ,41(3) :158 - 183.[ 10 ] Ho N B , Tay J C. GENACE: an efficient cultural algorithmfor solving the flexible job2shop problem[C] ‖Proceedings ofthe IEEE Congress on Evolutionary Computation. Portland :IEEE Press , 2004 :1759 - 1766.(do you know)

局部最优英文

356 评论(8)

星耀夜阑

你好!1. Direct search approachSolutions are generated by varying parameters either systematically incertain steps or randomly. The best of these solutions is then taken as theestimated optimum. Systematic variation soon becomes prohibitively timeconsuming as the number of varied variables increases. Random searchesare then employed, but these are still inefficient for problems with manydesign variables.1。直接搜索方法的解决方案是通过改变参数,无论是系统中的某些步骤或随机生成的。这些最好的解决方案,然后采取作为估计的最优解。系统性变化很快变得望而却步时间消耗的多样化的变量的数目增加。然后采用随机搜索,但这些仍与许多设计变量的问题。2. Steepness approachThe solutions are generated using some information on the local steepness(in various directions) of the function to be optimized. When the steepnessin all directions is (nearly) zero, the estimate for the optimum is found.This approach is more efficient in many cases. However, if several localoptima exist, the method will 'get stuck' at the nearest local optimuminstead of finding the global optimum, i.e. the best of all possible solutions.Discontinuities (steps) are problematic; even functions that vary steeply inone direction, but very little in another direction make this approach slowand often unreliable.2 低效。陡度的方法使用当地的陡度(各个方向)的一些信息的功能进行优化的解决方案。在所有方向上的陡度(几乎)为零,估计为最佳。在许多情况下,这种方法是有效的。但是,如果几个局部最优解存在,该方法将“卡住” ,而不是寻找全局最优解,在最近的局部最优,即所有可能的解决方案是最好的。不连续(步骤)是有问题的,即使在一个方向急剧变化的功能,,但很少在另一个方向,这种方法速度慢,往往是不可靠的。Most optimization methods in ship design are based on steepness approachesbecause they are so efficient for smooth functions. As an example considerthe cost function varied over length L and block coefficient CB (Fig. 3.1).A steepness approach method will find quickly the lowest point on the costfunction, if the function K = f(CB, L) has only one minimum. This is oftenthe case.在船舶设计中的最优化方法的基础上陡度的方法,因为他们是如此有效的平滑功能。作为一个例子考虑成本函数的变化,长度L和方形系数CB(图3.1)。陡度的方式方法,快速找到最低点的成本函数,如果函数K = F(CB,L)只有一个最低限度。这是通常的情况。希望对你有帮助!

342 评论(15)

樱花龙女

在作战中运用数学方法设计行动方案虽不多见,但一旦运用,却经常能产生意外的效果。二战期间,盟军在作战中妙用数学方法取得了显著成效。这也使得军事理论研究者越来越多地将数学方法应用到军事问题中,由此产生了一门新的学科——军事运筹学。 巧妙避开德军潜艇 1943年以前,在大西洋上英美运输船队常常受到德国潜艇的袭击,当时,英美两国海军实力有限,一时间,德军的潜艇战搞得盟军焦头烂额。为此,一位美国海军将领专门去请教了几位数学家。数学家们运用概率分析后发现,舰队与敌潜艇相遇是一个随机事件。从数学角度来看这一问题,它具有一定的规律:一定数量的船编次越多与敌人相遇的概率就越大。美国海军接受了数学家的建议,命令舰队在指定海域集合,再集体通过危险海域,然后各自驶向预定港口。结果盟军舰队遭袭被击沉的概率下降,大大减少了损失。 准确判定日舰行驶路线 二战新几内亚作战期间,美军得到了日军将从新不列颠岛东岸的腊包尔港派出大型护航舰队驶往新几内亚莱城的情报,日军舰队可能走两条航线,航程都是3天。其中北面航线云多雾大,能见度差,不便于观察;南面航线能见度好,便于观察。美军也有两种行动方案可供选择,即分别在南北航线上集中航空兵主力进行侦察、轰炸。若日军选择走北线,美军也选择北线,由于天气影响只能有两天轰炸时间;美军若选南线,则由于在南线侦察耽搁一天,到北线侦察延误一天,只能争取一天的轰炸时间,因此日军选择北线,被轰炸天数为1~2天。根据同样的判断,若日军选择南线,则被轰炸数为2~3天。美军由此断定日军必走北线。真实情况果真如此。日军舰队起航一天后,在北线被美军发现并被轰炸两天,结果损失惨重。 理智撤回援法飞机 二战时期,当德国对法国等几个国家发动攻势时,英国首相丘吉尔应法国的请求,动用了十几个防空中队的飞机和德国作战。这些飞机中队必须由欧洲大陆上的机场来维护和操作。空战中英军飞机损失惨重。与此同时,法国总理要求继续增派10个中队的飞机。丘吉尔决定同意这一请求。内阁知道此事后,找来数学家进行分析预测,并根据出动飞机与战损飞机的统计数据建立了回归预测模型。经过快速研究发现,如果补充率损失率不变,飞机数量的下降是非常快的。用一句话概括,就是以现在的损失率损失两周,英国在法国的“飓风”式战斗机便一架也不存在了。数学家们要求内阁否决这一决定。最后丘吉尔同意了这一要求,并将除留在法国的3个中队外,其余飞机全部撤回英国,为下一步的英伦保卫战保存了实力。 算准深水炸弹爆炸深度 二战期间英军船队在大西洋里航行时经常受到德军潜艇的攻击。为此,英国空军经常派出轰炸机对德军潜艇实施火力打击,但轰炸效果总是不理想,对潜艇几乎构不成威胁。英军请来一些数学家专门研究这一问题,结果发现,潜艇从发现英军飞机开始下潜到深水炸弹爆炸时止,只下潜了7.6米,而英军飞机投下的炸弹却已下沉到21米处爆炸,从而导致毁伤效果低下。经过科学论证,英军果断调整了深水炸弹的引信,爆炸深度从水下21米减为水下9.1米,结果轰炸效果较过去提高了4倍。德军还误以为英军发明了新式炸弹。 让虚拟战争告别“纸上谈兵” 2003年6月,科学出版社推出一本名为《数理战术学》的新著,引起数学与军事领域有关专家的极大关注。这本书的作者,就是国防科技大学信息系统与管理学院博士生导师沙基昌教授。 早在第一次世界大战时期,英国工程师兰彻斯特就试图将数学与军事战术学结合起来,他最先提出了一个关于空战战术的尝试性数学模型——兰彻斯特方程。但是,直到20世纪末,数学在战术学中的应用一直停留在模型阶段,并未将武器装备的研究与战略战术研究结合起来。 “一门科学只有当它充分利用了数学之后,才能成为一门精确的科学。”这是马克思关于数学作用的精辟论述。沙教授认为,数理战术学的本质,就是要将军事战术的基本规律抽象出来,用数学方法演绎出一套理论和战术原则。为此,他探索将复杂的战争问题公理化。从上个世纪80年代中期开始,他将数学公理化方法引入了战术学及其相关理论研究,首先从现代战争作战实际中提炼出可能被公认的事实和规律,并将其进一步深化为数学上的公理,再进行数学运算和逻辑推理,然后用通俗的战术语言解释其原理,用于指导军事备战与作战实际。 经过近20年的潜心研究,沙基昌首次提出了规范交战模式等一系列概念,将作战指挥中极其重要的“作战指数概念”与“武器装备的作战运用”统一放到作战环境中建立数学模型,证明了规范交战模式的存在与惟一性定理,从而揭示了作战效能、作战毁伤与最优火力运用之间的内在本质与规律,在理论和应用上大大超越了西方同行,奠定了现代数理战术学的基础,使虚拟战争不再是纯粹的“纸上谈兵”,有力地推动了战术学从经验科学向精确科学的转变。 如今,由沙基昌奠基的我国数理战术学理论,已成为国防科技大学等院校相关专业研究生的必修课目。 引领装备论证进入数字化时代 20世纪80年代初,我国武器装备论证主要采取以战术技术指标为主的论证方法,而最主要、最关键的作战效能却因难以度量而不被关注,严重制约了武器装备的发展。 沙基昌敏锐地意识到,计算机与仿真技术的发展为武器装备作战效能评估提供了可能。从那时起,他将数理战术学的研究理论与成果运用于武器装备论证,创造性地提出“战术技术指标、作战效果、全寿命费用与风险”综合分析的武器装备论证模式,以及基于仿真的武器装备作战效能评估方法。 这种依靠计算机仿真技术对武器装备在复杂战场条件下作战效能的评估论证,能获得可靠的结果预测吗?面对一些人的疑惑目光,沙基昌没有退缩。他认为,实战演练武器装备代价太大,而计算机仿真试验则可以反复多次,不仅可以节约大量国防经费,而且能直接为提高战斗力服务。他研制成功了“面向武器装备论证的柔性建模仿真平台”,在“某型导弹主要战术技术指标论证决策支持系统”得以成功应用,并得到了应用单位的高度评价。 1996年,我军某新型反舰导弹问世,发现实射效果与其战术技术指标不相符,因而迟迟不能定型生产。问题出在哪里?通过深入分析论证和建模仿真,沙基昌发现了影响导弹作战效能的若干关键因素,为该型导弹的改型提供了重要依据,解决了设计单位和部队的燃眉之急。 1992年1月,我国载人航天工程启动。飞船的可靠性与安全性必须具有很高的安全系数,怎样才能知道飞船是否达到了这样的指标呢?总设计单位要求国防科大进行论证。沙基昌与同事们历时两年,提出了可靠性安全性原型仿真的概念、方法和技术,并开发了相应软件系统。这一成果,为改进“神舟”系列飞船可靠性安全性设计起到了重要作用。 潜心培养新一代军事运筹英才 2004年11月25日,沙基昌59周岁了。他的学生们自发地组织了一个生日聚会,为导师庆贺。 前来聚会的学生有近百人,他们中有3位将军、5位博导、50多位教授和副教授。聚会上,学生们争抢着发言,最后不得不限时——“每人发言2分钟”。据统计,沙基昌先后培养了100多名博士和硕士研究生,许多人已成为所在研究领域的知名专家和学科带头人。 1984年,沙基昌留学美国回来不久,就受命主持“军队干部队伍结构动态分析系统”研究,提出了军队干部队伍四维动态结构、稳态结构模型和层次控制理论,撰写了《关于军队干部队伍结构的预测》等10多份研究报告,为《中国人民解放军军官服役条例》等重大决策的论证提供了科学依据。 近年来,沙基昌先后开辟了军事运筹学、军事装备学、指挥自动化等新的学科领域和研究方向,并在这些领域培养出大批高层次人才。硕士生卢拾贵在沙教授的指导下,将计算机数据结构技术与运筹学有机结合起来,其学位论文“作战地图处理系统的设计与实现”得到有关部门和军事专家的关注。博士生杨峰的《面向效能评估的平台级体系对抗仿真研究》,为武器装备作战效能评估与分析提供了新的方法,先后获得部委级科技进步一、二等奖各一项。 沙基昌对学生有一条特别严格的要求:学位论文选题必须是当前国防和军队建设领域中急需解决的关键技术。一位博士生想早点完成学业,在未弄清当前部队实际需求的情况下就写出了学位论文。最后,他不得不按照沙教授的要求,深入部队和国防工业部门进行深入调研,重新撰写论文。这一反复,虽然延长了毕业时间,拿出来的却是高质量的学位论文。(本报记者 薛仁 王握文)

311 评论(14)

搁小浅671

为什么要学习JVM?

深入理解JVM可以帮助我们从平台角度提高解决问题的能力,例如,有效防止内存泄漏(Memory leak),优化线程锁的使用 (Thread Lock),更加高效的进行垃圾回收 (Garbage collection),提高系统吞吐量 (throughput),降低延迟(Delay),提高其性能(performance)等。

你是如何理解JVM的?

JVM 是 Java Virtual Machine的缩写,顾名思义,它是一个虚拟计算机,是硬件计算机的抽象(虚构)实现,是JAVA平台的一部分,如图所示(见图中的最底端):

JVM是 Java 程序能够实现跨平台的基础(Java的跨平台本质上是通过不同平台的JVM实现的),它的作用是加载 Java 程序,把字节码(bytecode)翻译成机器码再交由 CPU 执行。如图所示:

程序在执行之前先要把 Java 代码(.java)转换成字节码(.class),JVM 通过类加载器(ClassLoader)把字节码加载到内存中,【关注尚硅谷,轻松学IT】但字节码文件是 JVM 的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的命令解析器执行引擎(Execution Engine) 将字节码翻译成底层机器码,再交由 CPU 去执行。

市场上有哪些主流的JVM呢?

JVM是一种规范,基于这种规范,不同公司做了具体实现,BEA公司研发JRockit VM ,后在2008年由Oracle公司收购;IBM公司研发了J9 VM ,只应用于IBM 内部。Sun公司研发了HotSpot VM ,后在2010年由Oracle公司收购。目前是甲骨文公司最主流的一款JVM虚拟机,也是我们现在最常用的一种。

JVM的体系结构是怎样的?

JVM 的体系结构,如图所示:

类加载系统 (ClassLoader System)负责加载类到内存;运行时数据区 (Runtime Data Area)负责存储对象数据信息;执行引擎(Execution Engine)负责调用对象执行业务;本地库接口(Native Interface)负责融合不同的编程语言为 Java 所用。

JVM有哪些运行模式吗?

JVM有两种运行模式Server与Client。两种模式的区别在于,Client模式启动速度较快,Server模式启动较慢;但是启动进入稳定期之后Server模式的程序运行速度比Client要快很多。这是因为Server模式启动的JVM采用的是重量级的虚拟机,对程序采用了更多的优化;而Client模式启动的JVM采用的是轻量级的虚拟机。所以Server启动慢,但稳定后速度比Client远远要快。

现在64位的jdk中默认都是server模式(可通过 java -version进行查看)。当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而server模式启动的虚拟机采用相对重量级,代号为C2的编译器.c1、c2都是JIT编译器, C2比C1编译器编译的相对彻底,服务起来之后,性能更高。

JVM 运行时内存结构是怎样的?

不同虚拟机实现可能略微有所不同,但都会遵从 Java 虚拟机规范,Java 8 虚

拟机规范规定,Java 虚拟机所管理的内存将会包括以下几个区域,如图所示:

346 评论(11)

相关问答