[PlantSimulation]GAWizard遗传算法的应用

来源:互联网 发布:小智淘宝店外设店 编辑:程序博客网 时间:2024/06/17 16:04

PlantSimulation除了提供常规的建模功能外,还可以通过额外的库来进行模型的优化,比如说遗传算法、瓶颈分析等,今天主要讲一下Tools中GAWizard的使用方法。

遗传算法是20世纪60~70年代主要由美国 Michigon 大学 John Holland 教授提出.  其内涵哲理启迪于自然界生物从低级、简单到高级、复杂,乃至人类这样一个漫长而绝妙的进化过程。借鉴 Darwin 的物竞天择、优胜劣汰、适者生存的自然选择和自然遗传的机理。其本质是一种求解问题的高效并行全局搜索方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应

地控制搜索过程以求得最优解。

l 基本思想

从一初始化的群体出发, 通过随机选择(复制)(使群体中优秀的个体有更多的机会传给下一代),交叉(体现了自然界中群体内个体之间的信息交换),和变

异(在群体中引入新的变种确保群体中信息的多样性)等遗传操作,使最具有生存能力的染色体以最大可能生存, 群体一代一代地进化到搜索空间中越来越好的区域。

l 生物遗传概念在遗传算法中的对应关系

l 适应函数:即目标函数

l 基本步骤



l PlantSimulation示例

某公司一条混流生产线生产5种产品,设计遗传算法安排生产顺序使其切换时间最短。

1.在PlantSimulation中建立如下图所示模型:


2.Source的产生选择Sequence Cydical,并将sequence拖入到table的设置框内,点击apply,确定将sequence设置成相应的格式。



3.三个machine的处理时间均按默认即可,setup time设置成matrix(type),并将三个setup_machine的表格拖入到相应处理器的setup设置框内。


Setuptime的tablefile可以按照如下时间设置:


4.在Eventcontroller中设置结束时间为10天;并勾选展示报告。


5.全局变量TotalSetupTime的设置方法设置在endsim方法中实现,总的切换时间等于三个机器切换时间的总和。


6.将sequence图标拖到GAWizard上并松开鼠标,此为设置需要优化的参数,也可理解为初始种群的选择;其次将全局变量TotalSetupTime拖到GAWizard中,此为设置适应度函数,即目标函数。



7.可以根据自身需要设置世代数以及世代大小;

8.点击运行选项卡下的开始,即可对模型进行分析计算,并展示最终的效果。

以世代数为50、世代大小为100为例,最佳顺序为5,3,1,4,2,最佳适应度为24:10:24:00.000。








1 0
原创粉丝点击