基于仿真的设计优化库

PyOPUS的Python项目详细描述


pyopus是一个基于仿真的任意系统优化库。 它是在考虑电路优化的情况下开发的。图书馆是基础 对于pyopus gui,可以使用 放松。在gui中,您还可以查看结果并绘制波形 由模拟器生成。

Pyopus提供了几种优化算法(坐标搜索, Hooke Jeeves,Nelder Mead Simplex,逐次逼近单纯形,PSADE (全球)、MADS…。优化算法可以安装插件 在每次功能评估时都会触发,并且可以完全访问 优化算法的内部。

pyopus有一个大型的优化测试函数库,可以用于 优化算法开发。函数包括基准集 Morégarbow Hillstrom,Luk_an Vl_ek(非光滑问题),Karmitsa(非光滑问题 问题),MoréWild,Yao,Hedar和Yang的全球优化问题, mads算法开发中使用的问题,以及 在最可爱/最可爱的系列中有成千上万的问题。基准测试结果可以 转换为数据配置文件,使 优化算法。

pyopus.simulator模块当前支持spice opus、hspice和 spectre(支持op、dc、ac、tran和噪声分析,以及收集 设备属性,如VDSAT)。界面简单,可以很容易地扩展到 支持任何模拟器。

pyopus提供了一个可扩展的后处理函数库 使您能够轻松提取性能度量,如增益、带宽、上升 仿真结果的时间、回转率等。 收集到的性能度量可以进一步后处理以获得 可用于指导优化的自定义成本函数 更好的电路算法。

在更高的抽象层次上,pyopus提供了敏感性分析, 参数筛选,最坏情况性能分析,最坏情况距离 分析(参数屈服的决定性近似)和蒙特卡洛 分析(参数屈服的统计近似)。设计可以是 在许多角落有效地调整大小。pyopus完全自动化 寻找一个具有所需参数输出的电路的过程。 这些过程中的大多数可以利用并行计算 大大加快了进程。

通过使用mpi库支持并行计算。一个 计算机集群由一个virtualmachine对象表示,该对象 提供到底层MPI库的简单接口。并行程序 可以在一个简单的协作多任务操作系统的帮助下编写。这个 操作系统可以将功能评估外包给计算节点,但它也可以 在单个处理器上执行所有计算。 编写并行程序遵循unix的原理。函数可以运行 远程使用Spawnos调用。一个或多个远程功能可以是 等待Joinos调用。操作系统能够运行 使用协同多任务的单个计算节点上的程序或在一个集合上的程序 使用virtualmachine对象的多个计算节点。平行度可以是 在程序的多个层次上引入(即并行性能 多角评估,并行优化算法,求解 多个最坏情况下的并行性能问题…)。

pyopus提供了一种基于matplotlib和wxpython的绘图机制 一个类似于Matlab的接口和功能。 绘图由单独的线程处理,因此您可以编写程序 就像在Matlab中一样。专业品质的情节可以是 轻松导出为大量光栅和矢量格式以供包含 在你的文件里。绘图功能在pyopus.visual模块中使用 使程序员能够在 优化运行甚至在优化运行期间。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
gwt java。lang.UnsupportedClassVersionError:不受支持的专业。小版本51.0   java XML解析器trycatch不工作   java Jackson MRBean不工作,无法构造实例   javascript是检查参数的更好方法吗?   java在发生冲突时从ArrayList中删除对象   JavaSpringWebFlux和KeyClope JWTRESTAPI   java Selected选项在微调器中不可见   java在增加分区后,有没有办法在ApacheKafka中保持顺序?   java添加SourceRoot会导致spring启动应用程序出错   java Spring引导:任何bean都没有实现ReactiveCrudepository   java无法注册我的自定义AbstractAnnotationConfigDispatcherServletInitializer   TCP连接上的java Caesar密码   java树集排序不正确   java如何在自定义查询中加载@ElementCollection?