溫馨提示:需求數(shù)量不同,價格不同。請聯(lián)系我們,確認當前新的報價!
AMPL是一個復(fù)雜的建模工具,支持整個建模周期:開發(fā)、測試、部署和維護。通過使用與人們思考優(yōu)化模型相同的方式來表示優(yōu)化模型的表示,AMPL促進了快速開發(fā)和可高的結(jié)果。
AMPL集成了用于描述優(yōu)化數(shù)據(jù)、變量、目標和約束的建模語言;用于瀏覽模型和分析結(jié)果的命令語言;以及用于收集和操作及實現(xiàn)迭代方案的腳本語言。這些都使用相同的概念和語法來簡化用于程序構(gòu)建。
建模語言功能
對集合和集合運算符的廣泛支持。AMPL模型可以使用對、三元組和更長元組的幾何;在集合上索引的幾何;無序,有序和循環(huán)的對象集;和數(shù)組。
算術(shù)、邏輯和條件表達式的通用和自然語法;求和和其他迭代運算符的熟悉約定。
自動處理連續(xù)和整數(shù)變量中的線性和凸二次問題。
非線性編程特性,例如初始原始值和對偶值、用戶定義函數(shù)、快速自動微分以及“定義”變量的自動消除。
網(wǎng)絡(luò)流、分段線性、互補條件和邏輯含義的方便替代表示法。
有價值的建模支持功能:
具有批處理選項的交互式命令環(huán)境。顯示命令可讓您查看全部模型組件或表達式,在屏幕上留言或介入文件,使用自動格式化或您自己的偏好。
腳本語言,包括循環(huán)和if-then-else命令。AMPL命令云語言中的程序可以定義復(fù)雜的迭代方案,以處理輸入數(shù)據(jù)、反復(fù)調(diào)整和解決多個模型的實例,并為分析準備結(jié)果。
模型和數(shù)據(jù)的分離。即使集合和數(shù)據(jù)表不斷增長,AMPL模型仍然保持簡潔。模型可以包含多種數(shù)據(jù)有效性的條件。
數(shù)據(jù)輸入和輸出的連接。簡潔的語句將模型數(shù)據(jù)和結(jié)果與關(guān)系數(shù)據(jù)表的內(nèi)容聯(lián)系起來。
廣泛的可用性
可用的求解器包括流行和強大的優(yōu)化引擎:
連續(xù)和混合整數(shù)問題的線性和凸二次求解器(CPLEX、Gurobi、Xpress)。
連續(xù)問題(CONOPT、Ipopt、KNITRO、MINOS、SNOPT)和混合整數(shù)問題(Bonmin、Couenne、KNITRO)的局部解的非線性求解器。
為什么選擇AMPL?
AMPL系統(tǒng)以一種促進快速開發(fā)和可靠結(jié)果的集成方式支持整個優(yōu)化建模生命周期—制定、測試、部署和維護。AMPL使用高等代數(shù)表示來描述優(yōu)化模型的方式與人們對優(yōu)化模型的看法相同,它可以為您提供成功實施大規(guī)模優(yōu)化項目所需的先機。
AMPL將其建模語言與用于分析和調(diào)試的命令語言以及用于操作數(shù)據(jù)和實施優(yōu)化策略的腳本語言集成在一起。全部這些都使用相同的概念來促進簡化模型構(gòu)建。
當您將優(yōu)化模型嵌入應(yīng)用程序并將其部署到企業(yè)系統(tǒng)中時,AMPL的C++、C#、Java、MATLAB、Python和RAPI可確保您擁有可靠且可維護的實現(xiàn)。
支持的平臺包括 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).