示例: 根据颜色开发一款膜系
我们假定有来自客户的一个颜色数值,需要根据现有材料配置设计出一个膜系,要求膜系能够在镀膜线生产出颜色与需求颜色一致的产品。
下面我们使用膜系开发模块,开发出一个满足要求的膜系。
默认已经打开一个膜系开发模块,具体打开方法请参见:
打开膜系开发模块打开后会在主界面出现一个膜系开发模块的选项卡。
导入膜系开发配置
在未导入膜系开发配置之前,膜系开发界面应该是空白的,用户可以手工进行各项设置,包括膜系结构、计算光谱、光谱曲线、导入光谱容器、光谱目标、优化选项等。
膜系开发配置是把这些设置保存下来,方便下次使用。
导入方法请参见:
从数据库读取配置到当前模块我们导入一个预置的膜系开发配置,编号为s10001,名称是模板。导入后,膜系开发模块的界面会变成如下:
初始化Filmstar
参见如下模块进行初始化:
功能模块内的Filmstar控制导入膜系或者材料配置
如果有一个已知的膜系结构差不多能够满足要求,可以直接导入膜系,然后在此基础上进行优化。导入膜系的时候会同时导入材料配置。
如果没有已知的膜系结构,可以导入材料配置,然后使用膜系开发模块中的膜系结构手工添加膜层。
导入方法请参见:
从数据库导入膜系到当前模块我们导入编号为"S10000T401"的膜系结构,导入后,会加载膜系结构和设置Filmstar使用的材料,此时点击右侧操作栏的第一个按钮(计算),会对当前膜系进行一次计算,膜系开发模块的界面会变成如下:
此时,可以到膜系结构和计算得到的光谱曲线。
颜色目标
由于是使用颜色作为目标来开发膜系,用户必须设置需要的颜色目标。
在右侧操作栏找到颜色目标按钮(从上面数第六个),点击后弹出颜色目标面板,请参见颜色目标进行设置或者从数据库导入颜色目标。
为了在优化过程中使用这些颜色目标,需要勾选最后一列的使用。
最后需要在颜色目标界面上,点击右侧从上数第二个确定按钮,将颜色目标保存到当前模块。
我们是从颜色目标数据库中,导入了一个编号为"S100T1"的颜色目标,导入后,颜色目标界面如下:
设置了三个颜色目标,分别是:
膜面反射: 角度为10度
玻面反射: 角度为10度
透过: 角度为10度
设置颜色表格
为了更好地观察优化过程中颜色的变化,我们需要设置颜色表格。具体操作方法请参见设置颜色表格
我们设置了三个颜色卡片,分别是透过的计算颜色和颜色目标,玻面反射的计算颜色和颜色目标,膜面反射的计算颜色和颜色目标。这样就可以在优化过程中看到颜色的变化,以及颜色和颜色目标之间的差异。
设置之后,就可以在颜色表格中看到计算光谱的计算颜色和颜色目标的对比卡片:
确认或者修改膜系结构
用户设定好膜层后,点击膜系结构表格上方右侧的确认按钮,会将当前的膜系结构固定下来。
优化选项
通过点击右侧菜单的优化->选项按钮,可以设置优化选项。
停止模式
- 优化函数:此处未勾选
- 优化次数:此处未勾选
更新结果
设定了更新结果时,要进行光谱的计算。
设定了更新"有改善的"结果,即只有当优化函数有改善时才更新结果。
记录结果
设定了记录"有改善的"结果,即只有当优化函数有改善时才记录结果。
算法
由于包含了颜色目标,目前只能使用NeldMead的算法。
选择了NeldMead算法后,可以设置算法的参数。包括:
- 光谱目标的权重,我们设置为0,表示颜色目标的权重为100%,这个数值需要考虑光谱目标和颜色目标的数量和数值大小。
- 对于算法的参数,请参照NeldMead算法的说明。在此我们使用如下的参数:
整体设置:设置了不使用归一化、棱长是1.98,自适应的变换参数等。
初始化方法:设置了随机投点的初始化方法
变换参数:这里设置了自适应的变换参数。
如果勾选了固定的变换参数,那么就需要设置固定的变换参数。设置界面如下:
边界选项:就是当变量超出设定的范围后,采用什么样的处置方法,此处选择'建墙',即对包含超出范围的变量的优化设置为无穷大的优化函数。
单纯形检验标准:即检测单纯形本身是不是收敛、平坦和小变化。
参与优化的膜层
我们勾选全部膜层参与优化,需要在膜系结构表中,勾选最右侧一列的全部,还要勾选膜厚限制那一列和修改对应的膜厚范围。
优化
点击主界面右侧操作栏的优化按钮(第二个按钮)进行优化。
优化过程中,我们可以看到优化函数的变化,膜层厚度的变化,计算光谱的变化,颜色以及颜色和对比颜色之间的差值的变化。
查看优化结果
用户可以点击最右侧操作栏的最下面那个按钮,弹出历史
面板,就可以看到所有的记录的优化结果。
点击每一条记录的从右边数第二个按钮,就可以将这个优化结果,加载到主模块中。
下图是一个优化结果,可以看到透过和玻面的颜色基本达到目标,膜面的颜色可以是目标设置的问题,同时在膜层结构中看到膜厚
列的膜厚数值,也可以对比光谱和颜色的差异情况,来确定当前优化结果是否理想。
保存膜系结构
如果对结果比较满意或者想存储一个中间结果,可以将膜系结构保存到数据库中,方便下次使用。
保存方法请参见:
保存膜系结构到数据库