ampl

AMPL - 多元的建模工具

AMPL是一个复杂的建模工具,支持整个建模周期:开发、测试、部署和维护。通过使用与人们思考优化模型相同的方式来表示优化模型的表示,AMPL促进了快速开发和可高的结果。

 

AMPL集成了用于描述优化数据、变量、目标和约束的建模语言;用于浏览模型和分析结果的命令语言;以及用于收集和操作及实现迭代方案的脚本语言。这些都使用相同的概念和语法来简化用于程序构建。

 

建模语言功能

  • 对集合和集合运算符的广泛支持。AMPL模型可以使用对、三元组和更长元组的集合;在集合上索引的集合;无序,有序和循环的对象集;和数组。

  • 算术、逻辑和条件表达式的通用和自然语法;求和和其他迭代运算符的熟悉约定。

  • 自动处理连续和整数变量中的线性和凸二次问题。

  • 非线性编程特性,例如初始原始值和对偶值、用户定义函数、快速自动微分以及“定义”变量的自动消除。

  • 网络流、分段线性、互补条件和逻辑含义的方便替代表示法。


有价值的建模支持功能:

  • 具有批处理选项的交互式命令环境。显示命令可让您查看全部模型组件或表达式,在屏幕上浏览或写入文件,使用自动格式化或您自己的偏好。

  • 脚本语言,包括循环和if-then-else命令。AMPL命令云语言中的程序可以定义复杂的迭代方案,以处理输入数据、反复调整和解决多个模型的实例,并为分析准备结果。

  • 模型和数据的分离。即使集合和数据表不断增长,AMPL模型仍然保持简洁。模型可以包含多种数据有效性的条件。

  • 数据输入和输出的连接。简洁的语句将模型数据和结果与关系数据表的内容联系起来。

 

广泛的可用性

可用的求解器包括流行和强的优化引擎:

  • 连续和混合整数问题的线性和凸二次求解器(CPLEX、Gurobi、Xpress)。

  • 连续问题(CONOPT、Ipopt、KNITRO、MINOS、SNOPT)和混合整数问题(Bonmin、Couenne、KNITRO)的局部解的非线性求解器。

 

为什么选择AMPL?

 

AMPL系统以一种促进快速开发和可靠结果的集成方式支持整个优化建模生命周期—制定、测试、部署和维护。AMPL使用高等代数表示来描述优化模型的方式与人们对优化模型的看法相同,它可以为您提供成功实施大规模优化项目所需的先机。

 

AMPL将其建模语言与用于分析和调试的命令语言以及用于操作数据和实施优化策略的脚本语言集成在一起。全部这些都使用相同的概念来促进简化模型构建。

 

当您将优化模型嵌入应用程序并将其部署到企业系统中时,AMPL的C++、C#、Java、MATLAB、Python和RAPI可确保您拥有可靠且可维护的实现。

 

支持的平台包括 Windows、Linux、MacOS 和几个基于 Unix 的工作站。

 

【英文介绍】

 

 

The AMPL system is a sophisticated modeling tool that supports the entire optimization modeling lifecycle: development, testing, deployment, and maintenance.

 

By using a high-level representation that represents optimization models in the same ways that people think about them, AMPL promotes rapid development and reliable results.

 

AMPL integrates a modeling language for describing optimization data, variables, objectives, and constraints; a command language for browsing models and analyzing results; and a scripting language for gathering and manipulating data and for implementing iterative optimization schemes. All use the same concepts and syntax for streamlined application-building.

 

Powerful modeling language features

  • Broad support for sets and set operators. AMPL models can use sets of pairs, triples, and longer tuples; collections of sets indexed over sets; unordered, ordered, and circular sets of objects; and sets of numbers.

  • General and natural syntax for arithmetic, logical, and conditional expressions; familiar conventions for summations and other iterated operators.

  • Automatic handling of linear and convex quadratic problems in continuous and integer variables.

  • Nonlinear programming features such as initial primal and dual values, user-defined functions, fast automatic differentiation, and automatic elimination of “defined” variables.

  • Convenient alternative notations for network flows, piecewise-linearities, complementarity conditions, and logical implications.

 

Valuable modeling support features

  • Interactive command environment with batch processing options. Powerful display commands let you view any model component or expression, browsing on-screen or writing to a file, using automatic formatting or your own preferences.

  • Powerful scripting language including looping and if-then-else commands. Programs in the AMPL command language can define sophisticated iterative schemes that process input data, repeatedly adjust and solve instances of multiple models, and prepare results for analysis.

  • Separation of model and data. AMPL models remain concise even as sets and data tables grow. Models may incorporate many kinds of conditions for validity of the data.

  • Data input and output connections. Concise statements relate the model data and results to the contents of relational data tables.

 

Broad availability

  • Available solvers include the most popular and powerful optimization engines:

  • Linear and convex quadratic solvers for both continuous and mixed-integer problems (CPLEX, Gurobi, Xpress).

  • Nonlinear solvers for local solution of continuous problems (CONOPT, Ipopt, KNITRO, MINOS, SNOPT) and mixed-integer problems (Bonmin, Couenne, KNITRO).

软件分类

新闻资讯

技术文档

首页    数学软件    AMPL - 多元的建模工具

相关产品