混合整数分布式蚁群优化算法-MIDACO介绍和试用

混合整数分布式蚁群优化算法-MIDACO

MIDACO是数值优化问题的求解器。MIDACO可以应用于连续(NLP非线性规划)、离散/整数(IP整数规划)和混合整数规划(MINLP)问题。MIDACO可用于单目标和多目标优化问题。问题可能限于等式和/或不等式约束。MIDACO适用于具有上万个变量和数百个目标的问题。MIDACO实现了一种无导数的进化混合算法,该算法将问题视为黑盒,黑盒可能包含关键函数特性,如非凸性、不连续性或随机噪声。对于CPU时间昂贵的应用程序,MIDACO提供了一种高效的并行化策略。该数学优化软件可用于多种编程语言,包括而不限于Excel、VBA、java、C#、MATLAB、Octave、Python、R、Julia、C/C++和FORTRAN语言。请联系MIDACO中国区代理商无锡迅合信息科技有限公司工作人员获得试用。

MIDACO是用于解决单目标和多目标优化问题的高性能数值分析和求解软件。该软件最初是针对欧洲航天局、Astrium(空客集团)的空间站应用的挑战性问题而研发的,后来被扩展并构建为通用型解算器,以适应更为广泛的优化问题。MIDACO处理目标函数f(x)依赖于变量x是连续、整数或两种类型(混合整数情况)的问题。该问题可能进一步限制于等式和/或不等式约束g(x)。下面为MIDACO求解器所考虑的优化问题的简图。

优化问题

http://www.midaco-solver.com/data/optimization_problem.png

作为黑盒优化器,MIDACO不要求目标f(x)和约束g(x)函数以明确的数学形式给出。对于给定的决策变量x的输入,MIDACO只需目标和约束的返回值。这些目标值和约束值的计算方式完全独立于MIDACO,因此被认为是在后台进行的。这样的黑盒概念为用户提供了表达和制定应用的最大自由度。特别地,MIDACO能够解决具有高度非线性、非光滑、非凸和不可微问题的函数。此外,MIDACO可以稳健地解决具有中等水平随机噪声的问题。

核心算法

MIDACO基于一种称为蚁群优化(ACO)的进化算法。特别是MIDACO实现了一个扩展到混合整数搜索域的连续蚁群算法。下图说明了这种混合整数扩展蚁群算法如何使用多核概率密度函数(PDF)对连续情况(左)和整数情况(右)的决策变量搜索空间进行采样。

http://www.midaco-solver.com/data/gauss_pdfs.png

 

扫描二维码关注公众号,回复: 12722750 查看本文章

 在MIDACO中,通过“Oracle惩罚方法”处理约束,“Oracle惩罚方法”是进化算法获得全局最优解的一种先进的自适应方法。像所有的进化算法一样,MIDACO并不能保证获得全局最优解,但在数百个基准上进行的大量数值试验证明它能够快速而稳健地获得大多数问题的全局最优解。特别是在文献[A Numerical Study of MIDACO on 100 MINLP Benchmarks]中,我们还证明了MIDACO在全局最优性能和运行时性能方面优于已建立的经典MINLP算法(如分支界定法)。MIDACO背后的驱动是为大家提供一个健壮的优化算法,并可以在合理的时间内优化复杂的实际应用程序,从而得到一个合理的、更好的解决方案。为了提高其整体性能,MIDACO进一步实现了许多启发式算法和其他算法,包括基于伪梯度回溯线搜索,以实现快速的局部收敛。因此,MIDACO被归类为一种进化混合算法。

软件开发历史

MIDACO软件在日本经过10多年的研发、开发和不断改进,它代表了“进化计算”最领先水平,用于解决MINLP、约束和大规模优化问题。该软件旨在独立使用以及集成(嵌入)到外部算法和软件中。MIDACO的目标是将最高的数值效率与易于使用的界面结合起来。MIDACO是一种完全自给自足的超轻量(约200kb)ANSI-C或Fortran源代码,可移植,可在所有平台(Win/Mac/Linux)上编译/运行,包括web服务器和微处理器。它提供了到流行语言(如Excel、VBA、C#、Java、R、Matlab、Python和Julia)的现成运行网关。MIDACO软件已经成功地进行了测试,可以扩展到具有100000个变量、数千个约束和数百个目标的问题。

MIDACO软件的一个特殊特性是它的“并行化”计算选项,可并行地评估多个候选解决方案。并行化可以显著加快总体计算时间,以解决CPU时间密集型应用,如数值模拟。MIDACO并行化方法提供了两个独特的优点。第一个优点是,它不仅限于单一语言和方法,几乎可以用任何语言和方法来实现。当前的并行化模板包括:OpenMP、MPI、GPGPU、apache spark、Fork/Join、multiprocessing、mpi4py等。第二个优点是可以自由选择并行化因子,独立于MIDACO内部算法组件(如种群大小)或CPU硬件规格。这使得MIDACO能够高度适应任何分布式HPC系统,并利用大规模并行化。

MIDACO软件在全球范围内目前有数百名学术和商业机构用户。MIDACO数学求解器应用范围广泛,包括汽车工业、化工、电信、机器人、土木工程、电气工程、生物技术、气候、能源和金融。MIDACO特别用于(航空)航天工程,例如欧洲航天局(ESA)、德国航空航天局(DLR)、日本宇宙航空研究开发机构(JAXA)、韩国航空航天研究所(KARI)和航空航天相关行业,如Astos Solutions、MT Aerospace、Almatech,PACE航空或三菱重工。MIDACO最令人兴奋的应用之一是星际空间任务轨迹设计,这里MIDACO拥有多个创纪录的解决方案。

MIDACO的开发得到了多家机构的赞助,被众多知名的企业采用,直接集成到他们自己的系统或产品中。

研发赞助方:

http://www.midaco-solver.com/data/log1.pnghttp://www.midaco-solver.com/data/log2.png

 

MIDACO数学求解器集成商:

Ranplan Wireless(优化5G无线通讯网络的部署成本和能力);

ELISE GmbH(使用MIDACO和仿生轻量化技术优化产品设计);

eyeV GmbH的Skyle系统(Skyle眼睛跟踪工具,支持身体有缺陷的人行动) ;

Axians(IT系统引入优化,提升企业管理水平)  ;

ProSim(流程仿真软件使用MIDACO的优化引擎提升仿真优化能力);

Altair(牵牛星公司MDS(多尺度设计系统)中的微观结构优化优化) 

SigmaXL(在SigmaXL产品的DiscoverSim组件中引入MIDACO基于excel的优化

TOMLAB(适合Matlab用户使用的数学优化组件,使用MIDACO优化引擎);

ASTOS Solutions GmbH (航天/空间站相关的计算软件ASTOS采用MIDACO);

PACE(将MIDACO求解技术嵌入PACELAB 飞行器性能分析软件  

【无锡迅合信息科技有限公司 宣2021】

猜你喜欢

转载自blog.csdn.net/qq_31243247/article/details/114464640