Octopus最初是为多目标进化优化而制作的。它允许同时寻找多个目标,产生一系列在每个目标的极端之间的优化权衡解决方案。它的使用方式与David Rutten的Galapagos类似,但引入了多目标帕累托原则。
- 基于ETH苏黎世的SPEA-2和HypE算法
https://sop.tik.ee.ethz.ch/pisa/
也基于David Rutten的Galapagos用户界面。Christoph Zimmel增加了自定义用户界面和超体积近似。
寻找单一目标 + 解决方案的多样性
- 寻找2到任意数量目标之间的最佳权衡
- 通过相似性目标改进解决方案
- 在搜索过程中选择首选解决方案
- 在搜索过程中更改目标
- 目标空间中解决方案的3D模型,用于视觉反馈
- 记录历史
- 在Grasshopper文档中保存所有搜索数据
- 将解决方案保存为Grasshopper状态
- 导出为文本或文本文件
Octopus现在还包括
- 基于CPPN-HyperNEAT的扩展基函数的人工神经网络的进化育种
https://eplex.cs.ucf.edu/hyperNEATpage/
- 交互式进化 - 选择器组件 在进行遗传进化优化时,可以添加人为决策作为决策者。
- 使用反向传播和人工神经网络的简单监督学习 https://www.heatonresearch.com/encog/
为了根据示例将组件映射N个数值输入到M个数值输出。
- 使用支持向量机(SVM)的监督学习 为了根据示例将组件映射N个数值输入到1个数值输出。
- Octopus显式组件 从其基本功能构建遗传算法;允许在优化中处理事物的许多不同方式。
Octopus是在维也纳应用艺术大学和Bollinger+Grohmann工程师开发的一系列工具的一部分。
安装方法:
- 将.gha和.dll文件复制到Grasshopper组件文件夹中
- 右键单击文件 > 属性 > 确保没有”blocked”文本
- 重启Rhino和Grasshopper
已知问题:
- 每当另一个安装的Grasshopper插件使用HelixToolkit WPF库时,Octopus往往会崩溃。例如Bimorpher和Wallacei。
- 当启用3D模型网格更改视图轴选项时,在某些配置下3D模型会混乱。