作者归档:Kevin Suo

关于Kevin Suo

会计一枚;LibreOffice 简体中文 UI 及网站本地化翻译;wiki贡献者。

Franklin Weng 被选举为文档基金会BoD成员

来自中国台湾的 Franklin Weng 在刚刚结束的文档基金会2017年度选举中进入 Board  of Directors 名单。恭喜!

Franklin Weng 是曾是繁体中文l10n小组的主要成员。其简历请见 Linkin: https://www.linkedin.com/in/fweng322

可以预见,其加入 BoD 将对 Libreoffice 在亚洲区域的普及和发展起到很好的推动作用。

粒子群优化求解算法 (Particle Swarm Optimization) 在LibreOffice中的应用

粒子群算法实例-求解函数极值》一文列举了如何在python中使用numpy库实现粒子群优化求解算法,以求解函数 f(x)=x+10sin5x+7cos4x 的最大值。LibreOffice的求解器功能中,有一项粒子群优化非线性求解的算法实现。本文讲解如何在LibreOffice进行该函数最大值的计算:

单元格B2: x; C2: -10;
单元格B3: f(x); C3: =C2+10*SIN(5*C2)+7*COS(4*C2)

打开点击菜单“工具-求解器“。
在打开的对话框中,“目标单元格”点选$C$3,“优化结果为”选择“最大”,“依照该单元格的变动”点选$C$2,下方的“限制条件”:$C$2<=10, $C$2=>-10;
单击下方的“选项“,求解器引擎选择“群非线性求解“,对“群算法”单击“编辑”,输入1(表示粒子群优化求解算法)并确定,然后单击“求解”按钮。

约10秒之内,会得到求解结果:
x: 7.8567441372
f(x): 24.8553628690
与《粒子群算法实例-求解函数极值》一文中的结果很接近。

图:

粒子群优化求解算法

粒子群优化求解算法示例